123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932 |
- /* ---------------------------------------------------------------------
- Cart 물품대체(SMMNP01700.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- : Create By Francis Choi
- : 2015.05.02
- ---------------------------------------------------------------------- */
- var ExCount = 0;
- var sPathTot = "/root/WorkData/codelist" ; // 전체
- var wPathNode = "/root/WorkData/codelists" ; // Save Cart Master
- var cPathNode = "/root/WorkData/MnphcagoLists"; // Save 물품 내역
- var ListPathM = "/root/MnphcagoLists" ;
- var ListPathC = "/root/CMnphcagoLists";
- var ListPathD = "/root/WorkData/DelMnphcagoLists";
- var tPathName = "/root/MnpmcartList/orddeptcd" + " " // 0 진료과
- + "/root/MnpmcartList/perfid" + " " // 1 집도의
- + "/root/MnpmcartList/opcd" + " " // 2 수술코드
- + "/root/MnpmcartList/lrgcdlist" + " " // 3 대분류
- + "/root/MnpmcartList/mdlcdlist" + " " // 4 중분류
- + "/root/MnpmcartList/smlcdlist" + " " // 5 중분류
- + "/root/MnphcagoLists/mnphcagolist" + " " // 6 물품
- + "/root/MnpmcartList/goodflaglist" ; // 7 물품분류
- var gPathName = "/root/MnphcagoLists" + " " // 0 Cart물품
- + "/root/CMnphcagoLists" ; // 1 Cart물품
- var PathClearNm = "/root/MnpmcartList/orddeptcd/codelist" + " " // 0 진료과
- + "/root/MnpmcartList/perfid/codelist" + " " // 1 집도의
- + "/root/MnpmcartList/opcd/codelist" + " " // 2 수술코드
- + "/root/MnpmcartList/lrgcdlist/codelist" + " " // 3 대분류
- + "/root/MnpmcartList/mdlcdlist/codelist" + " " // 4 중분류
- + "/root/MnphcagoLists/mnphcagolist" + " " // 5 물품
- + "/root/MnpmcartList/goodflaglist/codelist" + " " // 6 물품분류
- + "/root/main/MnpmcartData/MnpmcartList" + " " // 7 사용 Cart List
- + "/root/main/CMnpmcartData/MnpmcartList" + " " // 8 대상 Cart List
- + "/root/HistData/exedata/exedatalist" ; // 9 실행 대상 List
- var wRefreshDoc = "cmb_orddept" + " " // 0 진료과
- + "cmb_perfdr" + " " // 1 집도의
- + "cmb_opcd" + " " // 2 수술코드
- + "cmb_lrgcd" + " " // 3 대분류
- + "cmb_mdlcd" + " " // 4 중분류
- + "cmb_good" + " " // 5 물품
- + "cmb_goodflag" + " " // 6 물품분류
- + "grd_scart" + " " // 7 사용 Cart List
- + "grd_tcart" + " " // 8 대상 Cart List
- + "grd_exe" ; // 9 실행 대상 List
- var InsertMode = "I:추가" ; // 추가
- var UpdateMode = "U:대체" ; // 대체
- var DeleteMode = "D:삭제" ; // 삭제
- var tPathNode = tPathName.split(" ");
- var gPathNode = gPathName.split(" ");
- var wRefresh = wRefreshDoc.split(" ");
- var PathClear = PathClearNm.split(" ");
- /* ------------------------------------------------- */
- /* SMMNP01700_물품대체등록 */
- /* On Load 시 Call */
- /* ------------------------------------------------- */
- /* group : EMR 간호 수술마취 */
- /* ver : 2015.05.15 */
- /* by : 최학록 */
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : xforms-ready시 수행한다 */
- /* return : */
- /* --------------------------------------------------*/
- function fFormInit() {
- model.removenodeset('/root/main/RscdgoodData/RscdgoodList');//물품리스트 reset
- model.removenodeset('/root/main/MnpmcartData/MnpmcartList');//사용cartlist reset
- model.removenodeset('/root/main/CMnpmcartData/MnpmcartList');//대상caertlist reset
- model.removenodeset('/root/HistData/exedata/exedatalist');//물품 추가/대체/삭제 실행대상 reset
- model.removenodeset('/root/HistData/qrydata/qrydatalist');//물품 추가/대체/삭제 변경이력 list reset
- button56.visible = false;
- button55.visible = false;
- img1.visible = true; //변경대상 펼치기
- img2.visible = false; //변경대상 닫기
- img3.visible = true; //변경이력 펼치기
- img4.visible = false; //변경이력 닫기
- img5.visible = true; //집도의 수술명 펼치기
- img6.visible = false; //집도의 수술명 닫기
- img7.visible = true; //CART 추가/대체/삭제 물품 검색 펼치기
- img8.visible = false; //CART 추가/대체/삭제 물품 검색 닫기
- grd_scart.fixedcellcheckbox(0, grd_scart.colRef("checkyn")) = true;
- grd_tcart.fixedcellcheckbox(0, grd_tcart.colRef("checkyn")) = true;
- grd_scart.explorerbar = "sort";
- grd_tcart.explorerbar = "sort";
- grd_good.explorerbar = "sort";
- grd_exe.explorerbar = "sort";
- grd_hist.explorerbar = "sort";
- fGoodGubunData_Read(7, cmb_goodflag, 4 ); // 물품분류
- fMnpmcartData_Read( 0 , cmb_orddept); // Cart Master
- var todd = getCurrentDate();
- inp_fromdd.value = todd; // 조회 from
- inp_todd.value = todd; // 조회 to
- rdo_useflag.value = 'A';
- grd_scart.colHidden(grd_scart.colRef("goodqty")) = true;
- grd_tcart.colHidden(grd_tcart.colRef("goodqty")) = true;
-
- rdo_copyflag.value = "1";
-
- }
- /* ----------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : cart구분이 변경될 때마다 조회조건 및 라벨을 변경 */
- /* 수술선택시는 집도의로, 마취선택시는 마취의로 변경*/
- /* param : */
- /* return : */
- /* ----------------------------------------------------*/
- function fsetCartGubn(){
- //구분이 마취일때는 진료과를 마취통증의학과로 setting
- //2090000000
- model.removeNodeset("/root/main/MnpmcartData/MnpmcartList");//사용cart list 초기화
- model.removeNodeset('/root/main/CMnpmcartData/MnpmcartList');//대상 cartlist 초기화
- model.removeNodeset('/root/HistData/exedata/exedatalist');//물품추가/대체/삭제 실행대상 list 초기화
- model.removeNodeset('/root/HistData/qrydata/qrydatalist');//물품 추가/대체/삭제 변경이력 list 초기화
- var cartgubn = model.getValue('/root/WorkData/cond/cartgubn');
- var cartgubnStr;
- if(cartgubn == 'A'){//마취
- //model.setValue('/root/WorkData/cond/orddept', '2090000000');
- //cmb_orddept.disabled = true;
- //마취통증의학과의 마취의 조회
- fRemoveNode(1);
- //fRemoveNode(2);
- model.setValue("/root/WorkData/cond/perfdr" ,"");
- model.setValue("/root/WorkData/cond/opcd" ,"");
- //model.setValue("/root/WorkData/cond/qryflag", "2" );
- //fMnpmcartData_Read(1, cmb_perfdr,"/root/WorkData/cond/orddept");
- //라벨변경
- cartgubnStr = '마취의';
- }else if(cartgubn == 'O'){//수술
- cmb_orddept.disabled = false;
- //라벨변경
- cartgubnStr = '집도의';
- }
- //라벨변경
- cpt_1.text = cartgubnStr + '별 수술명 검색';
- cpt_2.text = cartgubnStr;
- grd_exe.valuematrix(1, 2) = cartgubnStr;
- grd_exe.valuematrix(1, 6) = cartgubnStr;
- grd_hist.valuematrix(1, 3) = cartgubnStr;
- grd_hist.valuematrix(1, 7) = cartgubnStr;
- model.refresh();
- }
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 콤보아이템 제거 */
- /* param : */
- /* return : */
- /* --------------------------------------------------*/
- function removeComboItem( comboID ) {
- var comboObj = document.all.item(comboID);
- var comboItemNodeSet = comboObj.choices.itemset.attribute("nodeset");
- model.removenode(comboItemNodeSet + "[1]");
- model.refresh();
- }
- /* ------------------------------------------------- */
- /* SMMNP01700_물품등록 */
- /* On Load 시 Call */
- /* ------------------------------------------------- */
- /* group : EMR 간호 수술마취 */
- /* ver : 2015.05.15 */
- /* by : 최학록 */
- /* ------------------------------------------------- */
- /* SMMNP01700_Case Cart 물품 */
- /* On Load 시 Call */
- /* desc :Case Cart MASTER 정보 가져오기 */
- /* --------------------------------------------------*/
- function fMnpmcartData_Read(pIdx, pId, pDept, pDr ,pCcrtno ) {
- model.removenode("/root/send");
- model.makeValue("/root/send/orddeptcd" , model.getValue(pDept ) ); // 진료과
- model.makeValue("/root/send/perfid" , model.getValue(pDr ) ); // 집도의
- model.makeValue("/root/send/ccrtno" , model.getValue(pCcrtno) ); // CaseCart 번호
- model.makeValue("/root/send/useflag" , model.getValue("/root/WorkData/cond/useflag")); // 사용여부
- model.makeValue("/root/send/qryflag" , model.getValue("/root/WorkData/cond/qryflag" )); // Query 구분 1:진료과,2:집도의,2:CART 코드
- model.makeValue("/root/send/cartgubn" , model.getValue("/root/WorkData/cond/cartgubn" )); // cart 구분 O: 수술, A: 마취
- model.removenode(PathClear[pIdx]);
- submit("TRMNP01601"); // Cart MASTER 정보를 가져온다.
- model.copyNode(tPathNode[pIdx], wPathNode);
- if( pIdx == 2 ) return;
- addComboItem(wRefresh[pIdx], "전 체", "", "above" );
- model.removenode(wPathNode);
- //pId.refresh();
- }
- /* ------------------------------------------------- */
- /* SMMNP01700_물품등록 */
- /* ------------------------------------------------- */
- /* group : EMR 간호 수술마취 */
- /* ver : 2009.01.19 */
- /* by : 김진명 */
- /* ------------------------------------------------- */
- /* desc : 집도과, 집도의별 카트리스트 조회 */
- /* --------------------------------------------------*/
- function fSearchCartList() {
- model.removenode("/root/send");
- model.makeValue("/root/send/orddeptcd" , model.getValue("/root/WorkData/cond/orddept")); // 진료과
- model.makeValue("/root/send/perfid" , model.getValue("/root/WorkData/cond/perfdr")); // 집도의
- model.makeValue("/root/send/useflag" , "Y"); // 사용여부
- model.makeValue("/root/send/cartgubn" , model.getValue("/root/WorkData/cond/cartgubn" )); // cart 구분 O: 수술, A: 마취
- model.makeValue("/root/send/goodcd" , model.getValue("/root/WorkData/cond/goodcd" )); // cart 구분 O: 수술, A: 마취
- model.makeValue("/root/send/allsizespecid" , model.getValue("/root/WorkData/cond/sizecd" )); // cart 구분 O: 수술, A: 마취
- submit("TRMNP01704");
- }
- // -------------------------------------------------
- // SMMNP01700_물품 분류 READ
- // --------------------------------------------------
- function fGoodGubunData_Read(pIdx, pId, pRead, pGoodFlag, pLrgCd, pMdlCd) {
- model.removenode("/root/send");
- model.makeValue("/root/send/lrgcd" , model.getValue(pLrgCd )); //대분류
- model.makeValue("/root/send/mdlcd" , model.getValue(pMdlCd )); //중분류
- model.makeValue("/root/send/goodflag", model.getValue(pGoodFlag)); //물품구분
- model.makeValue("/root/send/refnm" , "" ); //검색어
- model.makeValue("/root/send/refflag" , "0" ); //검색구분
- model.makeValue("/root/send/readcls" , pRead ); //검색Table
- submit("TRMNP01700"); // 물품분류 정보를 가져온다.
- // model.duplicate(wPathNode , sPathTot);
- model.copyNode(tPathNode[pIdx], wPathNode);
- if (pIdx < 7) {
- addComboItem(wRefresh[pIdx], "전 체", "", "above" );
- }
- // alert(wPathNode);
- model.removenode(wPathNode);
- pId.refresh();
- }
- // -------------------------------------------------
- // SMMNP01700_변경이력 READ
- // --------------------------------------------------
- function fCGHSData_Read() {
- model.removenode("/root/send");
- model.makeValue("/root/send/fromudd" , inp_fromdd.value ); //의뢰일자 from
- model.makeValue("/root/send/toudd" , inp_todd.value ); //의뢰일자 to
- model.makeValue("/root/send/updgbn" , rdo_useflag.value ); //변경구분
- submit("TRMNP01703"); // 물품분류 정보를 가져온다.
- // cmb_goodflag.focusIndex = 0;
- //addComboItem(wRefresh[pIdx], "전 체", "", "above" );
- }
- // -------------------------------------------------
- // SMMNP01700_물품 정보 READ
- // --------------------------------------------------
- function fRscdgoodData_Read() {
- xPath = "/root/WorkData/cond";
- if( model.getValue(xPath+"/goodcd") == "" ) {//물품코드
- if( model.getValue(xPath+"/goodnm") == "" ) {
- if( model.getValue(xPath+"/goodflag")== "" ){
- messageBox(" 물품 구분은 " , "I003"); // 물품구분
- return;
- }else if( model.getValue(xPath+"/lrgcd" )== "" ){
- messageBox(" 대분류 코드는 ", "I003"); // 대분류코드
- return;
- }else if( model.getValue(xPath+"/mdlcd" )== "" ){
- messageBox(" 중분류 코드는 ", "I003"); // 중분류코드
- return;
- }
- }
- }
- model.removenode("/root/send");
- model.makeValue("/root/send/lrgcd" , model.getValue(xPath+"/lrgcd" )); // 대분류코
- model.makeValue("/root/send/mdlcd" , model.getValue(xPath+"/mdlcd" )); // 중분류코
- model.makeValue("/root/send/smlcd" , model.getValue(xPath+"/smlcd" )); // 중분류코
- model.makeValue("/root/send/goodcd" , model.getValue(xPath+"/goodcd" )); // 물품코드
- model.makeValue("/root/send/cartgubn" , model.getValue(xPath+"/cartgubn" )); // CARTGUBN
- model.makeValue("/root/send/goodflag", model.getValue(xPath+"/goodflag")); // 물품구분
- submit("TRMNP01701"); // 물품 정보를 가져온다.
- fRemoveNode(7); // 사용 Cart 리스트 초기화
- fRemoveNode(8); // 대상 리스트 초기화
- }
- // -------------------------------------------------
- // POPUP 물품 정보
- // --------------------------------------------------
- function fPopupGood(pPath, pGood, pGoodNm, pSizeCd, menuparam) {
- var refflag = model.getValue("/root/temp/refflag");
- setParameter("openflag", "STOC");
- if( refflag == "1" ) { /*물품명으로 검색*/
- setParameter("refnm", model.getValue("/root/main/cond/goodnm"));
- setParameter("refflag", "1");
- }else if( refflag == "2" ) { /*물품코드으로 검색*/
- setParameter("refnm", "CCR");
- setParameter("refflag", "2");
- }
- setParameter("tabflag", "CCR");
- setParameter("menuparam", menuparam);
- setParameter("cartgubn", model.getValue("/root/WorkData/cond/cartgubn"));
- modal("SMMNP04460" ,"", "100", "100", "SMMNP04460", "", "");
- var getData = model.getValue("/root/properties/parameters/SendData/SendDatavalue");
- if( getData == "") {
- return;
- }else {
- var getDataTemp1 = getData.split("▩");
- var getData = model.getValue("/root/properties/parameters/SendData/SendDatavalue");
- var getDataTemp = getData.split("|");
- model.setValue(pPath + "/goodcd" , getDataTemp[0]);
- model.setValue(pPath + "/goodnm" , getDataTemp[1]);
- model.setValue(pPath + "/sizecd" , getDataTemp[2]);
- model.setValue(pPath + "/goodspec" , getDataTemp[5]);
- model.setValue(pPath + "/goodmodel" , getDataTemp[6]);
- model.setValue("/root/WorkData/InputGood/goodqty", 0);
-
-
- if( model.getValue(pPath + "/goodcls") == "" ) {
- model.setValue(pPath + "/goodcls" , getDataTemp[4]);
- }
- pGood.refresh();
- pGoodNm.refresh();
- pSizeCd.refresh();
- inp_goodqty.refresh();
- }
- if( menuparam == "M" ) {//메인 물품 조회시만
- fRscdgoodData_Read();
- }
- }
- // -------------------------------------------------
- // SMMNP01700_사용 Cart List
- // --------------------------------------------------
- function fUseCartData_Read() {
- if(grd_good.row < 1){
- messageBox(" 물품정보를 " , "C002"); // 물품구분
- return;
- }else if(model.getValue("/root/main/RscdgoodData/RscdgoodList["+grd_good.row+"]/goodcd")==""){
- messageBox(" 물품정보를 " , "C002"); // 물품코드
- return;
- }
- model.removenode("/root/send");
- model.makeValue("/root/send/orddeptcd" , model.getValue("/root/WorkData/cond/orddept" )); // 진료과코드
- model.makeValue("/root/send/perfid" , model.getValue("/root/WorkData/cond/perfdr" )); // 집도의ID
- model.makeValue("/root/send/opcd" , model.getValue("/root/WorkData/cond/opcd" )); // 수술코드
- model.makeValue("/root/send/goodcd" , model.getValue("/root/main/RscdgoodData/RscdgoodList["+grd_good.row+"]/goodcd" )); // 물품코드
- model.makeValue("/root/send/allsizespecid" , model.getValue("/root/main/RscdgoodData/RscdgoodList["+grd_good.row+"]/allsizespecid" )); // SIZE
- submit("TRMNP01702"); // 물품 정보를 가져온다.
- fRemoveNode(8); // 물품 추가/대체/삭제 대상 리스트 초기화
- fRemoveNode(9); // 물품 추가/대체/삭제 실행대상 리스트 초기화
-
- if(grd_good.row > 0) {
- grd_scart.colHidden(grd_scart.colRef("goodqty")) = false;
- grd_tcart.colHidden(grd_tcart.colRef("goodqty")) = false;
- } else {
- grd_scart.colHidden(grd_scart.colRef("goodqty")) = true;
- grd_tcart.colHidden(grd_tcart.colRef("goodqty")) = true;
- }
- }
- // -------------------------------------------------
- // SMMNP01700_대상 Cart List를 실행대상으로 Move
- // --------------------------------------------------
- function fMove(pFlag,pSNode,pTNode) {
- //--------------- 1. 대상 Cart List를 실행대상 List로 이동
- if(grd_tcart.rows < 1 ) return;
- var goodrow = grd_good.selectedrow(0);
- var oldgoodcd = model.getValue("/root/main/RscdgoodData/RscdgoodList["+goodrow+"]/goodcd");
- var oldgoodhngnm = model.getValue("/root/main/RscdgoodData/RscdgoodList["+goodrow+"]/goodhngnm");
- var oldgoodspec = model.getValue("/root/main/RscdgoodData/RscdgoodList["+goodrow+"]/goodspec");
- var oldgoodmodel = model.getValue("/root/main/RscdgoodData/RscdgoodList["+goodrow+"]/goodmodel");
- var oldallsizespecid = model.getValue("/root/main/RscdgoodData/RscdgoodList["+goodrow+"]/allsizespecid");
- var newgoodhngnm = model.getValue("/root/WorkData/InputGood/goodnm");
- var newgoodspec = model.getValue("/root/WorkData/InputGood/goodspec");
- var newgoodmodel = model.getValue("/root/WorkData/InputGood/goodmodel");
- var newgoodcd = model.getValue("/root/WorkData/InputGood/goodcd");
- var newallsizespcid = model.getValue("/root/WorkData/InputGood/sizecd");
- var fromdd = model.getValue("/root/WorkData/InputGood/usedate");
- var goodcls = model.getValue("/root/WorkData/InputGood/goodcls");
- var arrFlag = pFlag.split(":");//저장 상태값(I:추가, U:대체, D:삭제)
-
- var goodqty = model.getValue("/root/WorkData/InputGood/goodqty");
-
- if( goodcls == "" ) {
- //goodcls = model.getValue("/root/main/RscdgoodData/RscdgoodList/goodcls");
- messageBox("물품 구분값이 없습니다. 물품을 다시 조회하십시오!", "I000");
- return;
- }
-
- if( arrFlag[0] == "I" ) {//추가일 경우 이전 정보 초기화
- if( (oldgoodcd == newgoodcd)&&(oldallsizespecid == newallsizespcid) ) {//추가일경우 이전 물품코드가 같을 경우 추가 할수 없음
- messageBox("추가하실 물품을 조회해 주십시요!", "I000");
- return;
- }
- oldgoodhngnm = "";
- oldgoodcd = "";
- oldallsizespecid = "";
- oldgoodspec = "";
- oldgoodmodel = "";
-
- if(goodqty == "" || goodqty == "0") {
- messageBox("추가할 물품의 수량을 입력하십시오. ", "E");
- return;
- }
- }
- var oldgoodname = oldgoodhngnm + "( " + oldgoodspec + ", " + oldgoodmodel + ")";
- if( (oldgoodhngnm == "")&&(oldgoodspec == "")&&(oldgoodmodel == "") ) {//물품추가의 경우 빈값 셋팅
- oldgoodname = "";
- }
- var newgoodname = newgoodhngnm + "( " + newgoodspec + ", " + newgoodmodel + ")";
- if( (arrFlag[0] == "U")||(arrFlag[0] == "D") ) {
- if( oldgoodcd == "" ) {
- messageBox("물품대체나 물품삭제는 대상 물품을 선택하십시오!", "I000");
- return;
- }
- }
- model.setValue("/root/HistData/cond/updgbn", arrFlag[0]);
- for (var i = 1; i < grd_tcart.rows; i++) {
- var pernm = model.getValue(pSNode+"["+ i +"]/usernm");
- var wCheckYn = model.getValue(pSNode+"["+ i +"]/checkyn");
- if (wCheckYn == "true") {
- grd_exe.addRow(false);
- var j = grd_exe.rows - grd_exe.fixedRows ;
- model.setValue(pTNode+"["+j+"]/recstat" , arrFlag[0]); // 변경구분
- model.setValue(pTNode+"["+j+"]/updflagnm" , arrFlag[1]); // 변경구분명
- model.setValue(pTNode+"["+j+"]/deptabbr" , model.getValue(pSNode+"["+i+"]/deptabbr")); // 집도과
- model.setValue(pTNode+"["+j+"]/perfnm" , model.getValue(pSNode+"["+i+"]/perfnm")); // 집도의
- model.setValue(pTNode+"["+j+"]/opkname" , model.getValue(pSNode+"["+i+"]/opkname")); // 수술명
- model.setValue(pTNode+"["+j+"]/bfgoodnm" , oldgoodname); // 변경전 물품명(규격,모델)
- if( arrFlag[0] == "I" ) {//추가일 경우 이전 정보 초기화
- model.setValue(pTNode+"["+j+"]/bfqty" , ""); // 변경전 수량
- }else {
- model.setValue(pTNode+"["+j+"]/bfqty" , model.getValue(pSNode+"["+i+"]/goodqty")); // 변경전 수량
- }
- model.setValue(pTNode+"["+j+"]/bfgoodcd" , oldgoodcd); // 변경전 물품코드
- model.setValue(pTNode+"["+j+"]/bfallsizespecid" , oldallsizespecid); // 변경전 allsize규격ID
- model.setValue(pTNode+"["+j+"]/ccrtno" , model.getValue(pSNode+"["+i+"]/ccrtno")); // CaseCart번호
- model.setValue(pTNode+"["+j+"]/cartgoodseq" , model.getValue(pSNode+"["+i+"]/cartgoodseq")); // Cart순번
- model.setValue(pTNode+"["+j+"]/fromdd" , fromdd); // 적용일자
- model.setValue(pTNode+"["+j+"]/goodcls" , goodcls); // 적용일자
- if (pFlag==InsertMode||pFlag==UpdateMode){
- model.setValue(pTNode+"["+j+"]/afgoodnm" , newgoodname); // 변경후 물품명(규격,모델)
- //if( pFlag == UpdateMode ) {
- //if( model.getValue("/root/WorkData/InputGood/goodqty") == "0" ) {
- // model.setValue(pTNode+"["+j+"]/afqty" , model.getValue(pSNode+"["+i+"]/goodqty")); // 대체 물품 수량이 0이면 기존 수량 그래로
- //}else {
- if(model.getValue("/root/WorkData/InputGood/copyflag") == "1") {
- model.setValue(pTNode+"["+j+"]/afqty" , model.getValue("/root/WorkData/InputGood/goodqty")); // 변경후 수량
- } else {
- model.setValue(pTNode+"["+j+"]/afqty" , model.getValue(pSNode+"["+i+"]/goodqty")); // 변경후 수량
-
- }
- //}
- // }
- model.setValue(pTNode+"["+j+"]/afgoodcd" , model.getValue("/root/WorkData/InputGood/goodcd")); // 변경후 물품코드
- model.setValue(pTNode+"["+j+"]/afallsizespecid" , model.getValue("/root/WorkData/InputGood/sizecd")); // 변경후 allsize규격ID
- }
- }
- }
- //--------------- 2. 대상 Cart List 내용 중 이동된 Cart 삭제
- //fRemoveNode(7);
- fRemoveCart(1, grd_tcart.rows, "/root/main/CMnpmcartData");
- model.refresh();
- }
- // -------------------------------------------------
- // SMMNP01700_물품 선택
- // --------------------------------------------------
- function fSelectGood() {
- if(grd_good.row < 1 ) return;
- if(model.getValue("/root/main/RscdgoodData/RscdgoodList["+grd_good.row+"]/goodcd")=='') return;
- model.setValue("/root/WorkData/InputGood/goodcd" ,model.getValue("/root/main/RscdgoodData/RscdgoodList["+grd_good.row+"]/goodcd"));
- model.setValue("/root/WorkData/InputGood/goodnm" ,model.getValue("/root/main/RscdgoodData/RscdgoodList["+grd_good.row+"]/goodhngnm"));
- model.setValue("/root/WorkData/InputGood/sizecd" ,model.getValue("/root/main/RscdgoodData/RscdgoodList["+grd_good.row+"]/sizecd"));
- model.setValue("/root/WorkData/InputGood/allsizespecid" ,model.getValue("/root/main/RscdgoodData/RscdgoodList["+grd_good.row+"]/allsizespecid"));
- model.setValue("/root/WorkData/InputGood/goodspec" ,model.getValue("/root/main/RscdgoodData/RscdgoodList["+grd_good.row+"]/goodspec"));
- model.setValue("/root/WorkData/InputGood/goodmodel" ,model.getValue("/root/main/RscdgoodData/RscdgoodList["+grd_good.row+"]/goodmodel"));
- model.setValue("/root/WorkData/InputGood/goodcls" ,model.getValue("/root/main/RscdgoodData/RscdgoodList["+grd_good.row+"]/goodcls"));
- model.setValue("/root/WorkData/InputGood/goodqty" ,"0");
- model.setValue("/root/WorkData/InputGood/usedate" ,getCurrentDate() );
- model.setValue("/root/WorkData/cond/sizecd" ,model.getValue("/root/main/RscdgoodData/RscdgoodList["+grd_good.row+"]/allsizespecid"));
- model.setValue("/root/WorkData/cond/goodnm" ,model.getValue("/root/main/RscdgoodData/RscdgoodList["+grd_good.row+"]/goodhngnm"));
- model.setValue("/root/WorkData/cond/goodcd" ,model.getValue("/root/main/RscdgoodData/RscdgoodList["+grd_good.row+"]/goodcd"));
-
- grd_scart.colHidden(grd_scart.colRef("goodqty")) = false;
- grd_tcart.colHidden(grd_tcart.colRef("goodqty")) = false;
-
- grp_good.refresh();
- }
- function fMnphcagoRead(pIdx, pId, pCcrtno, pCartGoodseq ) {
- model.removenode("/root/send");
- model.makeValue("/root/send/ccrtno" , pCcrtno ); // CaseCart 번호
- model.makeValue("/root/send/cartgoodseq" , pCartGoodseq ); // Cart물품순번
- model.makeValue("/root/send/instcd" , model.getValue("/root/WorkData/cond/instcd" )); // 기관코드
- submit("TRMNP01602"); // Cart MASTER 정보를 가져온다.
- model.copyNode(gPathNode[pIdx] , cPathNode);
- pId.refresh();
- }
- // Grid 선택 / 취소
- function fGridCheckToggle(pGrid, pGridNode, pCheck, pValue){
- var wValue = "";
- // 그리드 이벤트가 발생하면 그리드에서 선택된 로우들의 index를 받아옴
- var iRow = pGrid.row; // Grid의 첫 선택 Row
- var sRow = pGrid.selectedRows; // 선택 Grid 수
- var eRow = pGrid.selectedRow(0); // Grid의 첫 선택 Row
- var tRow = pGrid.rows; // Grid의 전체수
- if (instance1.selectSingleNode(pGridNode).childNodes.length == 0) return;
- if (event.ctrlKey == 1) { // ctrlKey 를 누르고 row 선택시 각 그리드의 상태값 변경
- wValue = model.getValue(pGridNode+"/MnpmcartList["+pGrid.row+"]/"+pCheck );
- model.setValue(pGridNode+"/MnpmcartList["+pGrid.row+"]/"+pCheck,((wValue == pValue) ? "" : pValue));
- }
- else if (event.shiftKey == 1) { // shiftKey를 누르고 처음위치와 마지막 위치를 선택하면 선택된 row의 상태값이 변경
- fGridCheckClear(pGridNode,tRow, pCheck);
- if (iRow == eRow){
- fGridCheckSetting(pGridNode, iRow, iRow+sRow,pCheck, pValue);
- } else{
- fGridCheckSetting(pGridNode, eRow, iRow ,pCheck, pValue);
- }
- } else { // 마우스를 클릭한 상태에서 드래하면 처음 위치부터 마지막 위치까지 선택된 row의 상태값이 변경
- fGridCheckClear(pGridNode,tRow, pCheck);
- if (sRow == "1"){
- wValue = model.getValue(pGridNode+"/MnpmcartList["+pGrid.row+"]/"+pCheck );
- model.setValue(pGridNode+"/MnpmcartList["+pGrid.row+"]/"+pCheck ,((wValue == pValue) ? "" : pValue));
- } else {
- if (iRow == eRow){
- fGridCheckSetting(pGridNode, iRow, iRow+sRow-1, pCheck, pValue);
- }else{
- fGridCheckSetting(pGridNode, eRow, iRow , pCheck, pValue);
- }
- }
- }
- pGrid.refresh();
- }
- // Grid 전 선택값을 Clear 한다.
- function fGridCheckClear(pGNode, pRow, pCheck){
- // alert( pGNode);
- for(ii=1 ; ii < pRow ; ii++){
- model.setValue(pGNode+"/MnpmcartList["+ii+"]/"+pCheck , "");
- }
- }
- // Grid 전선택값을 Settting 한다.
- function fGridCheckSetting(pGNode, pSRow, pERow, pCheck, pVal){
- for (j = pSRow ; j <= pERow ; j++) {
- model.setValue(pGNode+"/MnpmcartList["+j+"]/"+pCheck , pVal);
- }
- }
- // 물품 추가 Check
- function fCopyCartData(pGrid, pSNode, pTNode, pCls){
- var frRow = 1;
- var toRow = parseInt(getNodesetCount("/root/main/MnpmcartData/MnpmcartList"));
- if (frRow < 1) return;
- if (toRow < 1) return;
- var wCheckYn = "";
- for( var iRow = 1; iRow <= toRow; iRow++) {
- wCheckYn = model.getValue("/root/main/MnpmcartData/MnpmcartList["+ iRow +"]/checkyn");
- if (wCheckYn == "true") {
- model.duplicate(pTNode, "/root/main/MnpmcartData/MnpmcartList["+ iRow +"]");
- }
- }
- for( var iRow = toRow; iRow >= 1; iRow--) {
- wCheckYn = model.getValue("/root/main/MnpmcartData/MnpmcartList["+ iRow +"]/checkyn");
- if (wCheckYn == "true") {
- model.removenode("/root/main/MnpmcartData/MnpmcartList["+ iRow +"]");
- }
- }
- //fRemoveCart(frRow, toRow, pSNode);
- grd_scart.refresh();
- grd_tcart.refresh();
- }
- //
- // 물품 삭제
- //
- function fRemoveCart(pFIdx, pTIdx, pRNode){
- var wCnt = 1 ;
- var wIdx = pFIdx;
- while ( wCnt < pTIdx){
- if (model.getValue(pRNode+ "/MnpmcartList["+ wIdx +"]/checkyn") == "Y") {
- model.removeNodeset(pRNode + "/MnpmcartList["+ wIdx +"]");
- } else {
- wIdx++;
- }
- wCnt++;
- }
- }
- function fRemoveNode(pIdx){
- model.removeNodeset(PathClear[pIdx]);
- eval(wRefresh[pIdx]).refresh();
- }
- // 물품 복사
- function fNodeDuplicate(pIdx, pStat, pCcrtno, sPath, tPath){
- model.setValue(sPath + "/mnphcagolist["+pIdx+"]/ccrtno" , pCcrtno);
- model.setValue(sPath + "/mnphcagolist["+pIdx+"]/recstat", pStat );
- model.duplicate(tPath, sPath+"/mnphcagolist["+pIdx+"]");
- }
- //
- // 물품 삭제
- //
- function fDeleteGood(){
- var sIdx = grd_good.row;
- if (sIdx < 1) {
- return;
- }
- var wCcrtNo = model.getValue("/root/WorkData/scond/ccrtno");
- fNodeDuplicate(sIdx, "D", wCcrtNo, ListPathM, ListPathD);
- model.removeNodeset(ListPathM + "/mnphcagolist["+sIdx+"]");
- grd_good.deleteRow(sIdx);
- }
- // 물품 UPDATE
- function fUpdateGood(){
- var sIdx = grd_good.row;
- if (sIdx < 1) {
- return;
- }
- model.setValue(ListPathM + "/mnphcagolist["+sIdx+"]/goodqty",model.getValue("/root/WorkData/InputGood/goodqty"));
- if (model.getValue("/root/WorkData/InputGood/recstat") == "N") {
- model.setValue(ListPathM + "/mnphcagolist["+sIdx+"]/recstat", "U");
- }
- grd_good.refresh();
- grd_good.row = sIdx;
- }
- //
- // 물품 중복 Check
- //
- function fCheckCode(pGood){
- var GoodCd = "";
- var GoodChk = true;
- var xNode = instance1.selectSingleNode(ListPathM);
- var nLen = xNode.childNodes.length;
- for (i = 1; i <= nLen; i++) {
- GoodCd = model.getValue(ListPathM + "/mnphcagolist["+i+"]/goodcd");
- if (pGood == GoodCd) {
- GoodChk = false ;
- break;
- }
- }
- return GoodChk;
- }
- function fOpCodePopup() {
- var xpos = event.screenX;
- var ypos = event.screenY-300;
- modal("SMMNP04460", 1, xpos, ypos);
- var iProperties = getParameter("SendData");
- var iSplit_Value = iProperties.split("|");
- if (iSplit_Value.length > 0) {
- model.setValue("/root/WorkData/InputGood/goodengnm", iSplit_Value[3]);
- model.setValue("/root/WorkData/InputGood/makernm" , iSplit_Value[6]);
- model.setValue("/root/WorkData/InputGood/sizecd" , iSplit_Value[4]);
- model.setValue("/root/WorkData/InputGood/goodcd" , iSplit_Value[0]);
- }
- }
- //
- // 물품수량 조절
- //
- function fPrevNext(flag){
- var curval = eval(inp_goodqty.value);
- if(flag=='P'&& curval >= 1.0 ){
- inp_goodqty.value = eval(inp_goodqty.value) - 1.0;
- }else if(flag=='N' && curval < 99999.0){
- inp_goodqty.value = eval(inp_goodqty.value) + 1.0;
- }
- }
- //
- // Cart 물품 저장
- //
- function fSave(){
- if(model.getValue("/root/HistData/exedata/exedatalist[1]/updflagnm")=="") return;
- model.removenode("/root/send");
- var SaveData = "ccrtno" // 1 CaseCart 번호
- + "▦cartgoodseq" // 2 Cart물품순번
- + "▦afgoodcd" // 4 물품코드
- + "▦afallsizespecid" // 5 Size코드
- + "▦bfgoodcd" // 5 Size코드
- + "▦bfallsizespecid" // 5 Size코드
- + "▦afqty" // 6 물품수량
- + "▦goodcls" // 6 물품구분
- + "▦recstat" // 9 저장상태
- + "▦fromdd" // 8 적용일자
- + "▦cartgubn"
- + "▩" ; // 10 Record(Row) 분리기호
- // var SendData = "ccrtno" + "▦" + "recstat" + "▩";
- ExCount = 0;
- SaveData += fDataConstruct("/root/HistData/exedata");
- // SendData += fSendDataConstruct("/root/HistData/exedata");
- model.makeValue("/root/send/mnphcagolist",SaveData);
- //model.makeValue("/root/send/senddata",SendData);
- if (ExCount > 0) {
- submit("TXMNP01700");
- fUseCartData_Read();
- }
- // 변경실행후 변경이력리스트 조회 (검색조건의 의뢰일자가 당일을 포함하는 경우)
- var today = getCurrentDate() ;
- if(inp_fromdd.value<=today&&today<=inp_todd.value){
- fCGHSData_Read(); //Cart 물품 이력조회
- }
- fRemoveNode(8); // 대상 Cart List
- fRemoveNode(9); // 실행 대상 List
- }
- function fDataConstruct(pPath) {
- var sData = "";
- var sCond = "";
- var xNode = instance1.selectSingleNode(pPath);
- var nLen = xNode.childNodes.length;
- var sCcrtno = "" ; // 1 CaseCart 번호
- var sCartgoodseq = "" ; // 2 Cart물품순번
- var sGoodcd = "" ; // 4 물품코드
- var sSizecd = "" ; // 5 Size코드
- var sOldGoodcd = "";
- var sOldAllsizespecid = "";
- var sGoodqty = "" ; // 6 물품수량
- var sGoodcls = "";
- var sPayflagcd = "" ; // 7 급여구분
- var sFromdd = "" ; // 8 적용일자
- var sRecstat = "" ; // 9 저장상태
- var sCartGubn = model.getValue("/root/WorkData/cond/cartgubn") ;
- for (i = 1; i <= nLen; i++) {
- sCcrtno = model.getValue(pPath + "/exedatalist["+i+"]/ccrtno" );
- sCartgoodseq = model.getValue(pPath + "/exedatalist["+i+"]/cartgoodseq" );
- sGoodcd = model.getValue(pPath + "/exedatalist["+i+"]/afgoodcd");
- sSizecd = model.getValue(pPath + "/exedatalist["+i+"]/afallsizespecid");
- sGoodqty = model.getValue(pPath + "/exedatalist["+i+"]/afqty" );
- sOldGoodcd = model.getValue(pPath + "/exedatalist["+i+"]/bfgoodcd");
- sOldAllsizespecid = model.getValue(pPath + "/exedatalist["+i+"]/bfallsizespecid");
- sGoodcls = model.getValue(pPath + "/exedatalist["+i+"]/goodcls");
- sFromdd = model.getValue(pPath + "/exedatalist["+i+"]/fromdd");
- sRecstat = model.getValue(pPath + "/exedatalist["+i+"]/recstat");
-
- sData += sCcrtno + "▦" // 1 CaseCart 번호
- + sCartgoodseq + "▦" // 2 Cart물품순번
- + sGoodcd + "▦" // 4 물품코드
- + sSizecd + "▦" // 5 Size코드
- + sOldGoodcd + "▦" // 4 물품코드
- + sOldAllsizespecid + "▦" // 5 Size코드
- + sGoodqty + "▦" // 6 물품수량
- + sGoodcls + "▦" // 7
- + sRecstat + "▦" // 8 저장상태
- + sFromdd + "▦" // 9 적용일자
- + sCartGubn + "▩"; // 10 수술마취구분
- ExCount++;
- }
- return sData;
- }
- /* ------------------------------------------------- */
- /* desc : 수술명 추가 */
- /* param : */
- /* */
- /* return : */
- /* -------------------------------------------------- */
- function fAddUseCartList() {
- model.removenode("/root/send");
- model.makeValue("/root/send/orddeptcd", model.getValue("/root/WorkData/cond/orddept"));
- model.makeValue("/root/send/perfid", model.getValue("/root/WorkData/cond/perfdr"));
- model.makeValue("/root/send/opcd", model.getValue("/root/WorkData/cond/opcd"));
- model.makeValue("/root/send/opnm", model.getValue("/root/WorkData/cond/opnm"));
- submit("TRMNP01704");
-
-
- grd_scart.colHidden(grd_scart.colRef("goodqty")) = true;
- grd_tcart.colHidden(grd_tcart.colRef("goodqty")) = true;
-
-
- }
- /* ------------------------------------------------- */
- /* ------End Of List ------------------------------- */
- /* -------------------------------------------------- */
|