123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580 |
- /**
- * @(#) SMPIJ00700.js
- * 외래일일심사대상자 조회
- * 수정이력
- * - 2008. 07. 15 / 최초작성자 / 박지욱 (xrw 화면단에서 분리)
- */
- // 화면 open시(와 초기화 버튼 클릭시) 화면 초기화 기능을 수행한다.
- function fInitialize() {
- var patunitsrch1 = model.getValue("/root/send/patunitsrch1");
- // main / send / hidden 데이터를 초기화한다.
- fInitSrchData();
- model.setValue("/root/send/patunitsrch1", patunitsrch1);
-
- // 심사 화면에서 등록번호를 입력하고 Enter 친 경우 해당 환자를 조회하여 보여준다.
- if (patunitsrch1) { // 대상자 화면을 취소하고 닫은 후 다시 열때 기존에 심사하던 환자 정보로 다시 조회하지 않도록
- fSetPatUnitSrch1pidSrch();
- }
-
- //로그인한 심사자를 Default로 선택한다.
- var userid = getUserId(); // (common.js) 현재 로그인한 사용자 번호(ID)
-
- //페이지(rownum)를 0으로 세팅한다.
- model.setValue("root/hidden/rownum", -1);
-
- model.setValue("/root/hidden/userid",userid);
- //2011.01.17 경북대김순애샘요청 : 과별로 심사하기위해 막는다.
- //cmb_judgrid.value = userid;
-
- if(cmb_judgrid.label == ""){
- cmb_judgrid.value = "";
- }
-
- // 공통코드를 조회한다.
- // (ZBC001.js) com.ZBCMCODE에서 기초코드 값을 가져와서 Combo 컨트롤 item으로 설정하기 위해 사용한다.
- // 2008.03.18 박지욱 추가(심사상태P0379 공통코드 사용없이 하드코딩)
- zbcfGetCodeList(
- new Array("P0008","P0010","P0155","P0291", "P0288"),
- new Array("/root/init/P0008list","/root/init/P0010list","/root/init/P0155list","/root/init/P0291list","/root/init/P0288list") );
- // 2008. 07.19 보험유형에 보험+급여(11+21+22), 급여전체(21+22) 필드 추가
- var nodelist = instance1.selectNodes("/root/init/P0008list/P0008");
- var length = nodelist.length;
- model.makeValue("/root/init/P0008list/P0008["+ (length+1) +"]/cdnm","보험+급여");
- model.makeValue("/root/init/P0008list/P0008["+ (length+1) +"]/cdid","I");
- model.makeValue("/root/init/P0008list/P0008["+ (length+2) +"]/cdnm","급여전체");
- model.makeValue("/root/init/P0008list/P0008["+ (length+2) +"]/cdid","P");
-
- model.setValue("/root/send/clamfromdd", (new Date()).getDateFormat("YYYYMMDD"));
- submit("TRPIJ00601");
-
- model.removeNodeset("root/init/insukind");
- model.removeNodeset("root/init/suppkind");
- model.removeNodeset("root/init/orddeptcd");
- model.removeNodeset("root/init/orddrid");
- model.removeNodeset("root/init/judgrid");
-
- model.makeNode("root/init/insukind");
- model.makeNode("root/init/suppkind");
- model.makeNode("root/init/orddeptcd");
- model.makeNode("root/init/orddrid");
- model.makeNode("root/init/judgrid");
-
- model.copyNode("root/init/insukind", "root/hidden/tmp/insukind");
- model.copyNode("root/init/suppkind", "root/hidden/tmp/suppkind");
- model.copyNode("root/init/orddeptcd", "root/hidden/tmp/orddeptcd");
- model.copyNode("root/init/orddrid", "root/hidden/tmp/orddrid");
- model.copyNode("root/init/judgrid", "root/hidden/tmp/judgrid");
-
- model.removeNodeset("root/hidden/tmp/insukind");
- model.removeNodeset("root/hidden/tmp/suppkind");
- model.removeNodeset("root/hidden/tmp/orddeptcd");
- model.removeNodeset("root/hidden/tmp/orddrid");
- model.removeNodeset("root/hidden/tmp/judgrid");
-
- //model.refresh(); // refresh() 하지 않은 경우 공통코드가 combo 에 매칭되어 표시되지 않음
- cmb_ordfildcd.refresh();
- cmb_clamdeptcd.refresh();
- cmb_orddrid.refresh();
- cmb_insukind.refresh();
- cmb_suppkind.refresh();
- cmb_judgrid.refresh();
- cmb_workstat.refresh();
- }
- // main / send / hidden 데이터를 초기화한다.
- function fInitSrchData() {
- // grid를 인스턴스에 mapping후 인스턴스에 해당하는 빈줄 1줄이 생기므로 grid 초기화
- model.removeNodeset("/root/main/list1/otpt");
- // 진료과, 주치의 비활성화
- cmb_orddrid.disabled = true;
-
- model.resetInstanceNode("/root/send");
- // 오늘날짜로 청구일자을 표시한다.
- fSetClamDD();
- // 조회 조건을 초기화한다.
- model.setValue("/root/send/cmbtotordamt", "3");
- model.setValue("/root/send/cmbownbamt", "3");
- model.setValue("/root/send/choicdsrch1", "4"); // 4: EDI
- // 대상자 Grid의 메모 필드의 Btn 클릭시 보여지는 메모 저장용 Group을 감춘다.
- grp_judgmemo.visible = false;
- model.resetInstanceNode("/root/hidden/otpt/judgmemo"); // 선택된 메모내역
- // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
- fSetWorkStatCnt();
- model.resetInstanceNode("/root/hidden/sppmc02500/cond");
- model.resetInstanceNode("/root/hidden/smpic00200/judgsrch");
- model.removeNodeset("/root/hidden/smpic00200/rslt");
-
- // 페이지 수 초기화
- model.setValue("/root/hidden/rownum", 0);
- }
- // 청구일자 표시 함수
- function fSetClamDD() {
- var today = new Date();
- var baseyear = today.getDateFormat("YYYY"); // (dateHelper.js)에서 제공하는 함수를 사용하여 해당 년를 구한다.
- var basemonth = today.getDateFormat("MM");
- var baseday = today.getDateFormat("DD");
- var currentdd = baseyear + basemonth + baseday;
- model.setValue("/root/send/clamfromdd", currentdd);
- model.setValue("/root/send/clamtodd", currentdd);
- model.setValue("/root/hidden/otpt/basedd", currentdd);
- }
- // 화면 권한을 설정한다.
- function fCheckAuth() {
- var pAuth = !checkAuth("P"); // 출력권한(보고서 출력, 엑셀 내려받기 등)
- btn_excelsave.disabled = pAuth;
- btn_print.disabled = pAuth;
- }
- // "조회" Btn 외래일일 심사대상자 조회를 요청한다.
- function fGetOutDayJudgTrgtManList(){
- grp_judgmemo.visible = false; // 대상자 Grid의 메모 필드의 Btn 클릭시 보여지는 메모 저장용 Group을 감춘다.
- model.removeNodeset("/root/main/list1/otpt");
-
- // 환자단위조회를 하는 경우
- var patunitsrch1 = model.getValue("/root/send/patunitsrch1").getTrim(); // (stringHelper.js) 문자열 앞뒤에 있는 공백 제거
- model.setValue("/root/send/patunitsrch1", patunitsrch1);
- if (patunitsrch1 == "") {
- model.setValue("/root/send/patunitsrch2", "");
- }
- else if (patunitsrch1.isNumber()) { // (numericHelper.js) 숫자가 입력된 경우 환자번호로 조회한다.
- model.setValue("/root/send/patunitsrch2", "pidSrch");
- }
- // 추가 : 20090813 JHP만든함수 zzu추가 성가에서 환자번호에 문자가들어있는경우 있음(ex : A108) 하여 각 문자 판단하여 앞두자리 판단하여 조회 여부 결정
- else if (fChkPidWordNumber(patunitsrch1) == true) {
- model.setValue("/root/send/patunitsrch2", "pidSrch");
- }
- else { // 문자가 입력된 경우 환자이름으로 조회한다.
- if (patunitsrch1.length > 1) {
- // 청구일자(fromdd ~ todd)를 확인한다.
- var clamfromdd = model.getValue("/root/send/clamfromdd");
- var clamtodd = model.getValue("/root/send/clamtodd");
- var basedd = model.getValue("/root/hidden/otpt/basedd");
-
- if (clamfromdd == "") {
- messageBox("환자이름으로 조회시 청구일자 시작일자는", "I003"); ///환자이름으로 조회시 청구일자 시작일자는 필수입력입니다.
- //model.refresh();
- return;
- }
- if (!isValidDateTime(clamfromdd)) {
- messageBox("올바른 형식의 시작일자를", "C001"); ///올바른 형식의 시작일자를 입력하십시오.
- //model.refresh();
- return;
- }
- if (!isValidDateTime(clamtodd)) {
- // 화면 초기화 시에 설정해 둔 오늘날짜로 종료일자를 설정한다.
- model.setValue("/root/send/clamtodd", basedd);
- //model.refresh();
- clamtodd = basedd;
- }
- var dateDif = getDateInterval(clamfromdd, clamtodd); // (dateHelper.js) 두 일자사이의 차를 일단위로 반환
- if (dateDif < 0) {
- messageBox("검색 시작일자가 종료일자 보다 이후", "E008"); ///검색 시작일자가 종료일자 보다 이후 입니다.
- //model.refresh();
- return;
- }
- else if (dateDif > 90) {
- messageBox("검색기간은 최대 한달(30일)", "E008"); ///검색기간은 최대 세달(90일) 입니다.
- //model.refresh();
- return;
- }
-
- model.setValue("/root/send/patunitsrch2", "nmSrch");
- } else {
- messageBox("환자단위조회시 검색할 환자이름은 2글자 이상", "C001"); ///환자단위조회시 검색할 환자이름은 2글자 이상 입력하십시오.
- model.setValue("/root/send/patunitsrch2", "");
- //model.refresh();
- return;
- }
- }
-
- // 환자단위조회를 하지 않는 경우
- if (model.getValue("/root/send/patunitsrch2") == "") {
- // 청구일자(fromdd ~ todd)를 확인한다.
- var clamfromdd = model.getValue("/root/send/clamfromdd");
- var clamtodd = model.getValue("/root/send/clamtodd");
- var basedd = model.getValue("/root/hidden/otpt/basedd");
-
- if (clamfromdd == "") {
- messageBox("청구일자 검색 시작일자는", "I003"); ///청구일자 시작일자는 필수입력입니다.
- //model.refresh();
- return;
- }
- if (!isValidDateTime(clamfromdd)) {
- messageBox("올바른 형식의 시작일자를", "C001"); ///올바른 형식의 시작일자를 입력하십시오.
- //model.refresh();
- return;
- }
- if (!isValidDateTime(clamtodd)) {
- // 화면 초기화 시에 설정해 둔 오늘날짜로 종료일자를 설정한다.
- model.setValue("/root/send/clamtodd", basedd);
- //model.refresh();
- clamtodd = basedd;
- }
- var dateDif = getDateInterval(clamfromdd, clamtodd); // (dateHelper.js) 두 일자사이의 차를 일단위로 반환
- if (dateDif < 0) {
- messageBox("검색 시작일자가 종료일자 보다 이후", "E008"); ///검색 시작일자가 종료일자 보다 이후 입니다.
- //model.refresh();
- return;
- }
- else if (dateDif > 31) {
- messageBox("검색기간은 최대 한달(30일)", "E008"); ///검색기간은 최대 세달(90일) 입니다.
- //model.refresh();
- return;
- }
-
- // 선별심사대상을 설정한다.
- var choicdsrch2 = model.getValue("/root/send/choicdsrch2").getTrim();
- model.setValue("/root/send/choicdsrch2", choicdsrch2);
-
- if (choicdsrch2 != "") {
- var choicdsrch1 = model.getValue("/root/send/choicdsrch1");
- if (choicdsrch1 == "") {
- messageBox("선별심사 조건을 명칭, 수가, EDI 중에", "C002"); ///선별심사 조건을 명칭, 수가, EDI 중에 선택하십시오.
- //model.refresh();
- return;
- }
- else if (choicdsrch1 == "1") { // 명칭인 경우
- /*
- for (var i=0; i < choicdsrch2.length; i++) {
- if (choicdsrch2.charCodeAt(i) > 255) { // 한글이 들어오면 255보다 크다.
- model.setValue("/root/send/choicdsrch1", "2"); // 2: 한글명
- }
- }
- */
- } else { // 수가와 EDI 코드 검색의 경우 대문자로 조건값을 변환한다.
- model.setValue("/root/send/choicdsrch2", choicdsrch2.toUpperCase());
- }
- }
- }
-
- // rownum 세팅
- model.setValue("/root/send/rownum", model.getValue("/root/hidden/rownum"));
-
- submit("TRPIJ00602");
- // 검색 결과를 표시한다.
- fSetSrchJudgTrgtMan();
-
- if (getOpenerUID()) { // (common.js) Opener의 UID를 리턴, Opener가 없으면 "" 리턴
- // 대상자 리스트에서 선택된 row를 초기화한다. (대상자조회 pre/next 에서 사용)
- model.resetInstanceNode(opener.root.hidden.smpij00600.rslt.selectedRow);
- }
- //model.refresh();
- }
- // 다음페이지 버튼 클릭
- function fGetOutDayJudgTrgtManList2() {
- grp_judgmemo.visible = false; // 대상자 Grid의 메모 필드의 Btn 클릭시 보여지는 메모 저장용 Group을 감춘다.
- model.removeNodeset("/root/temp/list1/otpt");
-
- // 환자단위조회를 하는 경우
- var patunitsrch1 = model.getValue("/root/send/patunitsrch1").getTrim(); // (stringHelper.js) 문자열 앞뒤에 있는 공백 제거
- model.setValue("/root/send/patunitsrch1", patunitsrch1);
- if (patunitsrch1 == "") {
- model.setValue("/root/send/patunitsrch2", "");
- }
- else if (patunitsrch1.isNumber()) { // (numericHelper.js) 숫자가 입력된 경우 환자번호로 조회한다.
- model.setValue("/root/send/patunitsrch2", "pidSrch");
- } else { // 문자가 입력된 경우 환자이름으로 조회한다.
- if (patunitsrch1.length > 1) {
- // 청구일자(fromdd ~ todd)를 확인한다.
- var clamfromdd = model.getValue("/root/send/clamfromdd");
- var clamtodd = model.getValue("/root/send/clamtodd");
- var basedd = model.getValue("/root/hidden/otpt/basedd");
-
- if (clamfromdd == "") {
- messageBox("환자이름으로 조회시 청구일자 시작일자는", "I003"); ///환자이름으로 조회시 청구일자 시작일자는 필수입력입니다.
- //model.refresh();
- return;
- }
- if (!isValidDateTime(clamfromdd)) {
- messageBox("올바른 형식의 시작일자를", "C001"); ///올바른 형식의 시작일자를 입력하십시오.
- //model.refresh();
- return;
- }
- if (!isValidDateTime(clamtodd)) {
- // 화면 초기화 시에 설정해 둔 오늘날짜로 종료일자를 설정한다.
- model.setValue("/root/send/clamtodd", basedd);
- //model.refresh();
- clamtodd = basedd;
- }
- var dateDif = getDateInterval(clamfromdd, clamtodd); // (dateHelper.js) 두 일자사이의 차를 일단위로 반환
- if (dateDif < 0) {
- messageBox("검색 시작일자가 종료일자 보다 이후", "E008"); ///검색 시작일자가 종료일자 보다 이후 입니다.
- //model.refresh();
- return;
- }
- else if (dateDif > 90) {
- messageBox("검색기간은 최대 한달(30일)", "E008"); ///검색기간은 최대 세달(90일) 입니다.
- //model.refresh();
- return;
- }
-
- model.setValue("/root/send/patunitsrch2", "nmSrch");
- } else {
- messageBox("환자단위조회시 검색할 환자이름은 2글자 이상", "C001"); ///환자단위조회시 검색할 환자이름은 2글자 이상 입력하십시오.
- model.setValue("/root/send/patunitsrch2", "");
- //model.refresh();
- return;
- }
- }
-
- // 환자단위조회를 하지 않는 경우
- if (model.getValue("/root/send/patunitsrch2") == "") {
- // 청구일자(fromdd ~ todd)를 확인한다.
- var clamfromdd = model.getValue("/root/send/clamfromdd");
- var clamtodd = model.getValue("/root/send/clamtodd");
- var basedd = model.getValue("/root/hidden/otpt/basedd");
-
- if (clamfromdd == "") {
- messageBox("청구일자 검색 시작일자는", "I003"); ///청구일자 시작일자는 필수입력입니다.
- //model.refresh();
- return;
- }
- if (!isValidDateTime(clamfromdd)) {
- messageBox("올바른 형식의 시작일자를", "C001"); ///올바른 형식의 시작일자를 입력하십시오.
- //model.refresh();
- return;
- }
- if (!isValidDateTime(clamtodd)) {
- // 화면 초기화 시에 설정해 둔 오늘날짜로 종료일자를 설정한다.
- model.setValue("/root/send/clamtodd", basedd);
- //model.refresh();
- clamtodd = basedd;
- }
- var dateDif = getDateInterval(clamfromdd, clamtodd); // (dateHelper.js) 두 일자사이의 차를 일단위로 반환
- if (dateDif < 0) {
- messageBox("검색 시작일자가 종료일자 보다 이후", "E008"); ///검색 시작일자가 종료일자 보다 이후 입니다.
- //model.refresh();
- return;
- }
- else if (dateDif > 31) {
- messageBox("검색기간은 최대 한달(30일)", "E008"); ///검색기간은 최대 세달(90일) 입니다.
- //model.refresh();
- return;
- }
-
- // 선별심사대상을 설정한다.
- var choicdsrch2 = model.getValue("/root/send/choicdsrch2").getTrim();
- model.setValue("/root/send/choicdsrch2", choicdsrch2);
-
- if (choicdsrch2 != "") {
- var choicdsrch1 = model.getValue("/root/send/choicdsrch1");
- if (choicdsrch1 == "") {
- messageBox("선별심사 조건을 명칭, 수가, EDI 중에", "C002"); ///선별심사 조건을 명칭, 수가, EDI 중에 선택하십시오.
- //model.refresh();
- return;
- }
- else if (choicdsrch1 == "1") { // 명칭인 경우
- for (var i=0; i < choicdsrch2.length; i++) {
- if (choicdsrch2.charCodeAt(i) > 255) { // 한글이 들어오면 255보다 크다.
- model.setValue("/root/send/choicdsrch1", "2"); // 2: 한글명
- }
- }
- } else { // 수가와 EDI 코드 검색의 경우 대문자로 조건값을 변환한다.
- model.setValue("/root/send/choicdsrch2", choicdsrch2.toUpperCase());
- }
- }
- }
-
- // rownum 세팅
- model.setValue("/root/send/rownum", model.getValue("/root/hidden/rownum"));
-
- submit("TRPIJ00603");
-
- // 조회된 리스트에 붙이기 작업 수행
- var nodelist = instance1.selectNodes("/root/main/list1/otpt");
- var length = nodelist.length;
- var addnodelist = instance1.selectNodes("/root/temp/list1/otpt");
- var addlength = addnodelist.length;
- copyNodeType("/root/main/list1","/root/temp/list1","after");
- model.refresh();
-
- // 검색 결과를 표시한다.
- fSetSrchJudgTrgtMan();
-
- //model.refresh();
- }
- // 심사 화면에서 등록번호를 입력하고 Enter 친 경우 해당 환자를 조회하여 보여준다.
- function fSetPatUnitSrch1pidSrch(){
- var patunitsrch1 = opener.model.getValue("/root/hidden/smpij00600/cond/pid");
- if (patunitsrch1 != "") {
- grp_judgmemo.visible = false; // 대상자 Grid의 메모 필드의 Btn 클릭시 보여지는 메모 저장용 Group을 감춘다.
- model.setValue("/root/send/patunitsrch1", patunitsrch1);
- model.setValue("/root/send/patunitsrch2", "pidSrch");
- model.setValue("/root/send/ioflag", "O");
- model.setValue("/root/hidden/rownum", 0);
- model.setValue("/root/send/rownum", 0);
-
- submit("TRPIJ00602");
- // 검색 결과를 표시한다.
- fSetSrchJudgTrgtMan();
-
- model.setFocus("ipt_patunitsrch");
- model.setValue(opener.root.hidden.smpij00600.rslt.oldPid, patunitsrch1); // 현재 조회된 환자의 등록번호를 저장
- //model.refresh();
- }
- }
- // 검색 결과를 표시한다.
- function fSetSrchJudgTrgtMan() {
- // 한글명칭 검색시 Rdo에 선택이 표시되지 않으므로
- if (model.getValue("/root/send/choicdsrch1") == "2") { // 2: 한글명
- model.setValue("/root/send/choicdsrch1", "1");
- }
- var srchmode = "otptmast";
- if (model.getValue("/root/send/patunitsrch1") == "" && model.getValue("/root/send/choicdsrch2")) {
- srchmode = "specotpt";
- }
- if (srchmode == "specotpt") { // 선별심사 모드인 경우
- grd_otptmast.visible = false;
- grd_specotpt.visible = true;
- cap_judgtrgtman.text = "선별심사 대상자";
- } else {
- grd_otptmast.visible = true;
- grd_specotpt.visible = false;
- cap_judgtrgtman.text = "일일심사 대상자";
- }
- var otptList = instance1.selectSingleNode("/root/main/list1/otpt");
- if (otptList == null) { // 조회된 대상자가 없는 경우
- messageBox("검색된 심사대상자가", "I004"); ///검색된 심사대상자가 없습니다.
- return;
- }
- otptList = instance1.selectSingleNode("/root/main/list1"); //root/main/list1
- var otptNode = otptList.childNodes; //root/main/list1/otpt
-
- if (srchmode == "specotpt") { // 선별심사 모드인 경우
- for (var i = 1; i <= otptNode.length; i++) { // 조회된 대상자 만큼 돌면서
- // 선별심사, 문제환자 처방 색깔 구분
- var spcljudgyn = model.getValue("/root/main/list1/otpt["+ i +"]/spcljudgyn");
- var probjudgflag = model.getValue( "/root/main/list1/otpt[" + i + "]/probjudgflag");
- var tdayinflag = model.getValue("/root/main/list1/otpt[" + i + "]/tdayinflag");
- // 2008.01.10 박지욱 수정 (범례 색상 주기), 당일입원환자 범례 추가
- if(spcljudgyn == "A"){
- grd_specotpt.rowStyle(i,"data","background-color") = "#ffe79d";
- }else if(tdayinflag != "N") {
- grd_specotpt.rowStyle(i,"data","background-color") = "#99cc00";
- }else{
- var chk_digit = i % 2; //2로 나눠서 나머지가 0 이면 짝수줄 이란 소리
- if(chk_digit != 0){
- grd_specotpt.rowStyle(i, "data", "background-color") = "#ffffff"; //짝수는 연한 회식
- }else{
- grd_specotpt.rowStyle(i, "data", "background-color") = "#f4f4f4"; //홀수는 그냥 힌색
- }
- }
- }
- } else {
- for (var i = 1; i <= otptNode.length; i++) { // 조회된 대상자 만큼 돌면서
- // 선별심사, 문제환자 처방 색깔 구분
- var spcljudgyn = model.getValue("/root/main/list1/otpt["+ i +"]/spcljudgyn");
- var probjudgflag = model.getValue( "/root/main/list1/otpt[" + i + "]/probjudgflag");
- var tdayinflag = model.getValue("/root/main/list1/otpt[" + i + "]/tdayinflag");
-
- // 2008.01.10 박지욱 수정 (범례 색상 주기)
- if(spcljudgyn == "A"){
- grd_otptmast.rowStyle(i,"data","background-color") = "#ffe79d";
- }else if(tdayinflag != "N") {
- grd_otptmast.rowStyle(i,"data","background-color") = "#99cc00";
- }else{
- var chk_digit = i % 2; //2로 나눠서 나머지가 0 이면 짝수줄 이란 소리
- if(chk_digit != 0){
- grd_otptmast.rowStyle(i, "data", "background-color") = "#ffffff"; //짝수는 연한 회식
- }else{
- grd_otptmast.rowStyle(i, "data", "background-color") = "#f4f4f4"; //홀수는 그냥 힌색
- }
- }
- }
- }
- // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
- fSetWorkStatCnt();
-
- model.refresh();
- }
- // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
- function fSetWorkStatCnt(){
- model.setValue("/root/hidden/otpt/totcnt", instance1.getXPathString("count(/root/main/list1/otpt)")); // 총건수
- model.setValue("/root/hidden/otpt/endcnt", instance1.getXPathString("count(/root/main/list1/otpt[dschjudgprcsstat='E'])")); // 완료
- model.setValue("/root/hidden/otpt/unjudgcnt", instance1.getXPathString("count(/root/main/list1/otpt[dschjudgprcsstat='A' or dschjudgprcsstat =''])")); // 미심사
- model.setValue("/root/hidden/otpt/retecnt", instance1.getXPathString("count(/root/main/list1/otpt[dschjudgprcsstat='D'])")); // 보류
- model.setValue("/root/hidden/otpt/delcnt", "0"); // 삭제
- model.setValue("/root/hidden/otpt/judgprcscnt", instance1.getXPathString("count(/root/main/list1/otpt[dschjudgprcsstat ='B'])")); // 심사중
- model.setValue("/root/hidden/otpt/rptclamcnt", "0"); // 재청구
- if (grd_specotpt.visible == true) { // 선별심사 모드인 경우
- var totCnt = 0;
- var cntE = 0; // 완료
- var cntA = 0; // 미심사
- var cntD = 0; // 보류
- var cntB = 0; // 심사중
- var prePid = "";
- var preOrddd = "";
- for (var i = 1; i < grd_specotpt.rows; i++) {
- var pid = model.getValue("/root/main/list1/otpt["+ i +"]/pid");
- var orddd = model.getValue("/root/main/list1/otpt["+ i +"]/orddd");
- if (prePid != pid || preOrddd != orddd) {
- var dschjudgprcsstat = model.getValue("/root/main/list1/otpt["+ i +"]/dschjudgprcsstat");
- if (dschjudgprcsstat == "E") {
- cntE++;
- } else if (dschjudgprcsstat == "A" || dschjudgprcsstat == "") {
- cntA++;
- } else if (dschjudgprcsstat == "D") {
- cntD++;
- } else if (dschjudgprcsstat == "B") {
- cntB++;
- }
- totCnt++;
- }
- prePid = pid;
- preOrddd = orddd;
- }
- model.setValue("/root/hidden/otpt/totcnt", totCnt);
- model.setValue("/root/hidden/otpt/endcnt", cntE);
- model.setValue("/root/hidden/otpt/unjudgcnt", cntA);
- model.setValue("/root/hidden/otpt/retecnt", cntD);
- model.setValue("/root/hidden/otpt/judgprcscnt", cntB);
-
- }
- }
- // 추가 : 20090813 JHP가만든 함수 zzu추가 성가에서 환자번호에 문자가들어있는경우 있음(ex : A108) 하여 각 문자 판단하여 앞두자리 판단하여 조회 여부 결정
- // 환자번호 문자 숫자 여부 판단. (isNaN 숫자가아닐경우 true, isFinite 숫자일경우 true)
- function fChkPidWordNumber(pid)
- {
- if( typeof( this ) == "undefined" ) return false;
- if( this.length == 0 ) return false;
-
- var thisSting = pid.toString();
- var firstpid = "";
-
- for( var i=0; i < thisSting.length; i++ ){
- var thisNumber = thisSting.substring( i, i+1 );
-
- // 숫자가 아니면
- if( isNaN( thisNumber ) ) firstpid = firstpid + 'W';
- // 숫자면
- if( isNaN( thisNumber ) == false ) firstpid = firstpid + 'N';
- // 공백이면 FALSE 리턴
- if( " " == thisNumber ) firstpid = firstpid + 'L';
- }
- var firstpidYN = firstpid.substring( 0, 2 );
-
- // 첫번째 두번째 글자 여부
- // 문자숫자, 숫자숫자 : pid로 판단 : true
- // 문자문자, 숫자문자 : 글자로 판단 : false
- // 그외 : 글자로 판단 : false
- if ( firstpidYN == "WN"){ return true}
- else if ( firstpidYN == "NN"){ return true}
- else if ( firstpidYN == "WW"){ return false}
- else if ( firstpidYN == "NW"){ return false}
- else { return false }
- }
|