123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <!--
- * @(#)SPPIZ00500_특정내역상세관리.xrw
- * 수정이력
- * - 2007.05.02 / 최초작성 / 정주미
- * - 2007.05.08 / SPPID21500.xrw에서 SPPIZ00500.xrw으로 변경 / 정주미
- * - 2007.09.20 / 화면수정 / 김건기
- *
- * - opener 에서 전달받는 조건 경로
- /root/hidden/item1/clsp
- -->
- <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
- <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
- <xhtml:head>
- <xhtml:title>특정내역 상세 관리</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <item1>
- <clsp>
- <flag/>
- <snglcalcscorcd/>
- <clodseqno/>
- <edilnno/>
- <spclcd/>
- <detldesc/>
- <spclspec/>
- <spclformat/>
- <rownum/>
- <cdnm/>
- <unitflag/>
- <selectedrow/>
- <list/>
- </clsp>
- </item1>
- </main>
- <send>
- <unitflag/>
- </send>
- <init>
- <P0117list>
- <P0117>
- <cdid/>
- <cdnm/>
- <detldesc/>
- <dispseq/>
- <cdval/>
- <minval/>
- <cdengabbrnm/>
- </P0117>
- </P0117list>
- <P0117sublist/>
- </init>
- <hidden>
- <clsp>
- <cond>
- <flag/>
- <snglcalcscorcd/>
- <clodseqno/>
- <edilnno/>
- <spclcd/>
- <detldesc/>
- <spclspec/>
- <spclformat/>
- <rownum/>
- <cdnm/>
- <unitflag/>
- <list/>
- </cond>
- </clsp>
- <sppiz00700>
- <cond>
- <judgrid/>
- <memoflag/>
- <memocls/>
- <ediitem1/>
- </cond>
- <rslt>
- <memocd/>
- <memo/>
- </rslt>
- </sppiz00700>
- </hidden>
- </root>
- </instance>
- <submission id="TRPIZ00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/P0117list"/>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- fInitialize(); // 화면을 초기화한다.
- fCheckAuth(); // 화면 권한을 설정한다.
- ]]>
- </script>
- <submission id="TRPAM00105" mediatype="application/x-www-form-urlencoded" method="post"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
- <script type="javascript" src="../../../pam/pamcomnweb/js/PAM001.js"/>
- <script type="javascript">
- <![CDATA[
- // 화면 권한을 설정한다.
- function fCheckAuth() {
- /*
- if (getAuth() == "") { // (common.js) 현재 화면의 권한 정보를 확인
- // 메뉴에서 열리는 화면이 아닌 경우 메뉴가 없는 Local Test를 위해 임시로 설정함
- model.setValue("/root/hidden/properties/auth", "10000000"); // R권한만 있는 경우
- }
- */
- var xAuth = !checkAuth("X");
- cmb_spclcd.disabled = xAuth; // 특정코드 (CD) Combo
- tar_spclspec.disabled = xAuth; // 특정내역 TextArea
- grd_clsplist.disabled = xAuth;
- btn_confirm.disabled = xAuth; // 확인
- btn_delete.disabled = xAuth; // 삭제
- btn_alter.disabled = xAuth;
- btn_add.disabled = xAuth;
- btn_memohistory.disabled = xAuth;
- btn_memohistory_drug.disabled = xAuth;
- btn_memohistory_injection.disabled = xAuth;
- btn_memohistory_treat.disabled = xAuth;
- btn_memohistory_exam.disabled = xAuth;
- btn_memohistory_etc.disabled = xAuth;
- }
-
- // 화면을 초기화한다.
- function fInitialize() {
- if (checkOpener()) { // (common.js) 자신을 Open한 opener의 현재 UID가 자신을 open한 시점의 UID와 비교하여 변경되었는지 여부를 반환
- model.removeNodeset("/root/main/item1/clsp");
- model.makeNode("/root/main/item1/clsp");
- model.copyNode("/root/main/item1/clsp", "/root/hidden/clsp/cond");
- // opener에서 특정내역 단위구분을 전달하기 않은 경우를 위해 node를 생성한다.
- model.makeNode("/root/main/item1/clsp/unitflag");
- // 특정목록 row를 선택할 때 이전 편집 내용을 자동으로 설정하기 위해 이전에 선택된 row를 기억한다.
- model.makeNode("/root/main/item1/clsp/selectedrow");
-
- var unitflag = model.getValue("/root/main/item1/clsp/unitflag");
- // 공통코드를 조회한다.
- model.setValue("/root/send/unitflag", unitflag);
- submit("TRPIZ00501",false);
-
- pamfGetCodeList(new Array("P0117"), new Array("/root/init/P0117sublist"));
-
- if (unitflag == "M") {
- btn_memohistory.visible = false;
- grd_clsplist.colHidden(grd_clsplist.colRef("snglcalcscorcd")) = true;
- grd_clsplist.colHidden(grd_clsplist.colRef("edilnno")) = true;
- }
- grd_clsplist.rebuild();
- // opener에서 선택한 row를 설정한다.
- var row = model.getValue("/root/main/item1/clsp/rownum");
- for (var i = 1; i < grd_clsplist.rows; i++) {
- if (row == model.getValue("/root/main/item1/clsp/list["+ i +"]/rownum") ) {
- grd_clsplist.row = i;
- model.setValue("/root/main/item1/clsp/selectedrow", i);
- }
- }
- } else {
- model.removeNodeset("/root/main/item1/clsp/list");
- // 공통코드를 조회한다.
- submit("TRPIZ00501",false);
- // // (ZBC001.js) com.ZBCMCODE에서 기초코드 값을 가져와서 Combo 컨트롤 item으로 설정하기 위해 사용한다.
- // zbcfGetCodeList(
- // new Array("P0117"),
- // new Array("/root/init/P0117list" ),
- // false ); // minimum을 'false'로 설정한 경우에는 코드의 모든속성을 가져온다.
- // messageBox("상위화면이 변경되어 데이터를 초기화 할 수", "I004"); ///상위화면이 변경되어 데이터를 초기화 할 수 없습니다.
- }
- model.setFocus("tar_spclspec");
- }
- // SPPIZ00700_심사Comment조회.xrw 호출
- function fGetJudgComment(memocls) {
- // memoflag - 메모구분(1:심사자메모, 2:EDI메모, 3:줄단위메모, 4:타부서전달)
- // memocls - 메모분류(01:약, 02:주사, 03:처치, 04:검사, 99:기타)
- var unitflag = model.getValue("/root/main/item1/clsp/unitflag");
- var memoflag = "";
- if (unitflag == "M") { // 명세서 단위인 경우 2:EDI메모
- memoflag = "2";
- } else { // 줄번호 단위인 경우 3:줄단위메모
- memoflag = "3";
- }
- model.resetInstanceNode("/root/hidden/sppiz00700/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00700/cond");
- model.setValue("/root/hidden/sppiz00700/cond/memoflag", memoflag);
- model.setValue("/root/hidden/sppiz00700/cond/memocls", memocls);
- modal("SPPIZ00700", "1", "400", "100", "SPPIZ00700", "/root/hidden/sppiz00700", "/root/send/sppiz00700", "", "");
- }
- function fGetJudgComment(memocls, ediitem1) {
- // memoflag - 메모구분(1:심사자메모, 2:EDI메모, 3:줄단위메모, 4:타부서전달)
- // memocls - 메모분류(01:약, 02:주사, 03:처치, 04:검사, 99:기타)
- var unitflag = model.getValue("/root/main/item1/clsp/unitflag");
- var memoflag = "";
- if (unitflag == "M") { // 명세서 단위인 경우 2:EDI메모
- memoflag = "2";
- } else { // 줄번호 단위인 경우 3:줄단위메모
- memoflag = "3";
- }
- model.resetInstanceNode("/root/hidden/sppiz00700/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00700/cond");
- model.setValue("/root/hidden/sppiz00700/cond/memoflag", memoflag);
- model.setValue("/root/hidden/sppiz00700/cond/memocls", memocls);
- model.setValue("/root/hidden/sppiz00700/cond/ediitem1", ediitem1);
- modal("SPPIZ00700", "1", "400", "100", "SPPIZ00700", "/root/hidden/sppiz00700", "/root/send/sppiz00700", "", "");
- }
- // 심사Comment 조회 Popup에서 선택한 EDI메모를 설정한다.
- // SPPIZ00700_심사Comment조회.xrw 에서 opener.javascript.fSetEdiMemoRefresh(); 형태로 호출한다.
- function fSetEdiMemoRefresh(){
- var memo = model.getValue("/root/hidden/sppiz00700/rslt/memo");
- var spclspec = model.getValue("/root/main/item1/clsp/spclspec");
- if (memo) {
- // model.setValue("/root/main/item1/clsp/spclcd", "MX999");
- // model.setValue("/root/main/item1/clsp/detldesc", "영문(700자), 한글(350자)");
- // model.setValue("/root/main/item1/clsp/spclformat", "X(700)");
- // model.setValue("/root/main/item1/clsp/cdnm", "기타내역");
- if (spclspec) { // 기존 청구메모가 공백이 아닌 경우 선택된 메모를 심사화면 메모 뒤에 덧붙인다.
- model.setValue("/root/main/item1/clsp/spclspec", spclspec +" \n"+ memo);
- } else {
- model.setValue("/root/main/item1/clsp/spclspec", memo);
- }
- model.refresh();
- }
- }
- // 심사Comment 조회 Popup에서 선택한 줄단위메모를 설정한다.
- // SPPIZ00700_심사Comment조회.xrw 에서 opener.javascript.fSetLnUnitMemoRefresh(); 형태로 호출한다.
- function fSetLnUnitMemoRefresh(){
- var memo = model.getValue("/root/hidden/sppiz00700/rslt/memo");
- var spclspec = model.getValue("/root/main/item1/clsp/spclspec");
- if (memo) {
- if (model.getValue("/root/main/item1/clsp/spclcd") == "") {
- model.setValue("/root/main/item1/clsp/spclcd", "JX999");
- model.setValue("/root/main/item1/clsp/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.setValue("/root/main/item1/clsp/spclformat", "X(700)");
- model.setValue("/root/main/item1/clsp/cdnm", "기타내역");
- }
- if (spclspec) { // 기존 줄단위메모가 공백이 아닌 경우 선택된 메모를 심사화면 메모 뒤에 덧붙인다.
- model.setValue("/root/main/item1/clsp/spclspec", spclspec +" \n"+ memo);
- } else {
- model.setValue("/root/main/item1/clsp/spclspec", memo);
- }
- model.refresh();
- }
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body pagewidth="611" pageheight="591" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <group id="grp_biz" scroll="auto" style="left:0px; top:0px; width:595px; height:564px; ">
- <caption id="caption1" class="tit_2" style="left:5px; top:10px; width:100px; height:13px; ">특정내역 상세</caption>
- <line id="line1" class="line_1" style="x1:0px; y1:25px; x2:594px; y2:25px; "/>
- <caption id="caption2" class="cell_1" style="left:0px; top:30px; width:59px; height:23px; ">수가코드</caption>
- <output id="opt_snglcalcscorcd" ref="/root/main/item1/clsp/snglcalcscorcd" class="output_fix" style="left:62px; top:31px; width:100px; height:19px; "/>
- <caption id="caption3" class="cell_1" style="left:165px; top:30px; width:67px; height:23px; ">줄번호</caption>
- <output id="opt_edilnno" ref="/root/main/item1/clsp/edilnno" class="output_fix" style="left:229px; top:31px; width:29px; height:19px; "/>
- <caption id="caption4" class="cell_1" style="left:259px; top:30px; width:59px; height:23px; ">특정코드</caption>
- <line id="line2" class="line_2" style="x1:0px; y1:52px; x2:594px; y2:52px; "/>
- <caption id="caption5" class="cell_1" style="left:0px; top:194px; width:59px; height:146px; ">특정내역</caption>
- <textarea id="tar_spclspec" ref="/root/main/item1/clsp/spclspec" navindex="2" style="left:62px; top:195px; width:532px; height:142px; "/>
- <line id="line3" class="line_2" style="x1:0px; y1:339px; x2:594px; y2:339px; "/>
- <caption id="caption6" class="cell_1" style="left:0px; top:341px; width:59px; height:23px; ">기재형식</caption>
- <output id="opt_spclformat" ref="/root/main/item1/clsp/spclformat" class="output_fix" style="left:62px; top:342px; width:532px; height:19px; "/>
- <line id="line4" class="line_3" style="x1:0px; y1:363px; x2:594px; y2:363px; "/>
- <caption id="caption7" class="tit_2" style="left:5px; top:370px; width:100px; height:13px; ">특정내역 목록</caption>
- <line id="line6" class="line_1" style="x1:0px; y1:385px; x2:594px; y2:385px; "/>
- <datagrid id="grd_clsplist" nodeset="/root/main/item1/clsp/list" caption="flag^row^수가코드^줄번호^특정코드^특정내역^기재형식^특정내역명칭^상세설명^처방일련번호^기존특정코드^기존특정내역" colsep="^" colwidth="0, 0, 80, 42, 56, 300, 100, 100, 100, 100, 0, 0" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:0px; top:390px; width:594px; height:173px; ">
- <col ref="flag" visibility="hidden"/>
- <col ref="rownum" visibility="hidden"/>
- <col ref="snglcalcscorcd"/>
- <col ref="edilnno" visibility="hidden"/>
- <col ref="spclcd"/>
- <col ref="spclspec"/>
- <col ref="spclformat"/>
- <col ref="cdnm" visibility="hidden"/>
- <col ref="detldesc" visibility="hidden"/>
- <col ref="clodseqno" visibility="hidden"/>
- <col ref="oldspclcd" visibility="hidden"/>
- <col ref="oldspclspec" visibility="hidden"/>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- var row = grd_clsplist.mouseRow;
- if (grd_clsplist.isCell(event.target) && row >= grd_clsplist.fixedrows) {
- // 특정내역 목록에서 선택된 row가 변경된 경우
- if (row != model.getValue("/root/main/item1/clsp/selectedrow")) {
- // 이전 상세내역 내용을 특정내역 목록에 적용시킨 후 현재 선택된 row 내역을 상세내역에 표시한다.
- btn_alter.dispatch("DOMActivate");
- model.setValue("/root/main/item1/clsp/selectedrow", row);
- }
- // 특정내역 목록에서 선택된 row를 상세내역으로 표시한다.
- model.setValue("/root/main/item1/clsp/flag", model.getValue("/root/main/item1/clsp/list["+ row +"]/flag"));
- // DB data 상의 오류로 잘못된 수가코드, 줄번호인 경우 자료 정정을 위해서 처음 초기값으로 선택된 EDI코드와 줄번호를 유지시킨다.
- model.setValue("/root/main/item1/clsp/snglcalcscorcd",model.getValue("/root/main/item1/clsp/list["+ row +"]/snglcalcscorcd"));
- model.setValue("/root/main/item1/clsp/edilnno",model.getValue("/root/main/item1/clsp/list["+ row +"]/edilnno"));
- model.setValue("/root/main/item1/clsp/spclcd", model.getValue("/root/main/item1/clsp/list["+ row +"]/spclcd"));
- model.setValue("/root/main/item1/clsp/detldesc", model.getValue("/root/main/item1/clsp/list["+ row +"]/detldesc")); // 상세설명 부분 추가
- model.setValue("/root/main/item1/clsp/spclspec", model.getValue("/root/main/item1/clsp/list["+ row +"]/spclspec"));
- model.setValue("/root/main/item1/clsp/spclformat", model.getValue("/root/main/item1/clsp/list["+ row +"]/spclformat"));
- model.setValue("/root/main/item1/clsp/rownum", model.getValue("/root/main/item1/clsp/list["+ row +"]/rownum"));
- model.setValue("/root/main/item1/clsp/cdnm", model.getValue("/root/main/item1/clsp/list["+ row +"]/cdnm")); // 특정내역명칭 부분 추가
- model.refresh();
- }
- ]]>
- </script>
- </datagrid>
- <button id="btn_add" class="btn2_letter2" _auth="X" style="left:552px; top:365px; width:42px; height:19px; ">
- <caption>추가</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var spclcd = model.getValue("/root/main/item1/clsp/spclcd");
- var snglcalcscorcd = model.getValue("/root/main/item1/clsp/snglcalcscorcd");
- var edilnno = model.getValue("/root/main/item1/clsp/edilnno");
- if (spclcd == "") {
- // if (grd_clsplist.rows > 1) {
- messageBox("특정코드를", "C002"); ///특정코드를 선택하십시오.
- // }
- return;
- }
- var setrow = 0; // 삭제상태인 동일한 특정내역코드가 있는지
- var rownum = ""; // 삭제상태인 특정내역코드의 row
- for (var i = 1; i < grd_clsplist.rows; i++) {
- var grdspclcd = model.getValue("/root/main/item1/clsp/list["+ i +"]/spclcd");
- var grdsnglcalcscorcd = model.getValue("/root/main/item1/clsp/list["+ i +"]/snglcalcscorcd");
- var grdedilnno = model.getValue("/root/main/item1/clsp/list["+ i +"]/edilnno");
- if ( edilnno == grdedilnno && spclcd == grdspclcd && grdspclcd == "JX999" ) {
- var rowHidden = grd_clsplist.rowHidden(i);
- if (rowHidden == "1") {
- grd_clsplist.rowHidden(i) = false;
- setrow = i;
- rownum = model.getValue("/root/main/item1/clsp/list["+ i +"]/rownum");
- } else {
- messageBox("특정코드 'JX999'가 존재하므로 추가할 수", "I004"); ///특정코드 'JX999'가 존재하므로 추가할 수 없습니다.
- return;
- }
- } else if ( edilnno == grdedilnno && spclcd == grdspclcd && grdspclcd == "MT015" ) {
- var rowHidden = grd_clsplist.rowHidden(i);
- if (rowHidden == "1") {
- grd_clsplist.rowHidden(i) = false;
- setrow = i;
- rownum = model.getValue("/root/main/item1/clsp/list["+ i +"]/rownum");
- } else {
- messageBox("특정코드 'MT015'가 존재하므로 추가할 수", "I004"); ///특정코드 'MT015'가 존재하므로 추가할 수 없습니다.
- return;
- }
- } else if ( edilnno == grdedilnno && spclcd == grdspclcd && grdspclcd == "MT016 " ) {
- var rowHidden = grd_clsplist.rowHidden(i);
- if (rowHidden == "1") {
- grd_clsplist.rowHidden(i) = false;
- setrow = i;
- rownum = model.getValue("/root/main/item1/clsp/list["+ i +"]/rownum");
- } else {
- messageBox("특정코드 'MT016'가 존재하므로 추가할 수", "I004"); ///특정코드 'MT016'가 존재하므로 추가할 수 없습니다.
- return;
- }
- }
- }
- var row = 0;
- if (setrow == 0) { // 기존에 삭제상태였던 row가 없다면 신규 추가
- grd_clsplist.addItem();
- row = grd_clsplist.row;
- model.setValue("/root/main/item1/clsp/list["+ row +"]/flag", "I");
- } else {
- row = setrow;
- model.setValue("/root/main/item1/clsp/list["+ row +"]/flag", "U");
- }
- var snglcalcscorcd = model.getValue("/root/main/item1/clsp/snglcalcscorcd");
- var clodseqno = model.getValue("/root/main/item1/clsp/clodseqno");
- var edilnno = model.getValue("/root/main/item1/clsp/edilnno");
- var detldesc = model.getValue("/root/main/item1/clsp/detldesc");
- var spclspec = model.getValue("/root/main/item1/clsp/spclspec");
- var spclformat = model.getValue("/root/main/item1/clsp/spclformat");
- // 2008.01.04 박지욱 수정 - 형식 50자릿수 제한
- spclformat = spclformat.substring(0,50);
- var cdnm = model.getValue("/root/main/item1/clsp/cdnm");
- if (snglcalcscorcd == "") {
- snglcalcscorcd = "-";
- }
- if (edilnno == "") {
- edilnno = "0";
- }
-
- model.setValue("/root/main/item1/clsp/list["+ row +"]/snglcalcscorcd", snglcalcscorcd);
- if (clodseqno != "") {
- model.setValue("/root/main/item1/clsp/list["+ row +"]/clodseqno", clodseqno);
- }
- model.setValue("/root/main/item1/clsp/list["+ row +"]/edilnno", edilnno);
- model.setValue("/root/main/item1/clsp/list["+ row +"]/spclcd", spclcd);
- model.setValue("/root/main/item1/clsp/list["+ row +"]/detldesc", detldesc);
- model.setValue("/root/main/item1/clsp/list["+ row +"]/spclspec", spclspec);
- model.setValue("/root/main/item1/clsp/list["+ row +"]/spclformat", spclformat);
- model.setValue("/root/main/item1/clsp/list["+ row +"]/rownum", rownum);
- model.setValue("/root/main/item1/clsp/list["+ row +"]/cdnm", cdnm);
- // 이전에 선택된 줄
- // model.resetInstanceNode("/root/main/item1/clsp/selectedrow");
- model.setValue("/root/main/item1/clsp/selectedrow", row);
- // 추가후 특정내역 상세 초기화
- model.resetInstanceNode("/root/main/item1/clsp/spclcd");
- model.refresh();
- cmb_spclcd.dispatch("xforms-value-changed");
- ]]>
- </script>
- </button>
- <button id="btn_alter" class="btn5_letter2" disabled="true" visibility="hidden" _auth="X" style="left:462px; top:365px; width:42px; height:19px; ">
- <caption>수정</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- // var row = grd_clsplist.row;
- var row = model.getValue("/root/main/item1/clsp/selectedrow"); // 이전에 선택된 줄
- if (row > 0) {
- var spclcd = model.getValue("/root/main/item1/clsp/spclcd");
- var spclspec = model.getValue("/root/main/item1/clsp/spclspec");
- var snglcalcscorcd = model.getValue("/root/main/item1/clsp/snglcalcscorcd");
- var edilnno = model.getValue("/root/main/item1/clsp/edilnno");
- if (spclcd == "" || spclspec == "") {
- // messageBox("특정코드를", "C002"); ///특정코드를 선택하십시오.
- //btn_delete.dispatch("DOMActivate");
- return;
- }
- // 내용이 변경되지 않은 경우의 처리
- var prespclcd = model.getValue("/root/main/item1/clsp/list["+ row +"]/spclcd");
- var prespclspec = model.getValue("/root/main/item1/clsp/list["+ row +"]/spclspec");
- if (spclcd == prespclcd && spclspec == prespclspec) {
- return;
- }
- var rownum = model.getValue("/root/main/item1/clsp/rownum");
- for (var i = 1; i < grd_clsplist.rows; i++) {
- if (row != i) {
- var grdspclcd = model.getValue("/root/main/item1/clsp/list["+ i +"]/spclcd");
- var grdedilnno = model.getValue("/root/main/item1/clsp/list["+ i +"]/edilnno");
- if ( edilnno == grdedilnno && spclcd == grdspclcd && grdspclcd == "JX999" ) {
- var rowHidden = grd_clsplist.rowHidden(i);
- if (rowHidden == "1") {
- grd_clsplist.rowHidden(i) = false;
- rownum = model.getValue("/root/main/item1/clsp/list["+ row +"]/rownum");
- } else {
- messageBox("특정코드 'JX999'가 존재하므로 'JX999'로 변경할 수", "I004");
- return;
- }
- } else if (edilnno == grdedilnno && spclcd == grdspclcd && grdspclcd == "MT015" ) {
- var rowHidden = grd_clsplist.rowHidden(i);
- if (rowHidden == "1") {
- grd_clsplist.rowHidden(i) = false;
- rownum = model.getValue("/root/main/item1/clsp/list["+ row +"]/rownum");
- } else {
- messageBox("특정코드 'MT015'가 존재하므로 'MT015'로 변경할 수", "I004"); ///특정코드 'MT015'가 존재하므로 추가할 수 없습니다.
- return;
- }
- } else if ( edilnno == grdedilnno && spclcd == grdspclcd && grdspclcd == "MT016 " ) {
- var rowHidden = grd_clsplist.rowHidden(i);
- if (rowHidden == "1") {
- grd_clsplist.rowHidden(i) = false;
- rownum = model.getValue("/root/main/item1/clsp/list["+ row +"]/rownum");
- } else {
- messageBox("특정코드 'MT016'가 존재하므로 'MT016로 변경할 수", "I004"); ///특정코드 'MT016'가 존재하므로 추가할 수 없습니다.
- return;
- }
- }
- }
- }
- var flag = model.getValue("/root/main/item1/clsp/flag");
- var snglcalcscorcd = model.getValue("/root/main/item1/clsp/snglcalcscorcd");
- var clodseqno = model.getValue("/root/main/item1/clsp/clodseqno");
- var edilnno = model.getValue("/root/main/item1/clsp/edilnno");
- var detldesc = model.getValue("/root/main/item1/clsp/detldesc");
- var spclformat = model.getValue("/root/main/item1/clsp/spclformat");
- var cdnm = model.getValue("/root/main/item1/clsp/cdnm");
-
- if (snglcalcscorcd == "") {
- snglcalcscorcd = "-";
- }
- if (edilnno == "") {
- edilnno = "0";
- }
- // model.setValue("/root/main/item1/clsp/list["+ row +"]/flag", flag);
- var flagstat = model.getValue("/root/main/item1/clsp/list["+ row +"]/flag");
- var rowstatus = grd_clsplist.rowStatus(row);
- if (flagstat == "I" ) {
- model.setValue("/root/main/item1/clsp/list["+ row +"]/flag", flag);
- grd_clsplist.rowStatus(row) = 3;
- } else if( rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsplist.rowStatus(row) = 2; // 2 : update 상태로 stat를 변경한다.
- model.setValue("/root/main/item1/clsp/list["+ row +"]/flag", "U");
- }
- //model.setValue("/root/main/item1/clsp/list["+ row +"]/snglcalcscorcd", snglcalcscorcd);
- //model.setValue("/root/main/item1/clsp/list["+ row +"]/clodseqno", clodseqno);
- //model.setValue("/root/main/item1/clsp/list["+ row +"]/edilnno", edilnno);
- //model.setValue("/root/main/item1/clsp/list["+ row +"]/spclcd", spclcd);
- //model.setValue("/root/main/item1/clsp/list["+ row +"]/detldesc", detldesc);
- model.setValue("/root/main/item1/clsp/list["+ row +"]/spclspec", spclspec);
- //model.setValue("/root/main/item1/clsp/list["+ row +"]/spclformat", spclformat);
- //model.setValue("/root/main/item1/clsp/list["+ row +"]/rownum", rownum);
- //model.setValue("/root/main/item1/clsp/list["+ row +"]/cdnm", cdnm);
- model.refresh();
- // } else {
- // messageBox("수정할 특정내역 코드를 목록에서", "C002"); ///수정할 특정내역 코드를 목록에서 선택하십시오.
- }
- ]]>
- </script>
- </button>
- <button id="btn_delete" class="btn2_letter2" _auth="X" style="left:507px; top:365px; width:42px; height:19px; ">
- <caption>삭제</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if (grd_clsplist.row > 0 ) {
- for (var i = 0; i < grd_clsplist.selectedRows; i++) {
- var row = grd_clsplist.selectedrow(i);
- grd_clsplist.rowHidden(row) = true;
- model.setValue("/root/main/item1/clsp/list["+ row +"]/flag","D");
- }
- // 이전에 선택된 줄
- model.resetInstanceNode("/root/main/item1/clsp/selectedrow");
- // 추가후 특정내역 상세 초기화
- model.resetInstanceNode("/root/main/item1/clsp/spclcd");
- model.refresh();
- cmb_spclcd.dispatch("xforms-value-changed");
- grd_clsplist.row = 0;
- } else {
- messageBox("삭제할 특정내역 코드를 목록에서", "C002"); ///삭제할 특정내역 코드를 목록에서 선택하십시오.
- }
- /////////////////
- // var row = grd_clsplist.row;
- // if (row > 0) {
- // grd_clsplist.rowHidden(row) = true;
- // model.setValue("/root/main/item1/clsp/list["+ row +"]/flag","D");
- // model.refresh();
- // } else {
- // messageBox("삭제할 특정 내역을", "C002"); ///삭제할 특정 내역을 선택하십시오.
- // return;
- // }
- ]]>
- </script>
- </button>
- <line id="line7" class="line_2" style="x1:0px; y1:193px; x2:594px; y2:193px; "/>
- <caption id="caption8" class="cell_1" style="left:0px; top:54px; width:59px; height:138px; ">상세설명</caption>
- <textarea id="tar_detldesc" ref="/root/main/item1/clsp/detldesc" disabled="true" style="left:62px; top:55px; width:532px; height:136px; padding-top:5; "/>
- <button id="btn_memohistory" class="btn2_letter5" _auth="X" style="left:294px; top:5px; width:75px; height:19px; ">
- <caption>줄단위메모</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fGetJudgComment(""); // memocls - 메모분류(01:약, 02:주사, 03:처치, 04:검사, 99:기타)
- ]]>
- </script>
- </button>
- <button id="btn_memohistory_drug" class="btn2_letter2" _auth="X" style="left:372px; top:5px; width:42px; height:19px; ">
- <caption>약</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fGetJudgComment("01"); // memocls - 메모분류(01:약, 02:주사, 03:처치, 04:검사, 99:기타)
- ]]>
- </script>
- </button>
- <button id="btn_memohistory_injection" class="btn2_letter2" _auth="X" style="left:417px; top:5px; width:42px; height:19px; ">
- <caption>주사</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fGetJudgComment("02"); // memocls - 메모분류(01:약, 02:주사, 03:처치, 04:검사, 99:기타)
- ]]>
- </script>
- </button>
- <button id="btn_memohistory_treat" class="btn2_letter2" _auth="X" style="left:462px; top:5px; width:42px; height:19px; ">
- <caption>처치</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fGetJudgComment("03"); // memocls - 메모분류(01:약, 02:주사, 03:처치, 04:검사, 99:기타)
- ]]>
- </script>
- </button>
- <button id="btn_memohistory_exam" class="btn2_letter2" _auth="X" style="left:507px; top:5px; width:42px; height:19px; ">
- <caption>검사</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fGetJudgComment("04"); // memocls - 메모분류(01:약, 02:주사, 03:처치, 04:검사, 99:기타)
- ]]>
- </script>
- </button>
- <button id="btn_memohistory_etc" class="btn2_letter2" _auth="X" style="left:552px; top:5px; width:42px; height:19px; ">
- <caption>기타</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fGetJudgComment("99"); // memocls - 메모분류(01:약, 02:주사, 03:처치, 04:검사, 99:기타)
- ]]>
- </script>
- </button>
- <select1 id="cmb_spclcd" ref="/root/main/item1/clsp/spclcd" class="combo_default" navindex="1" appearance="minimal" style="left:321px; top:31px; width:273px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/P0117list/P0117">
- <label ref="cdengabbrnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- var spclcd = model.getValue("/root/main/item1/clsp/spclcd");
- if (spclcd) {
- var index = cmb_spclcd.value; // 시작 인덱스 = 0 (빈 node 추가하면서 +1 하지 않음)
- var format = model.getValue("/root/init/P0117list/P0117[cdid='" + index + "']/cdval");
- var detldesc = model.getValue("/root/init/P0117list/P0117[cdid='" + index + "']/detldesc");
- var cdnm = model.getValue("/root/init/P0117list/P0117[cdid='" + index + "']/cdnm");
- model.setValue("/root/main/item1/clsp/detldesc", detldesc); // 상세설명
- model.setValue("/root/main/item1/clsp/spclformat", format); // 기재형식
- model.setValue("/root/main/item1/clsp/cdnm", cdnm);
-
- model.setValue("/root/main/item1/clsp/spclspec", model.getValue("/root/init/P0117sublist/P0117[cdid='"+index +"']/detl"));
-
- } else {
- model.resetInstanceNode("/root/main/item1/clsp/detldesc"); // 상세설명
- model.resetInstanceNode("/root/main/item1/clsp/spclformat"); // 기재형식
- model.resetInstanceNode("/root/main/item1/clsp/cdnm");
- model.resetInstanceNode("/root/main/item1/clsp/spclspec"); // 특정내역
- }
- model.refresh();
- ]]>
- </script>
- </select1>
- <caption id="caption9" class="cell_1" visibility="hidden" style="left:5px; top:60px; width:45px; height:23px; ">seqno</caption>
- <output id="output1" ref="/root/main/item1/clsp/clodseqno" class="output_fix" visibility="hidden" style="left:15px; top:80px; width:29px; height:19px; "/>
- <button id="btn_rsltsrch" class="btn2_letter4" _auth="R" style="left:227px; top:5px; width:64px; height:19px; ">
- <caption>결과조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if (checkOpener()) { // (common.js) 자신을 Open한 opener의 현재 UID가 자신을 open한 시점의 UID와 비교하여 변경되었는지 여부를 반환
- opener.javascript.fOrderRsltSrch();
- } else {
- messageBox("상위화면이 변경되어 데이터를 전달할 수", "I004"); ///상위화면이 변경되어 데이터를 전달할 수 없습니다.
- }
- ]]>
- </script>
- </button>
- <button id="button1" class="btn2_letter8" _auth="X" style="left:351px; top:365px; width:108px; height:19px; ">
- <caption>일괄특정내역입력</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- for (var i = 1; i < grd_clsplist.rows; i++) {
- grd_clsplist.valueMatrix(i,grd_clsplist.colRef("spclspec")) = model.getValue("/root/main/item1/clsp/spclspec");
- }
-
- ]]>
- </script>
- </button>
- </group>
- <group id="grp_btn" scroll="auto" style="left:0px; top:564px; width:595px; height:27px; ">
- <line id="line5" class="line_6" style="x1:0px; y1:0px; x2:594px; y2:0px; "/>
- <button id="btn_cancel" class="btn4_letter2" style="left:538px; top:5px; width:56px; height:22px; ">
- <caption>취소</caption>
- <close ev:event="DOMActivate"/>
- </button>
- <button id="btn_confirm" class="btn4_letter2" _auth="X" style="left:479px; top:5px; width:56px; height:22px; ">
- <caption>확인</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if (checkOpener()) { // (common.js) 자신을 Open한 opener의 현재 UID가 자신을 open한 시점의 UID와 비교하여 변경되었는지 여부를 반환
- // if (grd_clsplist.rows > 1) {
- if (grd_clsplist.row > 0) { // 현재 선택된 row가 있다면
- // alert("btn_alter.dispatch = " + model.getValue("/root/main/item1/clsp/selectedrow"));
- // 현재 상세내역 내용을 특정내역 목록에서 선택된 row에 적용시킨 후 창을 닫는다.
- btn_alter.dispatch("DOMActivate");
- } else {
- // 특정내역 목록에 추가된 row가 한건도 없는 경우
- var spclcd = model.getValue("/root/main/item1/clsp/spclcd");
- var spclspec = model.getValue("/root/main/item1/clsp/spclspec");
- if (spclcd != "" && spclspec != "") {
- //alert(grd_clsplist.row); // -1
- btn_add.dispatch("DOMActivate");
- // alert("btn_add.dispatch = " + model.getValue("/root/main/item1/clsp/selectedrow"));
- }
- }
- model.removeNodeset("/root/hidden/clsp/rslt");
- model.makeNode("/root/hidden/clsp/rslt");
- // 특정내역 목록을 opener로 전달할 형태로 만든다.
- var cnt = 0;
- for (var i = 1; i < grd_clsplist.rows; i++) {
- var spclcd = model.getValue("/root/main/item1/clsp/list["+ i +"]/spclcd");
- var spclspec = model.getValue("/root/main/item1/clsp/list["+ i +"]/spclspec").getTrim();
-
- if (spclcd != "MX999" && spclcd != "JX999") {
- // 입력된 특정내역의 길이를 체크한다. (특정내역 필드 길이 = 1750 Byte 임)
- if (spclspec.isByteSize(1750) == false) { // (stringHelper.js) 문자열의 Byte 크기가 제한값을 벗어나는지 체크 (벗어나면 false 리턴)
- messageBox("특정내역 입력 제한길이(1750 Byte)를", "E003"); ///특정내역 입력 제한길이(1750 Byte)를 초과하였습니다
- return;
- }
- }
- var flag = model.getValue("/root/main/item1/clsp/list["+ i +"]/flag");
- var rownum = model.getValue("/root/main/item1/clsp/list["+ i +"]/rownum");
- if (flag == "D" && rownum == "") { // 팝업 화면에서 추가되고 또 삭제되어 opener에게 전달하지 않아도 되는 경우임
- }
- else if (flag) { // 변경사항 없는 내역을 제외한다.
- cnt++;
- var clodseqno = model.getValue("/root/main/item1/clsp/list["+ i +"]/clodseqno");
- var edilnno = model.getValue("/root/main/item1/clsp/list["+ i +"]/edilnno");
- var cdnm = model.getValue("/root/main/item1/clsp/list["+ i +"]/cdnm");
- var spclformat = model.getValue("/root/main/item1/clsp/list["+ i +"]/spclformat");
- var detldesc = model.getValue("/root/main/item1/clsp/list["+ i +"]/detldesc");
- var snglcalcscorcd = model.getValue("/root/main/item1/clsp/list["+ i +"]/snglcalcscorcd");
- var oldspclcd = model.getValue("/root/main/item1/clsp/list["+ i +"]/oldspclcd");
- var oldspclspec = model.getValue("/root/main/item1/clsp/list["+ i +"]/oldspclspec");
- model.makeValue("/root/hidden/clsp/rslt/list[" + cnt + "]/flag", flag);
- model.makeValue("/root/hidden/clsp/rslt/list[" + cnt + "]/rownum", rownum);
- model.makeValue("/root/hidden/clsp/rslt/list[" + cnt + "]/clodseqno", clodseqno);
- model.makeValue("/root/hidden/clsp/rslt/list[" + cnt + "]/edilnno", edilnno);
- model.makeValue("/root/hidden/clsp/rslt/list[" + cnt + "]/spclcd", spclcd);
- model.makeValue("/root/hidden/clsp/rslt/list[" + cnt + "]/cdnm", cdnm);
- model.makeValue("/root/hidden/clsp/rslt/list[" + cnt + "]/spclspec", spclspec);
- model.makeValue("/root/hidden/clsp/rslt/list[" + cnt + "]/spclformat", spclformat);
- model.makeValue("/root/hidden/clsp/rslt/list[" + cnt + "]/detldesc", detldesc);
- model.makeValue("/root/hidden/clsp/rslt/list[" + cnt + "]/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/clsp/rslt/list[" + cnt + "]/oldspclcd", oldspclcd);
- model.makeValue("/root/hidden/clsp/rslt/list[" + cnt + "]/oldspclspec", oldspclspec);
- }
- }
- model.copyNode(opener.root.hidden.sppiz00500, "/root/hidden/clsp");
- } else {
- messageBox("상위화면이 변경되어 데이터를 전달할 수", "I004"); ///상위화면이 변경되어 데이터를 전달할 수 없습니다.
- }
- window.close(); // F5 실행시 IE를 종료시킨다.
- ]]>
- </script>
- </button>
- </group>
- </xhtml:body>
- </xhtml:html>
|