12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/* ---------------------------------------------------------------------
- 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 = "ds_WorkData_codelists_codelist" ; // Save Cart Master
- var cPathNode = "/root/WorkData/MnphcagoLists"; // Save 물품 내역
- var ListPathM = "/root/MnphcagoLists" ;
- var ListPathC = "/root/CMnphcagoLists";
- var ListPathD = "/root/WorkData/DelMnphcagoLists";
- var tPathName = "ds_MnpmcartList_orddeptcd_codelist" + " " // 0 진료과
- + "ds_MnpmcartList_perfid_codelist" + " " // 1 집도의
- + "/root/MnpmcartList/opcd" + " " // 2 수술코드
- + "/root/MnpmcartList/lrgcdlist" + " " // 3 대분류
- + "/root/MnpmcartList/mdlcdlist" + " " // 4 중분류
- + "/root/MnpmcartList/smlcdlist" + " " // 5 중분류
- + "/root/MnphcagoLists/mnphcagolist" + " " // 6 물품
- + "ds_MnpmcartList_goodflaglist_codelist" ; // 7 물품분류
- var gPathName = "/root/MnphcagoLists" + " " // 0 Cart물품
- + "/root/CMnphcagoLists" ; // 1 Cart물품
- var PathClearNm = "ds_MnpmcartList_orddeptcd_codelist" + " " // 0 진료과
- + "ds_MnpmcartList_perfid_codelist" + " " // 1 집도의
- + "/root/MnpmcartList/opcd/codelist" + " " // 2 수술코드
- + "/root/MnpmcartList/lrgcdlist/codelist" + " " // 3 대분류
- + "/root/MnpmcartList/mdlcdlist/codelist" + " " // 4 중분류
- + "/root/MnphcagoLists/mnphcagolist" + " " // 5 물품
- + "ds_MnpmcartList_goodflaglist_codelist" + " " // 6 물품분류
- + "ds_main_MnpmcartData_MnpmcartList" + " " // 7 사용 Cart List
- + "ds_main_CMnpmcartData_MnpmcartList" + " " // 8 대상 Cart List
- + "ds_HistData_exedata_exedatalist" ; // 9 실행 대상 List
- var wRefreshDoc = "group3.cmb_orddept" + " " // 0 진료과
- + "group3.cmb_perfdr" + " " // 1 집도의
- + "cmb_opcd" + " " // 2 수술코드
- + "group3.grp_sea.cmb_lrgcd" + " " // 3 대분류
- + "group3.grp_sea.cmb_mdlcd" + " " // 4 중분류
- + "cmb_good" + " " // 5 물품
- + "group3.grp_sea.cmb_goodflag" + " " // 6 물품분류
- + "group3.grd_scart" + " " // 7 사용 Cart List
- + "group3.grd_tcart" + " " // 8 대상 Cart List
- + "group3.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() {
-
- ds_main_RscdgoodData_RscdgoodList.clearData();//물품리스트 reset
-
- ds_main_MnpmcartData_MnpmcartList.clearData();//사용cartlist reset
- ds_main_CMnpmcartData_MnpmcartList.clearData();//대상caertlist reset
- ds_HistData_exedata_exedatalist.clearData();//물품 추가/대체/삭제 실행대상 reset
- ds_HistData_qrydata_qrydatalist.clearData();//물품 추가/대체/삭제 변경이력 list reset
- group3.button56.visible = false;
- group3.button55.visible = false;
- group3.img1.visible = true; //변경대상 펼치기
- group3.img2.visible = false; //변경대상 닫기
- group3.group1.img3.visible = true; //변경이력 펼치기
- group3.group1.img4.visible = false; //변경이력 닫기
- group3.img5.visible = true; //집도의 수술명 펼치기
- group3.img6.visible = false; //집도의 수술명 닫기
- group3.img7.visible = true; //CART 추가/대체/삭제 물품 검색 펼치기
- group3.img8.visible = false; //CART 추가/대체/삭제 물품 검색 닫기
- fGoodGubunData_Read(7, group3.grp_sea.cmb_goodflag, 4 ); // 물품분류
- fMnpmcartData_Read( 0 , group3.cmb_orddept); // Cart Master
- var todd = utlf_getCurrentDate();
- group3.group1.inp_fromdd.value = todd; // 조회 from
- group3.group1.inp_todd.value = todd; // 조회 to
- group3.group1.rdo_useflag.value = 'A';
-
- group3.grd_scart.setRealColSize(group3.grd_scart.getBindCellIndex("body", "goodqty"), 0);
- group3.grd_tcart.setRealColSize(group3.grd_scart.getBindCellIndex("body", "goodqty"), 0);
- group3.rdo_copyflag.value = "1";
-
- }
- /* ----------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : cart구분이 변경될 때마다 조회조건 및 라벨을 변경 */
- /* 수술선택시는 집도의로, 마취선택시는 마취의로 변경*/
- /* param : */
- /* return : */
- /* ----------------------------------------------------*/
- function fsetCartGubn(){
- //구분이 마취일때는 진료과를 마취통증의학과로 setting
- //2090000000
- ds_main_MnpmcartData_MnpmcartList.clearData();//사용cart list 초기화
- ds_main_CMnpmcartData_MnpmcartList.clearData();//대상 cartlist 초기화
- ds_HistData_exedata_exedatalist.clearData();//물품추가/대체/삭제 실행대상 list 초기화
- ds_HistData_qrydata_qrydatalist.clearData();//물품 추가/대체/삭제 변경이력 list 초기화
- var cartgubn = ds_WorkData_cond.getColumn(0, "cartgubn");
- var cartgubnStr;
- if(cartgubn == 'A'){//마취
- //model.setValue('/root/WorkData/cond/orddept', '2090000000');
- //cmb_orddept.disabled = true;
- //마취통증의학과의 마취의 조회
- fRemoveNode(1);
- //fRemoveNode(2);
- ds_WorkData_cond.setColumn(0, "perfdr" ,"");
- ds_WorkData_cond.setColumn(0, "opcd" ,"");
- //model.setValue("/root/WorkData/cond/qryflag", "2" );
- //fMnpmcartData_Read(1, cmb_perfdr,"/root/WorkData/cond/orddept");
- //라벨변경
- cartgubnStr = '마취의';
- }else if(cartgubn == 'O'){//수술
- group3.cmb_orddept.enable = true;
- //라벨변경
- cartgubnStr = '집도의';
- }
- //라벨변경
- group3.cpt_1.text = cartgubnStr + '별 수술명 검색';
- group3.cpt_2.text = cartgubnStr;
- group3.grd_exe.setCellProperty("Head", 17, "text", cartgubnStr);
- group3.grd_exe.setCellProperty("Head", 19, "text", cartgubnStr);
- group3.group1.grd_hist.setCellProperty("Head", 9, "text", cartgubnStr);
- group3.group1.grd_hist.setCellProperty("Head", 11, "text", cartgubnStr);
- }
- /* --------------------------------------------------*/
- /* 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 ) {
-
- ds_send.clearData();
- ds_send.addRow();
-
- ds_send.setColumn(0, "orddeptcd" , pDept); // 진료과
- ds_send.setColumn(0, "perfid" , ""); // 집도의
- ds_send.setColumn(0, "ccrtno" , ""); // CaseCart 번호
- ds_send.setColumn(0, "useflag" , ds_WorkData_cond.getColumn(0, "useflag")); // 사용여부
- ds_send.setColumn(0, "qryflag" , ds_WorkData_cond.getColumn(0, "qryflag" )); // Query 구분 1:진료과,2:집도의,2:CART 코드
- ds_send.setColumn(0, "cartgubn" , ds_WorkData_cond.getColumn(0, "cartgubn" )); // cart 구분 O: 수술, A: 마취
- eval(PathClear[pIdx]).clearData();
-
- var oParam = {};
- oParam.id = "TRMNP01601";
- oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
- oParam.method = "reqGetCartDataList";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_WorkData_codelists_codelist=codelist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNP01601";
- tranf_submit(oParam); // Cart MASTER 정보를 가져온다.
-
- eval(tPathNode[pIdx]).copyData(eval(wPathNode));
- if( pIdx == 2 ) return;
- frmf_addComboItem(wRefresh[pIdx], "전 체", "", "above" );
- eval(wRefresh[pIdx]).value = "";
- eval(wPathNode).clearData();
- //pId.refresh();
- }
- /* ------------------------------------------------- */
- /* SMMNP01700_물품등록 */
- /* ------------------------------------------------- */
- /* group : EMR 간호 수술마취 */
- /* ver : 2009.01.19 */
- /* by : 김진명 */
- /* ------------------------------------------------- */
- /* desc : 집도과, 집도의별 카트리스트 조회 */
- /* --------------------------------------------------*/
- function fSearchCartList() {
-
- ds_send.clearData();
- ds_send.addRow();
-
- ds_send.setColumn(0, "orddeptcd" , ds_WorkData_cond.getColumn(0, "orddept")); // 진료과
- ds_send.setColumn(0, "perfid" , ds_WorkData_cond.getColumn(0, "perfdr")); // 집도의
- ds_send.setColumn(0, "useflag" , "Y"); // 사용여부
- ds_send.setColumn(0, "cartgubn" , ds_WorkData_cond.getColumn(0, "cartgubn" )); // cart 구분 O: 수술, A: 마취
- ds_send.setColumn(0, "goodcd" , ds_WorkData_cond.getColumn(0, "goodcd" )); // cart 구분 O: 수술, A: 마취
- ds_send.setColumn(0, "allsizespecid" , ds_WorkData_cond.getColumn(0, "sizecd" )); // cart 구분 O: 수술, A: 마취
-
- var oParam = {};
- oParam.id = "TRMNP01704";
- oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
- oParam.method = "reqGetCartList";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_main_MnpmcartData_MnpmcartList=MnpmcartList";
- oParam.async = false;
- //oParam.callback = "cf_TRMNP01704";
- tranf_submit(oParam);
- }
- // -------------------------------------------------
- // SMMNP01700_물품 분류 READ
- // --------------------------------------------------
- function fGoodGubunData_Read(pIdx, pId, pRead, pGoodFlag, pLrgCd, pMdlCd) {
-
- ds_send.clearData();
- ds_send.addRow();
-
- ds_send.setColumn(0, "lrgcd" , ""); //대분류
- ds_send.setColumn(0, "mdlcd" , ""); //중분류
- ds_send.setColumn(0, "goodflag", ""); //물품구분
- ds_send.setColumn(0, "refnm" , "" ); //검색어
- ds_send.setColumn(0, "refflag" , "0" ); //검색구분
- ds_send.setColumn(0, "readcls" , pRead ); //검색Table
-
- var oParam = {};
- oParam.id = "TRMNP01700";
- oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
- oParam.method = "reqGetGoodGubunList";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_WorkData_codelists_codelist=codelist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNP01700";
- tranf_submit(oParam); // 물품분류 정보를 가져온다.
-
- // model.duplicate(wPathNode , sPathTot);
- eval(tPathNode[pIdx]).copyData(eval(wPathNode));
- if (pIdx < 7) {
- //addComboItem(wRefresh[pIdx], "전 체", "", "above" );
- }
- // alert(wPathNode);
-
- eval(wPathNode).clearData();
- }
- // -------------------------------------------------
- // SMMNP01700_변경이력 READ
- // --------------------------------------------------
- function fCGHSData_Read() {
-
- ds_send.clearData();
- ds_send.addRow();
-
- ds_send.setColumn(0, "fromudd" , group3.group1.inp_fromdd.value ); //의뢰일자 from
- ds_send.setColumn(0, "toudd" , group3.group1.inp_todd.value ); //의뢰일자 to
- ds_send.setColumn(0, "updgbn" , group3.group1.rdo_useflag.value ); //변경구분
-
- var oParam = {};
- oParam.id = "TRMNP01703";
- oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
- oParam.method = "reqGetMnphcghsList";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_HistData_qrydata_qrydatalist=qrydatalist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNP01703";
- tranf_submit(oParam); // 물품분류 정보를 가져온다.
-
- // cmb_goodflag.focusIndex = 0;
- //addComboItem(wRefresh[pIdx], "전 체", "", "above" );
- }
- // -------------------------------------------------
- // SMMNP01700_물품 정보 READ
- // --------------------------------------------------
- function fRscdgoodData_Read() {
- xPath = ds_WorkData_cond;
- if( utlf_isNull(ds_WorkData_cond.getColumn(0, "goodcd")) ) {//물품코드
- if( utlf_isNull(ds_WorkData_cond.getColumn(0, "goodnm")) ) {
- if( utlf_isNull(ds_WorkData_cond.getColumn(0, "goodflag")) ){
- sysf_messageBox(" 물품 구분은 " , "I003"); // 물품구분
- return;
- }else if( utlf_isNull(ds_WorkData_cond.getColumn(0, "lrgcd" )) ){
- sysf_messageBox(" 대분류 코드는 ", "I003"); // 대분류코드
- return;
- }else if( utlf_isNull(ds_WorkData_cond.getColumn(0, "mdlcd" )) ){
- sysf_messageBox(" 중분류 코드는 ", "I003"); // 중분류코드
- return;
- }
- }
- }
-
- ds_send.clearData();
- ds_send.addRow();
- ds_send.setColumn(0, "lrgcd" , ds_WorkData_cond.getColumn(0, "lrgcd" )); // 대분류코
- ds_send.setColumn(0, "mdlcd" , ds_WorkData_cond.getColumn(0, "mdlcd" )); // 중분류코
- ds_send.setColumn(0, "smlcd" , ds_WorkData_cond.getColumn(0, "smlcd" )); // 중분류코
- ds_send.setColumn(0, "goodcd" , ds_WorkData_cond.getColumn(0, "goodcd" )); // 물품코드
- ds_send.setColumn(0, "cartgubn" , ds_WorkData_cond.getColumn(0, "cartgubn" )); // CARTGUBN
- ds_send.setColumn(0, "goodflag", ds_WorkData_cond.getColumn(0, "goodflag")); // 물품구분
-
- var oParam = {};
- oParam.id = "TRMNP01701";
- oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
- oParam.method = "reqGetRscdgoodList";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_main_RscdgoodData_RscdgoodList=RscdgoodList";
- oParam.async = false;
- //oParam.callback = "cf_TRMNP01701";
- tranf_submit(oParam); // 물품 정보를 가져온다.
-
- ds_main_RscdgoodData_RscdgoodList.rowposition = -1;
-
- fRemoveNode(7); // 사용 Cart 리스트 초기화
- fRemoveNode(8); // 대상 리스트 초기화
- }
- // -------------------------------------------------
- // POPUP 물품 정보
- // --------------------------------------------------
- function fPopupGood(pPath, pGood, pGoodNm, pSizeCd, menuparam) {
- var refflag = ds_temp.getColumn(0, "refflag");
- frmf_setParameter("openflag", "STOC");
- if( refflag == "1" ) { /*물품명으로 검색*/
- frmf_setParameter("refnm", ds_main_cond.getColumn(0, "goodnm"));
- frmf_setParameter("refflag", "1");
- }else if( refflag == "2" ) { /*물품코드으로 검색*/
- frmf_setParameter("refnm", "CCR");
- frmf_setParameter("refflag", "2");
- }
- frmf_setParameter("tabflag", "CCR");
- frmf_setParameter("menuparam", menuparam);
- frmf_setParameter("cartgubn", ds_WorkData_cond.getColumn(0, "cartgubn"));
-
- frmf_modal("SMMNP04460","SMMNP04460",null,"",1,100,100,"","","","","","M");
- var getData = frmf_getParameter("SendData");//model.getValue("/root/properties/parameters/SendData/SendDatavalue");
- if( utlf_isNull(getData)) {
- return;
- }else {
- var getDataTemp1 = getData.split("▩");
- var getData = frmf_getParameter("SendData");//model.getValue("/root/properties/parameters/SendData/SendDatavalue");
- var getDataTemp = getData.split("|");
- pPath.setColumn(0, "goodcd" , getDataTemp[0]);
- pPath.setColumn(0, "goodnm" , getDataTemp[1]);
- pPath.setColumn(0, "sizecd" , getDataTemp[2]);
- pPath.setColumn(0, "goodspec" , getDataTemp[5]);
- pPath.setColumn(0, "goodmodel" , getDataTemp[6]);
- ds_WorkData_InputGood.setColumn(0, "goodqty", 0);
-
-
- if( utlf_isNull(pPath.getColumn(0, "goodcls")) ) {
- pPath.setColumn(0, "goodcls" , getDataTemp[4]);
- }
- }
- if( menuparam == "M" ) {//메인 물품 조회시만
- fRscdgoodData_Read();
- }
- }
- // -------------------------------------------------
- // SMMNP01700_사용 Cart List
- // --------------------------------------------------
- function fUseCartData_Read() {
- if(group3.grd_good.currentrow < 0){
- sysf_messageBox(" 물품정보를 " , "C002"); // 물품구분
- return;
- }else if(utlf_isNull(ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodcd"))){
- sysf_messageBox(" 물품정보를 " , "C002"); // 물품코드
- return;
- }
-
- ds_send.clearData();
- ds_send.addRow();
-
- ds_send.setColumn(0, "orddeptcd" , ds_WorkData_cond.getColumn(0, "orddept" )); // 진료과코드
- ds_send.setColumn(0, "perfid" , ds_WorkData_cond.getColumn(0, "perfdr" )); // 집도의ID
- ds_send.setColumn(0, "opcd" , ds_WorkData_cond.getColumn(0, "opcd" )); // 수술코드
- ds_send.setColumn(0, "goodcd" , ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodcd" )); // 물품코드
- ds_send.setColumn(0, "allsizespecid" , ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "allsizespecid" )); // SIZE
-
- var oParam = {};
- oParam.id = "TRMNP01702";
- oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
- oParam.method = "reqGetUseCartList";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_main_MnpmcartData_MnpmcartList=MnpmcartList";
- oParam.async = false;
- //oParam.callback = "cf_TRMNP01702";
- tranf_submit(oParam); // 물품 정보를 가져온다.
-
- fRemoveNode(8); // 물품 추가/대체/삭제 대상 리스트 초기화
- fRemoveNode(9); // 물품 추가/대체/삭제 실행대상 리스트 초기화
-
- if(group3.grd_good.currentrow > -1) {
- group3.grd_scart.setRealColSize(group3.grd_scart.getBindCellIndex("body", "goodqty"), group3.grd_scart.getFormatColProperty(group3.grd_scart.getBindCellIndex("body", "goodqty"), "size"));
- group3.grd_tcart.setRealColSize(group3.grd_tcart.getBindCellIndex("body", "goodqty"), group3.grd_tcart.getFormatColProperty(group3.grd_tcart.getBindCellIndex("body", "goodqty"), "size"));
- } else {
- group3.grd_scart.setRealColSize(group3.grd_scart.getBindCellIndex("body", "goodqty"), 0);
- group3.grd_tcart.setRealColSize(group3.grd_tcart.getBindCellIndex("body", "goodqty"), 0);
- }
- }
- // -------------------------------------------------
- // SMMNP01700_대상 Cart List를 실행대상으로 Move
- // --------------------------------------------------
- function fMove(pFlag,pSNode,pTNode) {
- //--------------- 1. 대상 Cart List를 실행대상 List로 이동
- if(group3.grd_tcart.rowcount < 0 ) return;
- var goodrow = group3.grd_good.currentrow;//selectedrow(0);
- var oldgoodcd = ds_main_RscdgoodData_RscdgoodList.getColumn(goodrow, "goodcd");
- var oldgoodhngnm = ds_main_RscdgoodData_RscdgoodList.getColumn(goodrow, "goodhngnm");
- var oldgoodspec = ds_main_RscdgoodData_RscdgoodList.getColumn(goodrow, "goodspec");
- var oldgoodmodel = ds_main_RscdgoodData_RscdgoodList.getColumn(goodrow, "goodmodel");
- var oldallsizespecid = ds_main_RscdgoodData_RscdgoodList.getColumn(goodrow, "allsizespecid");
- var newgoodhngnm = ds_WorkData_InputGood.getColumn(0, "goodnm");
- var newgoodspec = ds_WorkData_InputGood.getColumn(0, "goodspec");
- var newgoodmodel = ds_WorkData_InputGood.getColumn(0, "goodmodel");
- var newgoodcd = ds_WorkData_InputGood.getColumn(0, "goodcd");
- var newallsizespcid = ds_WorkData_InputGood.getColumn(0, "sizecd");
- var fromdd = ds_WorkData_InputGood.getColumn(0, "usedate");
- var goodcls = ds_WorkData_InputGood.getColumn(0, "goodcls");
- var arrFlag = pFlag.split(":");//저장 상태값(I:추가, U:대체, D:삭제)
-
- var goodqty = ds_WorkData_InputGood.getColumn(0, "goodqty");
-
- if( utlf_isNull(goodcls) ) {
- //goodcls = model.getValue("/root/main/RscdgoodData/RscdgoodList/goodcls");
- sysf_messageBox("물품 구분값이 없습니다. 물품을 다시 조회하십시오!", "I000");
- return;
- }
-
- if( arrFlag[0] == "I" ) {//추가일 경우 이전 정보 초기화
- if( (oldgoodcd == newgoodcd)&&(oldallsizespecid == newallsizespcid) ) {//추가일경우 이전 물품코드가 같을 경우 추가 할수 없음
- sysf_messageBox("추가하실 물품을 조회해 주십시요!", "I000");
- return;
- }
- oldgoodhngnm = "";
- oldgoodcd = "";
- oldallsizespecid = "";
- oldgoodspec = "";
- oldgoodmodel = "";
-
- if(utlf_isNull(goodqty) || goodqty == "0") {
- sysf_messageBox("추가할 물품의 수량을 입력하십시오. ", "E");
- return;
- }
- }
- var oldgoodname = oldgoodhngnm + "( " + oldgoodspec + ", " + oldgoodmodel + ")";
- if( utlf_isNull(oldgoodhngnm) && utlf_isNull(oldgoodspec) && utlf_isNull(oldgoodmodel) ) {//물품추가의 경우 빈값 셋팅
- oldgoodname = "";
- }
- var newgoodname = newgoodhngnm + "( " + newgoodspec + ", " + newgoodmodel + ")";
- if( (arrFlag[0] == "U")||(arrFlag[0] == "D") ) {
- if( utlf_isNull(oldgoodcd) ) {
- sysf_messageBox("물품대체나 물품삭제는 대상 물품을 선택하십시오!", "I000");
- return;
- }
- }
- ds_HistData_cond.setColumn(0, "updgbn", arrFlag[0]);
- for (var i = 0; i < group3.grd_tcart.rowcount; i++) {
- var pernm = pSNode.getColumn(i, "usernm");
- var wCheckYn = pSNode.getColumn(i, "checkyn");
- if (wCheckYn == "true") {
- ds_HistData_exedata_exedatalist.addRow();
- var j = group3.grd_exe.rowcount - 1 ;
- pTNode.setColumn(j, "recstat" , arrFlag[0]); // 변경구분
- pTNode.setColumn(j, "updflagnm" , arrFlag[1]); // 변경구분명
- pTNode.setColumn(j, "deptabbr" , pSNode.getColumn(i, "deptabbr")); // 집도과
- pTNode.setColumn(j, "perfnm" , pSNode.getColumn(i, "perfnm")); // 집도의
- pTNode.setColumn(j, "opkname" , pSNode.getColumn(i, "opkname")); // 수술명
- pTNode.setColumn(j, "bfgoodnm" , oldgoodname); // 변경전 물품명(규격,모델)
- if( arrFlag[0] == "I" ) {//추가일 경우 이전 정보 초기화
- pTNode.setColumn(j, "bfqty" , ""); // 변경전 수량
- }else {
- pTNode.setColumn(j, "bfqty" , pSNode.getColumn(i, "goodqty")); // 변경전 수량
- }
- pTNode.setColumn(j, "bfgoodcd" , oldgoodcd); // 변경전 물품코드
- pTNode.setColumn(j, "bfallsizespecid" , oldallsizespecid); // 변경전 allsize규격ID
- pTNode.setColumn(j, "ccrtno" , pSNode.getColumn(i, "ccrtno")); // CaseCart번호
- pTNode.setColumn(j, "cartgoodseq" , pSNode.getColumn(i, "cartgoodseq")); // Cart순번
- pTNode.setColumn(j, "fromdd" , fromdd); // 적용일자
- pTNode.setColumn(j, "goodcls" , goodcls); // 적용일자
- if (pFlag==InsertMode||pFlag==UpdateMode){
- pTNode.setColumn(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(ds_WorkData_InputGood.getColumn(0, "copyflag") == "1") {
- pTNode.setColumn(j, "afqty" , ds_WorkData_InputGood.getColumn(0, "goodqty")); // 변경후 수량
- } else {
- pTNode.setColumn(j, "afqty" , pSNode.getColumn(i, "goodqty")); // 변경후 수량
-
- }
- //}
- // }
- pTNode.setColumn(j, "afgoodcd" , ds_WorkData_InputGood.getColumn(0, "goodcd")); // 변경후 물품코드
- pTNode.setColumn(j, "afallsizespecid" , ds_WorkData_InputGood.getColumn(0, "sizecd")); // 변경후 allsize규격ID
- }
- }
- }
- //--------------- 2. 대상 Cart List 내용 중 이동된 Cart 삭제
- //fRemoveNode(7);
- fRemoveCart(0, group3.grd_tcart.rowcount, ds_main_CMnpmcartData_MnpmcartList);
- }
- // -------------------------------------------------
- // SMMNP01700_물품 선택
- // --------------------------------------------------
- function fSelectGood() {
- if(group3.grd_good.currentrow < 0 ) return;
- if(utlf_isNull(ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodcd"))) return;
- ds_WorkData_InputGood.setColumn(0, "goodcd" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodcd"));
- ds_WorkData_InputGood.setColumn(0, "goodnm" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodhngnm"));
- ds_WorkData_InputGood.setColumn(0, "sizecd" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "sizecd"));
- ds_WorkData_InputGood.setColumn(0, "allsizespecid" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "allsizespecid"));
- ds_WorkData_InputGood.setColumn(0, "goodspec" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodspec"));
- ds_WorkData_InputGood.setColumn(0, "goodmodel" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodmodel"));
- ds_WorkData_InputGood.setColumn(0, "goodcls" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodcls"));
- ds_WorkData_InputGood.setColumn(0, "goodqty" ,"0");
- ds_WorkData_InputGood.setColumn(0, "usedate" ,utlf_getCurrentDate() );
- ds_WorkData_cond.setColumn(0, "sizecd" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "allsizespecid"));
- ds_WorkData_cond.setColumn(0, "goodnm" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodhngnm"));
- ds_WorkData_cond.setColumn(0, "goodcd" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodcd"));
-
- group3.grd_scart.setRealColSize(group3.grd_scart.getBindCellIndex("body", "goodqty"), group3.grd_scart.getFormatColProperty(group3.grd_scart.getBindCellIndex("body", "goodqty"), "size"));
- group3.grd_tcart.setRealColSize(group3.grd_tcart.getBindCellIndex("body", "goodqty"), group3.grd_tcart.getFormatColProperty(group3.grd_tcart.getBindCellIndex("body", "goodqty"), "size"));
- // grd_scart.colHidden(grd_scart.colRef("goodqty")) = false;
- // grd_tcart.colHidden(grd_tcart.colRef("goodqty")) = false;
- }
- function fMnphcagoRead(pIdx, pId, pCcrtno, pCartGoodseq ) {
- model.removenode("/root/send");
- ds_send.setColumn(0, "ccrtno" , pCcrtno ); // CaseCart 번호
- ds_send.setColumn(0, "cartgoodseq" , pCartGoodseq ); // Cart물품순번
- ds_send.setColumn(0, "instcd" , ds_WorkData_cond.getColumn(0, "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(ds_main_MnpmcartData_MnpmcartList.rowcount);
- if (frRow < 1) return;
- if (toRow < 1) return;
- var wCheckYn = "";
- for( var iRow = 0; iRow < toRow; iRow++) {
- wCheckYn = ds_main_MnpmcartData_MnpmcartList.getColumn(iRow, "checkyn");
- if (wCheckYn == "true") {
- var nRow = pTNode.addRow();
- pTNode.copyRow(nRow, ds_main_MnpmcartData_MnpmcartList, iRow)
- }
- }
- for( var iRow = toRow-1 ; iRow >= 0; iRow--) {
- wCheckYn = ds_main_MnpmcartData_MnpmcartList.getColumn(iRow, "checkyn");
- if (wCheckYn == "true") {
- ds_main_MnpmcartData_MnpmcartList.deleteRow(iRow);
- }
- }
- //fRemoveCart(frRow, toRow, pSNode);
- }
- //
- // 물품 삭제
- //
- function fRemoveCart(pFIdx, pTIdx, pRNode){
- var wCnt = 0 ;
- var wIdx = pFIdx;
- while ( wCnt < pTIdx){
- if (pRNode.getColumn(wIdx, "checkyn") == "Y") {
- pRNode.deleteRow(wIdx);
- } else {
- wIdx++;
- }
- wCnt++;
- }
- }
- function fRemoveNode(pIdx){
- eval(PathClear[pIdx]).clearData();
- }
- // 물품 복사
- 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",ds_WorkData_InputGood.getColumn(0, "goodqty"));
- if (ds_WorkData_InputGood.getColumn(0, "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) {
- ds_WorkData_InputGood.setColumn(0, "goodengnm", iSplit_Value[3]);
- ds_WorkData_InputGood.setColumn(0, "makernm" , iSplit_Value[6]);
- ds_WorkData_InputGood.setColumn(0, "sizecd" , iSplit_Value[4]);
- ds_WorkData_InputGood.setColumn(0, "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(utlf_isNull(ds_HistData_exedata_exedatalist.getColumn(0, "updflagnm"))) return;
- ds_send.clearData();
- ds_send.addRow();
- 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(ds_HistData_exedata_exedatalist);
- // SendData += fSendDataConstruct("/root/HistData/exedata");
-
- dsf_setCSVToDs("ds_send_mnphcagolist", SaveData);
- //model.makeValue("/root/send/senddata",SendData);
- if (ExCount > 0) {
- var oParam = {};
- oParam.id = "TXMNP01700";
- oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
- oParam.method = "reqExeMnphcagoChange";
- oParam.inds = "mnphcagolist=ds_send_mnphcagolist";
- oParam.outds = "";
- oParam.async = false;
- //oParam.callback = "cf_TXMNP01700";
- tranf_submit(oParam);
-
- fUseCartData_Read();
- }
- // 변경실행후 변경이력리스트 조회 (검색조건의 의뢰일자가 당일을 포함하는 경우)
- var today = utlf_getCurrentDate() ;
- if(group3.group1.inp_fromdd.value<=today && today<=group3.group1.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 = pPath.rowcount;//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 = ds_WorkData_cond.getColumn(0, "cartgubn") ;
- for (var i = 0; i < nLen; i++) {
- sCcrtno = utlf_transNullToEmpty(pPath.getColumn(i, "ccrtno" ));
- sCartgoodseq = utlf_transNullToEmpty(pPath.getColumn(i, "cartgoodseq" ));
- sGoodcd = utlf_transNullToEmpty(pPath.getColumn(i, "afgoodcd"));
- sSizecd = utlf_transNullToEmpty(pPath.getColumn(i, "afallsizespecid"));
- sGoodqty = utlf_transNullToEmpty(pPath.getColumn(i, "afqty" ));
- sOldGoodcd = utlf_transNullToEmpty(pPath.getColumn(i, "bfgoodcd"));
- sOldAllsizespecid = utlf_transNullToEmpty(pPath.getColumn(i, "bfallsizespecid"));
- sGoodcls = utlf_transNullToEmpty(pPath.getColumn(i, "goodcls"));
- sFromdd = utlf_transNullToEmpty(pPath.getColumn(i, "fromdd"));
- sRecstat = utlf_transNullToEmpty(pPath.getColumn(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() {
-
- ds_send.clearData();
- ds_send.addRow();
-
- ds_send.setColumn(0, "orddeptcd", ds_WorkData_cond.getColumn(0, "orddept"));
- ds_send.setColumn(0, "perfid", ds_WorkData_cond.getColumn(0, "perfdr"));
- ds_send.setColumn(0, "opcd", ds_WorkData_cond.getColumn(0, "opcd"));
- ds_send.setColumn(0, "opnm", ds_WorkData_cond.getColumn(0, "opnm"));
-
- var oParam = {};
- oParam.id = "TRMNP01704";
- oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
- oParam.method = "reqGetCartList";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_main_MnpmcartData_MnpmcartList=MnpmcartList";
- oParam.async = false;
- //oParam.callback = "cf_TRMNP01704";
- tranf_submit(oParam);
-
- group3.grd_scart.setRealColSize(group3.grd_scart.getBindCellIndex("body", "goodqty"), 0);
- group3.grd_tcart.setRealColSize(group3.grd_scart.getBindCellIndex("body", "goodqty"), 0);
-
- }
- /* ------------------------------------------------- */
- /* ------End Of List ------------------------------- */
- /* -------------------------------------------------- */
- ]]></Script>
|