123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/****************************************************************************************
- * Description :원본 데이타셋의 rowtype 을 읽어서 추가/수정/삭제 에 해당되면 저장용 데이타셋의 status 컬럼에 세팅
- ****************************************************************************************/
- function lf_save_grd_ds(objDs, objCondDs)
- {
- objCondDs.clearData();
- for (var i=0; i<objDs.rowcount; i++) {
- // 저장용 데이타셋 생성
- if ( objDs.getRowType(i) > 1 ) {
- var aRow = objCondDs.addRow();
- objCondDs.copyRow(aRow, objDs, i);
-
- var status = objCondDs.getColumnInfo("status");
- if (utlf_isNull(status)) {
- objCondDs.addColumn("status", "string"); // status 컬럼이 없으면 생성(오류방지)
- }
-
- if ( objDs.getRowType(i) == 2) {
- objCondDs.setColumn(aRow, "status", "i");
- } else if ( objDs.getRowType(i) == 4) {
- objCondDs.setColumn(aRow, "status", "u");
- } else if ( objDs.getRowType(i) == 8) {
- objCondDs.setColumn(aRow, "status", "d");
- }
- }
- }
- }
- /**
- * @desc : 그리드 여러줄 행삭제 기능
- * <pre>
- * 그리드에서 여러줄을 클릭하고 행삭제를 눌렀을때
- * 데이터그리드의 선택된 줄의 rowstatus 를 D로 만들어 놓고
- * 데이타 그리드의 내용중에서 D인것만 submit으로 보내 데이타베이스에서 삭제하고
- * 그리드에서 선택한 내용을 삭제한다
- * </pre>
- * @param : objDS-삭제할원본DS, objCondDs-삭제데이터DS, sid-서브밋ID, sservice-서비스, smethod-메소트, sinds-보낼DS, status-상태값(대소문자)
- * @return :
- * @---------------------------------------------------
- */
- function lf_DelGrdRows(objDS, objCondDs, sid, sservice, smethod, sinds, status)
- {
- if ( objDS.rowposition == -1 ) {
- sysf_messageBox("삭제할 행을","C002");
- return;
- }
- var del = sysf_messageBox("해당 데이터를 ", "Q001"); // 데이터 삭제 확인시(위의 메세지 박스에서 예를 누르면 6 반환)
- if ( del == 6 ) {
- objCondDs.clearData();
-
- for (var i=0; i<objDS.rowcount; i++) {
- if ( objDS.getSelect(i) == true ) {
- if ( objDS.getRowType(i) != 2 ) { // insert row 가 아니면 삭제용 ds에 추가
- var aRow = objCondDs.addRow();
- objCondDs.copyRow(aRow, objDS, i);
- objCondDs.addColumn("status", "string");
- objCondDs.setColumn(aRow, "status", status);
- objCondDs.setRowType(aRow, "D");
- }
- objDS.setRowType(i, "D");
- }
- }
- // trace(objCondDs.saveXML());
- tranf_submit({
- id: sid
- , service: sservice
- , method: smethod
- , inds : sinds
- , async: false
- });
- //그리드의 선택한 로우를 삭제한다
- for (var i=0; i<objDS.rowcount; i++) {
- if ( objDS.getSelect(i) == true ) {
- if ( objDS.getRowType(i) == 8 ) {
- objDS.deleteRow(i);
- }
- }
- }
- sysf_messageBox("선택하신 데이터들이 삭제","I001");
- }
- }
- /****************************************************************************************
- * Description : 그리드의 다중선택된 row 의 체크값을 변경해주는 함수
- * objDS :데이타셋
- * objCol :컬럼명
- * cFlag :변경값YN
- * ex) fCheckYNSelectedRows(ds_grid_grd_ordlist, "chkflag", "Y");
- ****************************************************************************************/
- // 그리드의 선택된 row 의 체크값을 변경해주는 함수
- // objDS:데이타셋 , objCol:컬럼명 , cFlag:변경값YN
- function fCheckYNSelectedRows(objDS, objCol, cFlag)
- {
- objDS.enableevent = false;
- for (var i=0; i<objDS.rowcount; i++) {
- if ( objDS.getSelect(i) == true ) {
- objDS.setColumn(i, objCol, cFlag);
- }
- }
- objDS.enableevent = true;
- }
- /****************************************************************************************
- * Description : 수가조회 함수
- *
- * calcscorcd : 수가코드
- * openflag : 조회 구분
- * dd : 날짜
- * insu : 인수
- * parentname : 부모창 화면 ID
- *
- * ex) var rtn = lf_SMPIC00200(con1_dd, con2_gsflag, con3_search1, con4_search2, con5_insu, openflag, parentname)
-
- // 조회된 값이 있다면
- if (!utlf_isNull(rtn)) {
- var hngnm = ds_rslt_calcscorcd.getColumn(0, "hngnm");
-
- // 팝업에서 가져온 경우
- if ( utlf_isNull(hngnm) ) {
- ds_send_itemchk.setColumn(0, "calcscorcd", ds_temp_picmmech.getColumn(0, "picmmech_calcscorcd"));
- ds_send_itemchk.setColumn(0, "ordnm", ds_temp_picmmech.getColumn(0, "picmmech_hngnm"));
-
- // 수가조회 쿼리에서 바로 수가코드명을 가져온 경우
- } else {
- ds_send_itemchk.setColumn(0, "ordnm", hngnm);
- }
- // 값 없을시 초기화
- } else {
- ds_send_itemchk.setColumn(0, "calcscorcd", "");
- ds_send_itemchk.setColumn(0, "ordnm", "");
- }
- ****************************************************************************************/
- // 유의점 : 그리드의 text에선 grid.updateToDataset() / 일반 edit 컴포넌트에선 ipt_diagcd.updateToDataset() 를 먼저 해줘야 bind 시키는 dataset 에 반영된값으로 조회됨
- function lf_SMPIC00200(con1_dd, con2_gsflag, con3_search1, con4_search2, con5_insu, openflag, parentname)
- {
- // 수가 조회용
- dsf_createDsRow("ds_cond_calcscorcd", [{col:"con1_dd", type:"string", size:256, val:con1_dd},
- {col:"con2_gsflag", type:"string", size:256, val:con2_gsflag},
- {col:"con3_search1", type:"string", size:256, val:con3_search1},
- {col:"con4_search2", type:"string", size:256, val:con4_search2},
- {col:"srchdrugcd", type:"string", size:256, val:con4_search2},
- {col:"con5_insu", type:"string", size:256, val:con5_insu}]);
- // 수가 조회 결과용
- dsf_createDs("ds_rslt_calcscorcd", [{col:"calcscorcd"}, {col:"hngnm"}, {col:"prcpcd"}, {col:"prcpnm"}, {col:"fromdd"}, {col:"todd"}]);
-
- ds_rslt_calcscorcd.clearData();
- var rtn = "";
- var objArg = new Object();
- // 조회된 값이 없다면 수가조회 팝업을 띄움
- if ( utlf_isNull(ds_rslt_calcscorcd.getColumn(0, "hngnm")) ) {
-
- frmf_setParameter("openflag", openflag);
- frmf_setParameter("iParam_mother_view", parentname);
- frmf_setParameter("iParam_picmmech_temp_grupsnglflag", con2_gsflag);
-
- objArg.ds_arg_temp = ds_cond_calcscorcd;
- rtn = frmf_modal("SMPIC00200", "SMPIC00200", objArg, null, 1, 100, 200, null, null, null, null, null, "M");
-
- if ( utlf_isNull(rtn) ) {
- sysf_messageBox("수가조회 화면에서 선택한 결과가", "I004") ; // 없습니다.
- }
-
- } else {
- if ( parentname == "SMPIB00800_자동메모생성관리" ) {
- objArg.picmmech_hngnm = ds_rslt_calcscorcd.getColumn(0, "hngnm");
- rtn = objArg;
- } else {
- rtn = ds_rslt_calcscorcd.getColumn(0, "hngnm");
- }
- }
-
- return rtn;
- }
- /****************************************************************************************
- * Description : 상병조회 함수
- *
- * diagcd : 상병코드
- * diagnm : 상병코드명
- * basedd : 날짜
- * singleflag : S-싱글 M-멀티
- * selectrdo : 유형 (1-ICD10, 2-확장)
- *
- * ex) var rtn = lf_SPPIZ00400( ds_send_itemchk.getColumn(0, "diagcd")
- , ""
- , utlf_getCurrentDate()
- , "S"
- , "1"
- );
- // 조회된 값이 있다면
- if (!utlf_isNull(rtn)) {
- var diagcd = rtn.sDiagcd;
- var diagnm = rtn.sDiagnm;
-
- // 팝업에서 가져온 경우
- if ( !utlf_isNull(diagcd) ) {
- ds_send_itemchk.setColumn(0, "diagcd", diagcd);
- ds_send_itemchk.setColumn(0, "diagnm", diagnm);
-
- // 상병조회 쿼리에서 바로 상병명을 가져온 경우
- } else {
- ds_send_itemchk.setColumn(0, "diagnm", diagnm);
- }
- // 값 없을시 초기화
- } else {
- ds_send_itemchk.setColumn(0, "diagcd", "");
- ds_send_itemchk.setColumn(0, "diagnm", "");
- }
- ****************************************************************************************/
- // 유의점 : 그리드의 text에선 grid.updateToDataset() / 일반 edit 컴포넌트에선 ipt_diagcd.updateToDataset() 를 먼저 해줘야 bind 시키는 dataset 에 반영된값으로 조회됨
- function lf_SPPIZ00400(diagcd, diagnm, basedd, singleflag, selectrdo)
- {
- // 상병 조회용
- dsf_createDsRow("ds_cond_diagcd", [{col:"diagcdfrom", type:"string", size:256, val:diagcd}, {col:"diagkind", type:"string", size:256, val:selectrdo}]);
- // 상병 조회 결과용
- dsf_createDsRow("ds_rslt_diagcd", [{col:"hngnm", type:"string", size:256, val:""}, {col:"hngcnt", type:"string", size:256, val:""}]);
-
- ds_rslt_diagcd.clearData();
-
- tranf_submit({
- id : "TRPIB00803"
- , service : "insubasecdmngtapp.AutMemoCret"
- , method : "reqGetAutMemoCretDiagnmfrom"
- , inds : "req=ds_cond_diagcd"
- , outds : "ds_rslt_diagcd=rsltnm"
- , async : false
- });
-
- var rtn = "";
- var objArg = new Object();
- // 조회된 값이 없다면 상병조회 팝업을 띄움
- if ( utlf_isNull(ds_rslt_diagcd.getColumn(0, "hngnm")) ) {
-
- objArg.sDiagcd = diagcd;
- objArg.sDiagnm = diagnm;
- objArg.sBasedd = basedd;
- objArg.sSingleFlag = singleflag;
- objArg.sSelectedrdodiagkind = selectrdo;
-
- rtn = frmf_modal("SPPIZ00400", "SPPIZ00400", objArg);
-
- if ( utlf_isNull(rtn) ) {
- sysf_messageBox("상병조회 화면에서 선택한 결과가", "I004") ; // 없습니다.
- }
-
- } else {
-
- objArg.sDiagcd = "";
- objArg.sDiagnm = ds_rslt_diagcd.getColumn(0, "hngnm");
- objArg.sBasedd = "";
- objArg.sSingleFlag = "";
- objArg.sSelectedrdodiagkind = "";
-
- rtn = objArg;
- }
-
- return rtn;
- }]]></Script>
|