123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : HIT
- * Job Name :
- * File Name : LAZ001.xjs
- * Creator : LISBC
- * Make Date : 2014-02-05
- *
- * Description : 진단검사 공통 JS 파일
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2014-02-18 HIT
- * xxxxxxxxxxx
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- /**********************************************************************************
- * Name : gf_calcSingle
- * Description : 진검 계산식
- * Argument : pRow (데이터를 입력한 row), pForm [호출하는 화면명), pMainRow (검사항목별일 경우 화면에 보이는 메인 그리드 row)
- * return Type : Null
- * Author : Autumn
- ***********************************************************************************/
- function gf_calcSingle (pRow, pForm, pMainRow) {
- var sPID = utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(pRow,"pid"));
- var vDScript = utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(pRow,"calformcnts"));
- var vAppTestcnt = utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(pRow,"apptestcnt"));
- var vAppTclscd = utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(pRow,"apptclscd"));
- var vAcptA = new Array(10);
- var r = "";
- if (vDScript.getTrim() != "") {
- var vAcptCnt = utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(pRow,"acptcnt"));
- vDScript = gf_calcDScript (vDScript, vAcptCnt) ;
- vDScript = gf_patBaseCalcInfo(vDScript, sPID); //환자기본정보 파라미터 replace
- vDScript = gf_calcValue (pRow, vDScript, vAcptCnt, pForm, "SINGLE");
- var rslt = gf_calcEval(vDScript);
- // 호출하는 화면에 따라 나머지를 처리한다.
- switch (pForm) {
- case "SSLLR80100" :
- var strLHR10001 = true;
- if (vAppTclscd.getTrim() != "") {
- var vApplytclscdA = vAppTclscd.split(",");
- for (var i = 0; i < vApplytclscdA.length; i++) {
- if ( vApplytclscdA[i].getTrim() == "B105000001"
- && (utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(pRow,"inptrslt")) == "" || utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(pRow,"inptrslt")) == 0)){
- strLHR10001 = false;
- }
- var findrow = ds_grid_grd_TestInfoCnts.findRow("testcd",vApplytclscdA[i].getTrim());
- if(findrow < 0){ // 못찾으면 abnormal 검색한다.
- var n = ds_abnormallist.rowcount;
- for(k = 0; k < n; k++){
- if(strLHR10001 && utlf_transNullToEmpty(ds_abnormallist.getColumn(k,"testcd")) == vApplytclscdA[i].getTrim()){
- nRow = ds_copy_abnormallist.addRow();
- ds_copy_abnormallist.copyRow(nRow,ds_abnormallist,k);
- lf_lIbAbResult(utlf_transNullToEmpty(ds_abnormallist.getColumn(k,"testcd2")) , rslt);
- break;
- }
- }
- if(utlf_transNullToEmpty(ds_abnormallist.getColumn(k,"parentidx")) == pRow) {
- r = "C";
- }
- } else {
- ds_grid_grd_TestInfoCnts.setColumn(findrow,"bufinptrslt",rslt);
- lf_cvtResultCode(findrow);
- gv_rowCulcu = true;
- ds_grid_grd_TestInfoCnts.rowposition = findrow;
- grp2.grd_TestInfoCnts.setCellPos(grp2.grd_TestInfoCnts.getBindCellIndex("Body","bufinptrslt"));
- grp2.grd_TestInfoCnts.setFocus();
- gv_rowCulcu = false;
- lf_cvtViewResult();
- //if ((utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(findrow,"reptrslt")) == "")
- if ((utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(findrow,"inptrslt")) == "")
- && (utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(findrow,"tclskind")) == "5")) {
- if(utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(findrow,"rsltstat")) == "-") { //결과저장하기 전.
- //if(utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(findrow,"bfreptrslt")) == "") { //이전결과가 없는경우.
- if(utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(findrow,"bfinptrslt")) == "") { //이전결과가 없는경우.
- ds_grid_grd_TestInfoCnts.deleteRow(findrow); //row 삭제
- }
- } else {
- //if(utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(findrow,"bfreptrslt")) == "") { //이전결과가 없는경우.
- if(utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(findrow,"bfinptrslt")) == "") { //이전결과가 없는경우.
- ds_grid_grd_TestInfoCnts.setColumn(findrow, "visible", "false");
- ds_grid_grd_TestInfoCnts.filter("visible != 'false'");
- }
- }
- }
- }
- }
- }
- return r;
- case "SMLLR00400" :
- case "SMLLR00500" :
- var vCdList = ds_cond_refparam.getColumn(0, "tclscdlist2").split("▦");
- var pos = -1;
- for(var i = 0; i < vCdList.length; i++) {
- if(vCdList[i] == vAppTclscd) {
- pos = i;
- break;
- }
- }
- if (pos > -1) {
- var readonly = ds_grid_grd_testlist.getColumn(pMainRow, "readonly" + (pos+1));
- if( readonly != "1" ){
- lf_calcRsltEnterKey(rslt, pMainRow, pos + gStartCol);
- }
- }
- break;
- }
- }
- }
- /**********************************************************************************
- * Name : gf_calcMulty
- * Description : 진검 계산식 팝업시 사용 (단 한 검체번호인 경우만 적용됨)
- * Argument : pForm [호출하는 화면명), bPopup(화면 호픈여부), bValueCheck
- * return Type :
- * Author : Autumn
- ***********************************************************************************/
- function gf_calcMulty (pForm, bPopup, bValueCheck) {
- ds_grid_grd_Calcu_TestInfoCnts.clearData();
- var apptclscd = "";
- var spccd = "";
- var calformcnts = "";
- var sFindRow = -1;
- var nRow = -1;
- var sPID = "";
- for (var i = 0; i < ds_grid_grd_TestInfoCnts.rowcount; i++) {
- sPID = utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(i, "pid"));
- apptclscd = utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(i, "apptclscd"));
- spccd = utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(i, "spccd"));
- calformcnts = utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(i, "calformcnts"));
- if (apptclscd == "" || spccd == "" || calformcnts == "") continue;
- sFindRow = ds_grid_grd_Calcu_TestInfoCnts.findRowExpr("apptclscd=='"+apptclscd+"' && spccd=='"+spccd+"'");
- if (sFindRow == -1) {
- nRow = ds_grid_grd_Calcu_TestInfoCnts.addRow();
- ds_grid_grd_Calcu_TestInfoCnts.copyRow(nRow, ds_grid_grd_TestInfoCnts, i);
- }
- }
- //abnormal 계산식 있는지 검색
- for (var i = 0; i < ds_abnormallist.rowcount; i++) {
- apptclscd = utlf_transNullToEmpty(ds_abnormallist.getColumn(i, "apptclscd"));
- spccd = utlf_transNullToEmpty(ds_abnormallist.getColumn(i, "spccd"));
- calformcnts = utlf_transNullToEmpty(ds_abnormallist.getColumn(i, "calformcnts"));
- if (apptclscd == "" || spccd == "" || calformcnts == "") continue;
- sFindRow = ds_grid_grd_Calcu_TestInfoCnts.findRowExpr("apptclscd=='"+apptclscd+"' && spccd=='"+spccd+"'");
- if (sFindRow == -1) {
- nRow = ds_grid_grd_Calcu_TestInfoCnts.addRow();
- ds_grid_grd_Calcu_TestInfoCnts.copyRow(nRow, ds_abnormallist, i);
- }
- }
- ds_grid_grd_Calcu.clearData();
- for (var pRow = 0; pRow < ds_grid_grd_Calcu_TestInfoCnts.rowcount; pRow++) {
- var vDScript = utlf_transNullToEmpty(ds_grid_grd_Calcu_TestInfoCnts.getColumn(pRow,"calformcnts"));
- var vAppTclscd = utlf_transNullToEmpty(ds_grid_grd_Calcu_TestInfoCnts.getColumn(pRow,"apptclscd"));
- var vAcptA = new Array(10);
- var r = "";
- nRow = ds_grid_grd_Calcu.addRow();
- ds_grid_grd_Calcu.setColumn(nRow, "tclscd" , vAppTclscd);
- ds_grid_grd_Calcu.setColumn(nRow, "calformcnts", vDScript);
- var fRow = ds_grid_grd_TestInfoCnts.findRow("testcd", vAppTclscd);
- if (fRow > -1){
- ds_grid_grd_Calcu.setColumn(nRow, "tclsscrnnm", ds_grid_grd_TestInfoCnts.getColumn(fRow, "tclsscrnnm"));
- }
-
- //ds_grid_grd_Calcu.setColumn(nRow, "reptrslt", ds_grid_grd_TestInfoCnts.getColumn(fRow, "reptrslt"));
- ds_grid_grd_Calcu.setColumn(nRow, "reptrslt", ds_grid_grd_TestInfoCnts.getColumn(fRow, "inptrslt"));
- ds_grid_grd_Calcu.setColumn(nRow, "bcno" , ds_grid_grd_TestInfoCnts.getColumn(fRow, "bcno"));
- if (vDScript.getTrim() != "") {
- var vAcptCnt = utlf_transNullToEmpty(ds_grid_grd_Calcu_TestInfoCnts.getColumn(pRow,"acptcnt"));
- vDScript = gf_calcDScript (vDScript, vAcptCnt) ;
- vDScript = gf_patBaseCalcInfo(vDScript, sPID); //환자기본정보 파라미터 replace
- vDScript = gf_calcValue (pRow, vDScript, vAcptCnt, pForm, "MULTY");
- if (!bPopup) {
- var rslt = gf_calcEval(vDScript);
- if ((vAppTclscd.getTrim() != "")) {
- var vApplytclscdA = vAppTclscd.split(",");
- for (var i = 0; i < vApplytclscdA.length; i++) {
- var findrow = ds_grid_grd_TestInfoCnts.findRow("testcd",vApplytclscdA[i].getTrim());
- if(findrow < 0){ // 못찾으면 abnormal 검색한다.
- } else {
- //if (bValueCheck && utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(findrow,"reptrslt")) != "") {
- if (bValueCheck && utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(findrow,"inptrslt")) != "") {
- //ds_grid_grd_TestInfoCnts.setColumn(findrow,"tooltip",vTooltipText + "\n" + vTooltip);
- } else {
- if (utlf_transNullToEmpty(rslt) != "") {
- ds_grid_grd_TestInfoCnts.setColumn(findrow,"bufinptrslt",rslt);
- lf_cvtResultCode(findrow);
- }
- gv_rowCulcu = true;
- ds_grid_grd_TestInfoCnts.rowposition = findrow;
- grp2.grd_TestInfoCnts.setCellPos(grp2.grd_TestInfoCnts.getBindCellIndex("Body","bufinptrslt"));
- grp2.grd_TestInfoCnts.setFocus();
- gv_rowCulcu = false;
- lf_cvtViewResult();
- }
- }
- }
- }
- }
- }
- }
- if (ds_grid_grd_Calcu.rowcount > 0) {
- grp2.btn_calcu.visible = true;
- } else {
- grp2.btn_calcu.visible = false;
- }
- if (bPopup) {
- PopupDiv00.trackPopup(application.mainframe.position.left+xpos, application.mainframe.position.top+ypos - 150);
- PopupDiv00.show();
- }
- }
- /**********************************************************************************
- * Name : gf_calcDScript
- * Description : 진검 계산식 (계산식에 포함된 검사에 결과가 입력된 경우)
- * Argument : pDScript (계산공식), pAcptCnt [건수)
- * return Type : pDScript
- * Author : Autumn
- ***********************************************************************************/
- function gf_calcDScript (pDScript, pAcptCnt) {
- var sDScript = pDScript;
- var sPreScript = "";
-
- for (var i = 1; i <= pAcptCnt; i++) {
- sPreScript += "var p" + i + " = #p" + i + "#;" + "\n";
- sPreScript += "if (p" + i + " == null) return;" + "\n";
- }
- sDScript = sPreScript + "return " + sDScript + ";";
-
- return sDScript ;
- }
- /**********************************************************************************
- * Name : gf_patBaseCalcInfo
- * Description : 진검 계산식 (환자기본정보 체크)
- * Argument : pDScript (계산공식), pPID [환자번호)
- * return Type : pDScript
- * Author : Autumn
- ***********************************************************************************/
- function gf_patBaseCalcInfo (pDScript, pPID) {
- var sDScript = pDScript;
- ds_patBaseCalcInfo.filter("");
- if (utlf_trim(pPID) != "") {
- ds_patBaseCalcInfo.filter("pid == '" + pPID + "'");
- }
- if (ds_patBaseCalcInfo.rowcount > 0) {
- for (var i = 0; i <ds_patBaseCalcInfo.rowcount; i++) {
- var sTag = "";
- if(utlf_transNullToEmpty(ds_patBaseCalcInfo.getColumn(i,"vsrecord")) != "") {
- if ( !utlf_transNullToEmpty(ds_patBaseCalcInfo.getColumn(i,"vsrecord")).isNumber()
- && !utlf_transNullToEmpty(ds_patBaseCalcInfo.getColumn(i,"vsrecord")).isFloat() ) {
- sTag = "'";
- }
- }
- sDScript = sDScript.replace(ds_patBaseCalcInfo.getColumn(i, "vsname"), sTag + utlf_transNullToEmpty(ds_patBaseCalcInfo.getColumn(i, "vsrecord")) + sTag);
- }
- }
- return sDScript;
- }
- /**********************************************************************************
- * Name : gf_calcEval
- * Description : 진검 계산식 ()
- * Argument : pDScript (계산공식)
- * return Type : pDScript
- * Author : Autumn
- ***********************************************************************************/
- function gf_calcEval(pDScript) {
- var rslt = eval(pDScript);
- if (rslt == "0") {
- } else if (utlf_transNullToEmpty(rslt) == "") {
- rslt = "";//return;
- }
- var er = /^[0-9]*[.][0-9]+$/;//utlf_isNumber, utlf_isFloat 로 체크가 안되는 float 체크용
- if (utlf_isNumber(rslt) || utlf_isFloat(rslt) || er.test(rslt)) {
- rslt = Number((eval(pDScript)).toFixed(10));
- }
-
- return rslt;
- }
- /**********************************************************************************
- * Name : gf_calcValue
- * Description : 진검 계산식 적용
- * Argument : pRow (데이터를 입력한 row), pDScript (계산식), pAcptCnt (검사코드갯수), pForm [호출하는 화면명), pFlag (결과입력(SINGLE)/계산공식화면(MULTY))
- * return Type : pDScript
- * Author : Autumn
- ***********************************************************************************/
- function gf_calcValue (pRow, pDScript, pAcptCnt, pForm, pFlag) {
- var sDScript = pDScript;
-
- var sPID = "";
- var sBcNo = "";
- var acpt = "";
- var spccd = "";
- var fromdd = "";
- var sFind = "";
- var sFind1 = "";
- var sFind2 = "";
- var sTag = "";
- var nRow = -1;
-
- for (var i = 1; i <= pAcptCnt; i++) {
- var iCnt = i;
- iCnt = iCnt.toString().getLeftPad(2,"0");
- if (pFlag == "SINGLE") {
- sPID = utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(pRow, "pid"));
- sBcNo = utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(pRow, "bcno"));
- acpt = utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(pRow, "acpt"+ iCnt));
- spccd = utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(pRow, "acptspc"+ iCnt));
- fromdd = utlf_transNullToEmpty(ds_grid_grd_TestInfoCnts.getColumn(pRow, "fromdd"));
- } else {
- sPID = utlf_transNullToEmpty(ds_grid_grd_Calcu_TestInfoCnts.getColumn(pRow, "pid"));
- sBcNo = utlf_transNullToEmpty(ds_grid_grd_Calcu_TestInfoCnts.getColumn(pRow, "bcno"));
- acpt = utlf_transNullToEmpty(ds_grid_grd_Calcu_TestInfoCnts.getColumn(pRow, "acpt"+ iCnt));
- spccd = utlf_transNullToEmpty(ds_grid_grd_Calcu_TestInfoCnts.getColumn(pRow, "acptspc"+ iCnt));
- fromdd = utlf_transNullToEmpty(ds_grid_grd_Calcu_TestInfoCnts.getColumn(pRow, "fromdd"));
- }
- switch (acpt) {
- case "UV" : // 유린량
- sFind = ds_grid_grd_patList.rowposition;
- sTag = "";
- if(utlf_transNullToEmpty(ds_grid_grd_patList.getColumn(sFind,"urinextrvol")) == "") {
- sDScript = sDScript.replace("#p"+i.toString()+"#", "null");
- } else {
- if ( !utlf_transNullToEmpty(ds_grid_grd_patList.getColumn(sFind,"urinextrvol")).isNumber()
- && !utlf_transNullToEmpty(ds_grid_grd_patList.getColumn(sFind,"urinextrvol")).isFloat() ) {
- sTag = "'";//return;
- }
- sDScript = sDScript.replace("#p"+i.toString()+"#", sTag + utlf_transNullToEmpty(ds_grid_grd_patList.getColumn(sFind,"urinextrvol")) + sTag);
- }
- //계산식 팝업 그리드 설정
- if (pFlag == "MULTY") {
- nRow = ds_grid_grd_Calcu.addRow();
- ds_grid_grd_Calcu.setColumn(nRow, "tclscd", acpt);
- ds_grid_grd_Calcu.setColumn(nRow, "calformcnts", "p"+i.toString());
- ds_grid_grd_Calcu.setColumn(nRow, "bcno", utlf_transNullToEmpty(ds_grid_grd_patList.getColumn(sFind,"bcno")));
- ds_grid_grd_Calcu.setColumn(nRow, "reptrslt", utlf_transNullToEmpty(ds_grid_grd_patList.getColumn(sFind,"urinextrvol")));
- }
- break;
- case "UT" : //유린시간
- sFind = ds_grid_grd_patList.rowposition;
- sTag = "";
- if(utlf_transNullToEmpty(ds_grid_grd_patList.getColumn(sFind,"urinextrtm")) == ""){
- sDScript = sDScript.replace("#p"+i.toString()+"#", "null");
- } else {
- if ( !utlf_transNullToEmpty(ds_grid_grd_patList.getColumn(sFind,"urinextrtm")).isNumber()
- && !utlf_transNullToEmpty(ds_grid_grd_patList.getColumn(sFind,"urinextrtm")).isFloat() ) {
- sTag = "'";//return;
- }
- sDScript = sDScript.replace("#p"+i.toString()+"#", sTag + utlf_transNullToEmpty(ds_grid_grd_patList.getColumn(sFind,"urinextrtm")) + sTag);
- }
-
- //계산식 팝업 그리드 설정
- if (pFlag == "MULTY") {
- var nRow = ds_grid_grd_Calcu.addRow();
- ds_grid_grd_Calcu.setColumn(nRow, "tclscd", acpt);
- ds_grid_grd_Calcu.setColumn(nRow, "calformcnts", "p"+i.toString());
- ds_grid_grd_Calcu.setColumn(nRow, "bcno", utlf_transNullToEmpty(ds_grid_grd_patList.getColumn(sFind,"bcno")));
- ds_grid_grd_Calcu.setColumn(nRow, "reptrslt", utlf_transNullToEmpty(ds_grid_grd_patList.getColumn(sFind,"urinextrtm")));
- }
- break;
- default : //그외
- switch (pForm) {
- case "SSLLR80100" :
- sFind = ds_grid_grd_TestInfoCnts.findRowExpr("testcd=='"+acpt+ "' && spccd=='"+spccd+"'" ); //같은 바코드내에서 검색
- sFind1 = ds_grid_grd_TestInfoCnts.findRowExpr("testcd=='"+acpt+ "' && spccd=='"+spccd+"'" ); //같은 바코드내에서 검색
- sFind2 = ds_grid_grd_TestInfoCnts.findRowExpr("tclscd=='"+acpt+ "' && spccd=='"+spccd+"'" ); //같은 바코드내에서 검색
- break;
- case "SMLLR00400" :
- case "SMLLR00500" :
- sFind = ds_grid_grd_TestInfoCnts.findRowExpr("bcno=='" + sBcNo + "' && testcd=='"+acpt+ "' && spccd=='"+spccd+"'" ); //같은 바코드내에서 검색
- sFind1 = ds_grid_grd_TestInfoCnts.findRowExpr("bcno=='" + sBcNo + "' && testcd=='"+acpt+ "' && spccd=='"+spccd+"'" ); //같은 바코드내에서 검색
- sFind2 = ds_grid_grd_TestInfoCnts.findRowExpr("bcno=='" + sBcNo + "' && tclscd=='"+acpt+ "' && spccd=='"+spccd+"'" ); //같은 바코드내에서 검색
- if (sFind < 0) {
- sFind = ds_grid_grd_TestInfoCnts.findRowExpr("pid=='" + sPID + "' && testcd=='"+acpt+ "' && spccd=='"+spccd+"'" ); // 같은 환자번호내에서 검색
- sFind1 = ds_grid_grd_TestInfoCnts.findRowExpr("pid=='" + sPID + "' && testcd=='"+acpt+ "' && spccd=='"+spccd+"'" ); // 같은 환자번호내에서 검색
- sFind2 = ds_grid_grd_TestInfoCnts.findRowExpr("pid=='" + sPID + "' && tclscd=='"+acpt+ "' && spccd=='"+spccd+"'" ); // 같은 환자번호내에서 검색
- }
- break;
- }
- var sDsName = "ds_grid_grd_TestInfoCnts";
- if (sFind < 0 && ds_bftest.rowcount > 0) { //해당 검사코드를 찾지 못하면 타검사결과를 참조
- switch (pForm) {
- case "SSLLR80100" :
- sFind = ds_bftest.findRowExpr("testcd=='"+acpt+ "' && spccd=='"+spccd+ "' && fromdd=='"+fromdd+"'");
- sFind1 = ds_bftest.findRowExpr("testcd=='"+acpt+ "' && spccd=='"+spccd+ "' && fromdd=='"+fromdd+"'");
- sFind2 = ds_bftest.findRowExpr("tclscd=='"+acpt+ "' && spccd=='"+spccd+ "' && fromdd=='"+fromdd+"'");
- break;
- case "SMLLR00400" :
- case "SMLLR00500" :
- sFind = ds_bftest.findRowExpr("pid=='" + sPID + "' && testcd=='"+acpt+ "' && spccd=='"+spccd + "' && fromdd=='"+fromdd+"'"); // 같은 환자번호내에서 검색
- sFind1 = ds_bftest.findRowExpr("pid=='" + sPID + "' && testcd=='"+acpt+ "' && spccd=='"+spccd + "' && fromdd=='"+fromdd+"'"); // 같은 환자번호내에서 검색
- sFind2 = ds_bftest.findRowExpr("pid=='" + sPID + "' && tclscd=='"+acpt+ "' && spccd=='"+spccd + "' && fromdd=='"+fromdd+"'"); // 같은 환자번호내에서 검색
- break;
- }
- sDsName = "ds_bftest";
- }
- //계산식 팝업 그리드 설정
- if (pFlag == "MULTY") {
- nRow = ds_grid_grd_Calcu.addRow();
- ds_grid_grd_Calcu.setColumn(nRow, "tclscd" , acpt);
- ds_grid_grd_Calcu.setColumn(nRow, "calformcnts", "p"+i.toString());
- ds_grid_grd_Calcu.setColumn(nRow, "tclsscrnnm" , utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"tclsscrnnm")));
- ds_grid_grd_Calcu.setColumn(nRow, "bcno" , utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"bcno")));
- }
- if (pFlag == "MULTY" && sDsName == "ds_bftest") {
- ds_grid_grd_Calcu.setColumn(nRow, "stat", utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"stat")));
- }
-
- //if(utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")) == ""){
- if(utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"inptrslt")) == ""){
- sFind = sFind2;
- //if(utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")) == "") {
- if(utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"inptrslt")) == "") {
- if(pFlag == "SINGLE" && pAcptCnt == 2) return "";
- sDScript = sDScript.replace("#p"+i.toString()+"#", "null");
- if (pFlag == "MULTY") {
- //ds_grid_grd_Calcu.setColumn(nRow, "reptrslt", utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")));
- ds_grid_grd_Calcu.setColumn(nRow, "reptrslt", utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"inptrslt")));
- }
- } else {
- // 20130411 JJH ADD : 결과값이 숫자가 아니면 Return
- sFind = sFind1;
- var sTag = "";
- // if ( !utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")).isNumber()
- // && !utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")).isFloat() ) {
- if ( !utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"inptrslt")).isNumber()
- && !utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"inptrslt")).isFloat() ) {
- sTag = "'";//return;
- }
- sFind = sFind2;
- // sDScript = sDScript.replace("#p"+i.toString()+"#", sTag + utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")) + sTag);
- sDScript = sDScript.replace("#p"+i.toString()+"#", sTag + utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"inptrslt")) + sTag);
- if (pFlag == "MULTY") {
- // ds_grid_grd_Calcu.setColumn(nRow, "reptrslt", sTag + utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")) + sTag);
- ds_grid_grd_Calcu.setColumn(nRow, "reptrslt", sTag + utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"inptrslt")) + sTag);
- }
- }
- } else {
- // 20130411 JJH ADD : 결과값이 숫자가 아니면 Return
- sFind = sFind1;
- sTag = "";
- // if ( !utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")).isNumber()
- // && !utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")).isFloat() ) {
- if ( !utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"inptrslt")).isNumber()
- && !utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"inptrslt")).isFloat() ) {
- sTag = "'";//return;
- }
- // sDScript = sDScript.replace("#p"+i.toString()+"#", sTag + utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")) + sTag);
- sDScript = sDScript.replace("#p"+i.toString()+"#", sTag + utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"inptrslt")) + sTag);
- if (pFlag == "MULTY") {
- // ds_grid_grd_Calcu.setColumn(nRow, "reptrslt", sTag + utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")) + sTag);
- ds_grid_grd_Calcu.setColumn(nRow, "reptrslt", sTag + utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"inptrslt")) + sTag);
- }
- }
- break;
- }
- }
-
- return sDScript;
- }]]></Script>
|