123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*
-
- 약물계산식관리(SMMNR02200.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- */
- /**
- * @group :
- * @ver : 2007.05.29
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면 초기화
- * @param : pFlag
- * @return :
- * @---------------------------------------------------
- */
- function fInitialize(){
-
-
- fSrchItemList("item");
-
- }
- /**
- * @group :
- * @ver : 2007.05.29
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 항목 추가
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAddItem(){
-
- var iRow = ds_grid_grd_itemlist.addRow();
- ds_grid_grd_itemlist.setColumn(iRow,"supcd","*");
- ds_grid_grd_itemlist.setColumn(iRow,"refseq","0");
-
- }
- /**
- * @group :
- * @ver : 2007.05.29
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 항목 삭제
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDelItem(){
- var iRow = grd_itemlist.currentrow;
-
- if(iRow < 0) return;
-
- var sStatus = ds_grid_grd_itemlist.getRowType(iRow);
-
-
- if(sStatus != 2 && sStatus != 4){
-
- ds_grid_grd_itemlist.deleteRow(iRow);
-
- }else{
- ds_grid_grd_itemlist.deleteRow(iRow);
- }
- }
- /**
- * @group :
- * @ver : 2007.05.29
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 요소 추가
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAddElmt(){
- var iItemRow = grd_itemlist.currentrow;
- if(iItemRow<0){
- sysf_messageBox("항목을 먼저","C002");
- return;
- }
- var sItemCD = ds_grid_grd_itemlist.getColumn(iItemRow,"itemcd");
- if(utlf_isNull(sItemCD)){
- sysf_messageBox( "계산항목을 먼저 저장해야 합니다. 요소를 추가할 수", "I004");
- return;
- }
-
- var iRow = ds_grid_grd_elmtlist.addRow();
- ds_grid_grd_elmtlist.setColumn(iRow,"supcd",sItemCD);
- ds_grid_grd_elmtlist.setColumn(iRow,"refseq",0);
- }
- /**
- * @group :
- * @ver : 2007.05.29
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 요소 삭제
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDelElmt(){
- var iRow = grd_elmtlist.currentrow;
- if(iRow < 0) return;
- var sStatus = ds_grid_grd_elmtlist.getRowType(iRow);
-
-
- if(sStatus == 1 || sStatus == 3){
-
- ds_grid_grd_elmtlist.updatecontrol = false;
- ds_grid_grd_elmtlist.setRowType(ds_grid_grd_elmtlist.rowposition, Dataset.ROWTYPE_DELETE);
- ds_grid_grd_elmtlist.updatecontrol = true;
- }else{
-
- ds_grid_grd_elmtlist.deleteRow(iRow);
- }
- }
- /**
- * @group :
- * @ver : 2007.05.29
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 항목 조회
- * @param : pFlag (item : 항목, elmt : 요소)
- * @return :
- * @---------------------------------------------------
- */
- function fSrchItemList(pFlag){
-
- if(pFlag == "item"){
-
- ds_grid_grd_elmtlist.clearData();
- ds_temp.setColumn(0,"supcd","*");
-
- tranf_submit({
- id: "TRMNR02201"
- , service: "carerecapp.ClincObsRec"
- , method: "reqGetDrugCalcItemList"
- , inds : "refCond=ds_temp"
- , outds : "ds_grid_grd_itemlist=itemlist"
- //, callback: "cbf_TRMNR02201"
- , async : false
- });
- ds_init.setColumn(0,"itemcalform","");
- /*
- var nRow = ds_grid_grd_itemlist.findRow("itemcd",lfv_itemnm);
- if(nRow < 0) nRow = ds_grid_grd_itemlist.findRow("itemnm",lfv_itemnm);
-
- ds_grid_grd_itemlist.rowposition = (nRow<0?0:nRow);
-
- ds_init.setColumn(0,"itemcalform","");
-
- if(ds_grid_grd_itemlist.rowposition >= 0)
- {
- fSrchItemList("elmt");
- }
- */
- }
-
- else{
-
- var iRow = grd_itemlist.currentrow;
-
- var sItemCD = ds_grid_grd_itemlist.getColumn(iRow,"itemcd");
-
- if(sItemCD == ""){
- ds_grid_grd_elmtlist.clearData();
- return ;
- }
-
- ds_temp.setColumn(0,"supcd", ds_grid_grd_itemlist.getColumn(iRow,"itemcd"));
-
-
-
- tranf_submit({
- id: "TRMNR02202"
- , service: "carerecapp.ClincObsRec"
- , method: "reqGetDrugCalcItemList"
- , inds : "refCond=ds_temp"
- , outds : "ds_grid_grd_elmtlist=elmtlist"
- // , callback: "cbf_TRMNR02202"
- , async : false
- });
-
- ds_init.setColumn(0,"itemcalform",ds_grid_grd_itemlist.getColumn(iRow,"calform"));
-
- }
- }
- /**
- * @group :
- * @ver : 2007.05.29
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 항목 저장
- * @param : pFlag (item : 항목, elmt : 요소)
- * @return :
- * @---------------------------------------------------
- */
- function fSaveItemList(pFlag){
-
-
- var iItemRow = ds_grid_grd_itemlist.rowposition;
- lfv_itemnm = ds_grid_grd_itemlist.getColumn(iItemRow,"itemcd"); //검색할 항목코드 또는 명
- if(utlf_isNull(lfv_itemnm)) lfv_itemnm = ds_grid_grd_itemlist.getColumn(iItemRow,"itemnm");
-
- switch(pFlag){
- case "item" :
-
- if(fChkItemInfo(pFlag)) return;
- tranf_submit({
- id: "TXMNR02201"
- , service: "carerecapp.ClincObsRec"
- , method: "reqExeDrugCalcItemList"
- , inds : "refCond=ds_temp itemlist=ds_grid_grd_itemlist:U"
- , outds : "ds_grid_grd_itemlist=itemlist"
- // , callback: "cbf_TXMNR02201"
- });
-
- fSrchItemList("item"); //재조회
-
- break;
- case "elmt" :
-
-
-
- var iItemRow = grd_itemlist.currentrow;
- var sItemCD = ds_grid_grd_itemlist.getColumn(iItemRow,"itemcd");
- var sStatus = ds_grid_grd_itemlist.getRowType(iItemRow);
- sysf_trace("sStatus : " + sStatus);
- var iElmtStatus = 0;
-
- if(sStatus == 2){
- sysf_messageBox( "계산항목을 먼저 저장해야 합니다. 요소 저장을 할 수", "I004");
- return;
- }
-
- var sItemCalForm = ds_init.getColumn(0,"itemcalform");
- if(utlf_isNull(sItemCalForm))
- {
- sysf_messageBox( "항목별 계산식이 없습니다. 요소 저장을 할 수", "I004");
- return;
- }
- var sTmpItemCalForm = sItemCalForm;
- var sElmtNM = "";
- for(var iRow=0; iRow<=grd_elmtlist.rowcount;iRow++){
- iElmtStatus = ds_grid_grd_elmtlist.getRowType(iRow);
- if(iElmtStatus == 8) continue;
- sElmtNM = utlf_transNullToEmpty(ds_grid_grd_elmtlist.getColumn(iRow,"itemnm"));
- sysf_trace("sElmtNM : " + sElmtNM);
- if(!utlf_isNull(sElmtNM))
- {
- while(sTmpItemCalForm.indexOf(utlf_transNullToEmpty(sElmtNM)) > 0)
- {
- sTmpItemCalForm = sTmpItemCalForm.replace(sElmtNM,1);
- }
- }
- }
-
- if(sTmpItemCalForm.replace(/[\+,\-,\/,\*,\(,\),a-z,0-9,\n]/g,"") != ""){
-
- sysf_messageBox( "계산식이 잘못 되었습니다. 다시", "C001");
- return;
- }
-
- sTmpItemCalForm = sTmpItemCalForm.replace(/\n/g,"");
- if(ds_grid_grd_itemlist.getColumn(iItemRow,"calform") != sItemCalForm){
-
-
- if(sStatus == 0 || sStatus == 8){
- ds_grid_grd_itemlist.setRowType = 4;
- }
- ds_grid_grd_itemlist.setColumn(iItemRow,"calform",sItemCalForm);
- }
-
- tranf_submit({
- id: "TXMNR02202"
- , service: "carerecapp.ClincObsRec"
- , method: "reqExeDrugCalcElmtList"
- , inds : "refCond=ds_temp itemlist=ds_grid_grd_itemlist:U elmtlist=ds_grid_grd_elmtlist:U"
- , outds : "ds_grid_grd_itemlist=itemlist ds_grid_grd_elmtlist=elmtlist"
- // , callback: "cbf_TXMNR02202"
- });
-
-
- var pos = ds_grid_grd_itemlist.findRow("itemcd",sItemCD);
-
- ds_grid_grd_itemlist.rowposition = pos;
- ds_init.setColumn(0,"itemcalform",ds_grid_grd_itemlist.getColumn(iItemRow,"calform"));
-
- fSrchItemList("elmt");
-
- break;
- }
-
- }
- /**
- * @group :
- * @ver : 2007.05.29
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 빈 항목명이 있는지 체크
- * @param : pFlag (item : 항목, elmt : 요소)
- * @return :
- * @---------------------------------------------------
- */
- function fChkItemInfo(pFlag){
- switch(pFlag){
- case "item" :
- for(var iRow=0; iRow<=grd_itemlist.rowcount; iRow++){
- if(ds_grid_grd_itemlist.getColumn(iRow,"itemnm") == ""){
- sysf_messageBox("항목명은","I003");
- return true;
- }
- }
- break;
-
- }
- return false;
- }
- function fChangedGridRow(pFlag){
- var iRow = 0;
- var iStatus = 0;
- switch(pFlag){
- case "item" :
- iRow = grd_itemlist.row;
- iStatus = grd_itemlist.rowstatus(iRow);
- if(iStatus == 1 || iStatus == 3) return;
- grd_itemlist.rowstatus(iRow) = 2;
- break;
-
- }
- }
- ]]></Script>
|