123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.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>CyberKnife Nursing Summary Group등록</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <patinfo>
- <patinfolist/>
- </patinfo>
- <patpsn>
- <patpsninfo>
- <pid/>
- <hngnm/>
- <instcd/>
- <iogb/>
- <mpphontel/>
- <hometel/>
- <sex/>
- <age/>
- <rrgstno/>
- <homedetladdr/>
- </patpsninfo>
- </patpsn>
- <carerecinfo>
- <carerecmat>
- <ckno/>
- <cknoseq/>
- <cybplanimg/>
- <fiducialdd/>
- <fiducialhh/>
- <fiducialmm/>
- <rayphodd1/>
- <rayphohh1/>
- <rayphomm1/>
- <rayphodd2/>
- <rayphohh2/>
- <rayphomm2/>
- <reqinstcd/>
- <reqinstcd2/>
- <reqdeptcd1/>
- <reqdrid1/>
- <reqdeptcd2/>
- <reqdrid2/>
- <exeinstcd/>
- <exeinstcd2/>
- <execdeptcd1/>
- <execdrid1/>
- <execdeptcd2/>
- <execdrid2/>
- <pid/>
- <instcd/>
- <iudgb/>
- </carerecmat>
- <caresumdetl>
- <seq/>
- <grupcd/>
- <curepartcnt/>
- <fx/>
- <curedd/>
- <curefromdd/>
- <curetodd/>
- <cktype/>
- <tumkind/>
- <partgrupcd/>
- <partcd/>
- <diagnm/>
- <diagcd/>
- <cklocation/>
- <curecnt/>
- <memo/>
- <ckno/>
- <cknoseq/>
- <pid/>
- <curemdyn/>
- <partgrupnm/>
- <partnm/>
- <sortseq/>
- </caresumdetl>
- <carerecdetl>
- <curepartcnt/>
- <pxseq/>
- <fx/>
- <seq/>
- <cureldd/>
- <bp/>
- <pulse/>
- <breth/>
- <bdtp/>
- <memo/>
- <ckno/>
- <cknoseq/>
- </carerecdetl>
- </carerecinfo>
- <popupendflag/>
- </main>
- <send>
- <reqdata>
- <pid/>
- <ckno/>
- <cknoseq/>
- <gb/>
- <suppdeptcd/>
- <srchflag/>
- <grupcd/>
- <curepartcnt/>
- <schuid>SPAEA02604</schuid>
- </reqdata>
- <globalinstance>
- <instance1/>
- </globalinstance>
- <popdata>
- <pid/>
- <ckno/>
- <cknoseq/>
- <lrgcd/>
- <partgrupcd/>
- <diagcd/>
- <diagnm/>
- <partcd/>
- <suppdeptcd/>
- </popdata>
- </send>
- <senddata>
- <execdata>
- <carerecmat/>
- <carerecdetl/>
- <caresumdetl/>
- </execdata>
- </senddata>
- <init>
- <cmb_info>
- <seqinfo>
- <cknoseq/>
- <cknoseqnm/>
- </seqinfo>
- </cmb_info>
- <cmb_info1>
- <partgrupcdlist>
- <basecd/>
- <basecdflagdesc/>
- </partgrupcdlist>
- <partcdlist>
- <basecd/>
- <basecdflagdesc/>
- </partcdlist>
- </cmb_info1>
- <cmbinfo>
- <instcd>
- <Z0007>
- <cdid/>
- <cdnm/>
- </Z0007>
- </instcd>
- </cmbinfo>
- <userlist>
- <usercombo>
- <userid/>
- <usernm/>
- </usercombo>
- </userlist>
- <userlist1>
- <usercombo>
- <userid/>
- <usernm/>
- </usercombo>
- </userlist1>
- <cmb_cdinfo>
- <targetnolist>
- <basecd/>
- <basecdflagdesc/>
- </targetnolist>
- <cktypelist>
- <basecd/>
- <basecdflagdesc/>
- </cktypelist>
- <tumorkindlist>
- <basecd/>
- <basecdflagdesc/>
- </tumorkindlist>
- <lesionlist>
- <basecd/>
- <basecdflagdesc/>
- </lesionlist>
- <tumortypelist>
- <basecd/>
- <basecdflagdesc/>
- </tumortypelist>
- <diagcdlist>
- <basecd/>
- <basecdflagdesc/>
- </diagcdlist>
- <locationlist>
- <basecd/>
- <basecdflagdesc/>
- </locationlist>
- <fractiontypelist>
- <basecd/>
- <basecdflagdesc/>
- </fractiontypelist>
- <fxlist>
- <basecd/>
- <basecdflagdesc/>
- </fxlist>
- </cmb_cdinfo>
- </init>
- <hidden>
- <instlist/>
- <reqinoutorddeptlist/>
- <exeinoutorddeptlist/>
- <reqinoutorddeptdoctorlist1/>
- <reqinoutorddeptdoctorlist2/>
- <exeinoutorddeptdoctorlist1/>
- <exeinoutorddeptdoctorlist2/>
- </hidden>
- <temp>
- <count/>
- </temp>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
-
- //사용할때는 common.js 파일이 필요
- if (checkOpener()) { //opener 검사
- var param = opener.javascript.getParameter("opener_parameter_id"); //opener parameter value를 get
- if(param != "") { // opener parameter value가 있는 경우
- // 첫번째 방법
- // model.setValue("/root/patpsn/patpsninfo/pid",param);
- // model.refresh();
-
- // 두번째 방법 parameter value를 이용하여 프로그램 수행
- // 저장할때는 내부적으로 "Nursing Record (ast.aeahcrrc)"가 생성되기 때문에 PID가 반듯이 필요함
- condarray = param.split("▦");
- model.setValue("/root/send/reqdata/ckno", condarray[0]);
- model.setValue("/root/send/reqdata/cknoseq", condarray[1]);
- model.setValue("/root/send/reqdata/pid", condarray[2]);
- model.setValue("/root/send/reqdata/grupcd", condarray[3]);
- model.setValue("/root/send/reqdata/curepartcnt", condarray[4]);
- model.refresh();
- }
- }
-
- //=====================================================================================================
- // 타병원조회를 위한 세팅
- //-----------------------------------------------------------------------------------------------------
- var instcd = "012";
- var rslt_ref = "/root/hidden/reqinoutorddeptlist1";
- var sort_field = "dispseq";
- var sort_method = "asc";
- var basedd = getCurrentDate();
-
- //zsdfGetInOutOrdDeptList( instcd, rslt_ref, sort_field, sort_method, basedd );
- zbcfGetKindCodeList(new Array("A0025"), new Array("Z0007"), new Array("/root/hidden/instlist"), true, new Array("cdnm"), new Array("asc"));
- //=====================================================================================================
-
-
- zbcfGetCodeList( new Array("Z0007"), new Array("/root/init/cmbinfo/instcd"));
-
- //병원코드
- //submit("TRZBC00101", false);
-
- // model.setValue("/root/send/reqdata/pid", model.getValue("/root/send/popdata/pid"));
- // model.setValue("/root/send/reqdata/ckno", model.getValue("/root/send/popdata/ckno"));
-
- // model.setValue("/root/send/reqdata/pid", "15814721"); //상준 테스트
- // model.setValue("/root/send/reqdata/ckno","985");
- // model.setValue("/root/send/reqdata/cknoseq","1");
- // model.setValue("/root/send/reqdata/grupcd","0");
- // 개발
- // model.setValue("/root/send/reqdata/pid", "14024873"); //상준 테스트
- // model.setValue("/root/send/reqdata/ckno","831");
- // model.setValue("/root/send/reqdata/cknoseq","2");
- // model.setValue("/root/send/reqdata/grupcd","3");
- // model.setValue("/root/send/reqdata/pid", "14024873"); //상준 테스트
- // model.setValue("/root/send/reqdata/ckno","832");
- // model.setValue("/root/send/reqdata/cknoseq","1");
- aezfSetSuppDeptcd();
- model.setValue("/root/send/reqdata/suppdeptcd", model.getValue("/root/send/globalinstance/instance1"));
- //CKNO seq 갖고오기
- submit("TRAEA02601");
-
- // 저장되어 있던 정보를 보여준다
- // combo1.select(0);
-
- //코드조회
- submit("TRAEA02605");
-
- //환자정보
- submit("TRAEA02602");
- var instcd = getUserInfo("dutplceinstcd");
- var standard_yn = "orduseyn";
- var ord_deptflag = 'D';
- var rslt_ref = "/root/hidden1/orddeptlist";
- zbcfGetDeptCodeList(instcd, standard_yn, ord_deptflag, rslt_ref);
-
- submit("TRAEA02604");
-
- if (model.getValue("/root/send/reqdata/cknoseq") == ""){
- messageBox("해당 CK NO 순번이 없어서 간호기록을 할 수가 없습니다.", "E999", "");
- group1.disabled = true;
- btn_save.disabled = true;
- btn_del.disabled = true;
- //button5.visible = false;
- return;
- }
- // 팝업창 활성화 할때 "신규생성"일 경우 안내문구 보이도록 셋팅
- if (model.getValue("/root/send/reqdata/grupcd") == "0" && model.getValue("/root/send/reqdata/curepartcnt") == ""){
- cpt_noti.visible = true;
- }
-
- // 내역 List 가져오기
- readfunc();
- // GrupCode를 기준으로 로딩된 자료 Merge 작업 하기
- fmerge1();;
- ]]>
- </script>
- <submission id="TRAEA02601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/init/cmb_info"/>
- <submission id="TRAEA02602" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/patpsn"/>
- <submission id="TRAEA02603" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/carerecinfo"/>
- <submission id="TRZBC00101"/>
- <submission id="TXAEA02601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/senddata/execdata" resultref="/root/temp"/>
- <submission id="TXAEA02602" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/senddata/execdata" resultref="/root/temp"/>
- <submission id="TRZSU10105" mediatype="application/x-www-form-urlencoded" method="post"/>
- <submission id="TRZSD00109" mediatype="application/x-www-form-urlencoded" method="post"/>
- <submission id="TRAEA02604" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/cmb_info1"/>
- <submission id="TRAEA02605" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/cmb_cdinfo"/>
- <submission id="TRAEA03902" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" replace="instance" resultref="/root/init/tempdata"/>
- <!-- 타병원조회-->
- <submission id="TRZSU10117" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
- <submission id="TRZBC00105" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
- <script type="javascript" src="../../../ast/examcureweb/js/AEZ0001.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../com/userdeptinfoweb/js/ZSU001.js"/>
- <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
- <script type="javascript" src="../../../com/zipcodeweb/js/ZBP001.js"/>
- <script type="javascript">
- <![CDATA[
-
- /****************************************************************************************************************************************************
- @ 해당 조건에 대한 검사내역을 조회한다.
- *****************************************************************************************************************************************************/
- function readfunc(){
- model.removeNodeset("/root/main/carerecinfo/carerecdetl");
- model.removeNodeset("/root/main/carerecinfo/caresumdetl");
- //model.resetInstanceNode("/root/main/patpsn/patpsninfo");
- model.resetInstanceNode("/root/main/carerecinfo/carerecmat");
- if (submit("TRAEA02603")){
- btn_save.disabled = false;
- if (model.getValue("/root/main/carerecinfo/carerecmat/ckno") == ""){
- btn_del.disabled = true;
- model.setValue("/root/main/carerecinfo/carerecmat/iudgb", "I");
- model.setValue("/root/main/carerecinfo/carerecmat/ckno", model.getValue("/root/send/reqdata/ckno"));
- model.setValue("/root/main/carerecinfo/carerecmat/pid", model.getValue("/root/send/reqdata/pid"));
- model.setValue("/root/main/carerecinfo/carerecmat/cknoseq", model.getValue("/root/send/reqdata/cknoseq"));
- }else{
- btn_del.disabled = false;
- }
- if (model.getValue("/root/main/carerecinfo/carerecmat/reqdeptcd1") == "" || model.getValue("/root/main/carerecinfo/carerecmat/reqdeptcd1") == "-"){
- }else{
- var deptcd = model.getValue("/root/main/carerecinfo/carerecmat/reqdeptcd1");
- var zsuResultRef = "/root/hidden/zsu/userlist";
- model.removenode(zsuResultRef);
- model.makenode(zsuResultRef);
- setParameter("dutplcecd", deptcd);
- setParameter("flag", "_D");
- submit("TRZSU10105", "false", getParameterPath(), zsuResultRef);
- model.copyNode("/root/hidden1/userlist", "/root/hidden/zsu/userlist");
- }
- if (model.getValue("/root/main/carerecinfo/carerecmat/reqdeptcd2") == "" || model.getValue("/root/main/carerecinfo/carerecmat/reqdeptcd2") == "-"){
- }else{
- var deptcd = model.getValue("/root/main/carerecinfo/carerecmat/reqdeptcd2");
- var zsuResultRef = "/root/hidden/zsu/userlist";
- model.removenode(zsuResultRef);
- model.makenode(zsuResultRef);
- setParameter("dutplcecd", deptcd);
- setParameter("flag", "_D");
- submit("TRZSU10105", "false", getParameterPath(), zsuResultRef);
- model.copyNode("/root/hidden1/userlist1", "/root/hidden/zsu/userlist");
- }
- if (model.getValue("/root/main/carerecinfo/carerecmat/execdeptcd1") == "" || model.getValue("/root/main/carerecinfo/carerecmat/execdeptcd1") == "-"){
- }else{
- var deptcd = model.getValue("/root/main/carerecinfo/carerecmat/execdeptcd1");
- zsufGetUserInfoCombo(deptcd, "/root/init/userlist","_D");
- model.refresh();
- }
- if (model.getValue("/root/main/carerecinfo/carerecmat/execdeptcd2") == "" || model.getValue("/root/main/carerecinfo/carerecmat/execdeptcd2") == "-"){
- }else{
- var deptcd = model.getValue("/root/main/carerecinfo/carerecmat/execdeptcd2");
- zsufGetUserInfoCombo(deptcd, "/root/init/userlist1","_D");
- model.refresh();
- }
- }
- model.refresh();
- }
-
- /****************************************************************************************************************************************************
- @ 간호기록 저장시 항목체크
- *****************************************************************************************************************************************************/
- function datacheck(){
- if (isDate(model.getValue("/root/main/carerecinfo/carerecmat/fiducialdd")) == false){
- messageBox("Fiducial일자의 날짜 형식이 잘못 입력되었습니다.", "E999", "");
- return false;
- }
- if (model.getValue("/root/main/carerecinfo/carerecmat/fiducialhh") != ""){
- if (model.getValue("/root/main/carerecinfo/carerecmat/fiducialhh") > "23"){
- messageBox("Fiducial일자의 시간이 잘못 입력되었습니다.", "E999", "");
- return false;
- }
- }
- if (model.getValue("/root/main/carerecinfo/carerecmat/fiducialmm") != ""){
- if (model.getValue("/root/main/carerecinfo/carerecmat/fiducialmm") > "59"){
- messageBox("Fiducial일자의 분이 잘못 입력되었습니다.", "E999", "");
- return false;
- }
- }
- if (isDate(model.getValue("/root/main/carerecinfo/carerecmat/rayphodd1")) == false){
- messageBox("방사선 촬영일자1 날짜 형식이 잘못 입력되었습니다.", "E999", "");
- return false;
- }
- if (model.getValue("/root/main/carerecinfo/carerecmat/rayphohh1") != ""){
- if (model.getValue("/root/main/carerecinfo/carerecmat/rayphohh1") > "23"){
- messageBox("방사선 촬영일자1의 시간이 잘못 입력되었습니다.", "E999", "");
- return false;
- }
- }
- if (model.getValue("/root/main/carerecinfo/carerecmat/rayphomm1") != ""){
- if (model.getValue("/root/main/carerecinfo/carerecmat/rayphomm1") > "59"){
- messageBox("방사선 촬영일자1의 분이 잘못 입력되었습니다.", "E999", "");
- return false;
- }
- }
- if (isDate(model.getValue("/root/main/carerecinfo/carerecmat/rayphodd2")) == false){
- messageBox("방사선 촬영일자2 날짜 형식이 잘못 입력되었습니다.", "E999", "");
- return false;
- }
- if (model.getValue("/root/main/carerecinfo/carerecmat/rayphohh2") != ""){
- if (model.getValue("/root/main/carerecinfo/carerecmat/rayphohh2") > "23"){
- messageBox("방사선 촬영일자2의 시간이 잘못 입력되었습니다.", "E999", "");
- return false;
- }
- }
- if (model.getValue("/root/main/carerecinfo/carerecmat/rayphomm2") != ""){
- if (model.getValue("/root/main/carerecinfo/carerecmat/rayphomm2") > "59"){
- messageBox("방사선 촬영일자2의 분이 잘못 입력되었습니다.", "E999", "");
- return false;
- }
- }
- for (var i = 1; i < grd_nurrec.rows; i ++){
- if (isDate(model.getValue("/root/main/carerecinfo/carerecdetl[" + i + "]/cureldd")) == false){
- messageBox("치료일의 날짜 형식이 잘못 입력되었습니다.", "E999", "");
- return false;
- }
- }
- return true;
- }
-
- /****************************************************************************************************************************************************
- @ 간호기록 저장
- *****************************************************************************************************************************************************/
- function ExecData(){
-
- for (var i = 1; i < grd_nursum.rows; i++){
- if (model.getValue("/root/main/carerecinfo/caresumdetl[" + i + "]/curepartcnt") == "" || model.getValue("/root/main/carerecinfo/caresumdetl[" + i + "]/curepartcnt") == "0"){
- messageBox("TargetNo는 필수 입력 항목입니다.", "E999", "");
- return 0;
- }
-
- if (model.getValue("/root/main/carerecinfo/caresumdetl[" + i + "]/fx") == "" || model.getValue("/root/main/carerecinfo/caresumdetl[" + i + "]/fx") == "0"){
- messageBox("FxNo는 필수 입력 항목입니다.", "E999", "");
- return 0;
- }
-
- if (isDate(model.getValue("/root/main/carerecinfo/caresumdetl[" + i + "]/curedd")) == false){
- messageBox(i + "번째 행의 치료일 날짜 형식이 잘못 입력되었습니다.", "E999", "");
- return 0;
- }
- // if (isDate(model.getValue("/root/main/carerecinfo/caresumdetl[" + i + "]/curetodd")) == false){
- // messageBox(i + "번째 행의 치료종료일자의 날짜 형식이 잘못 입력되었습니다.", "E999", "");
- // return;
- // }
- }
-
-
- /*
- // 저장하기 전에 간호기록현황 에서 TatgetNo 필수입력 체크하기
- for (var i = 1; i < grd_nurrec.rows; i++){
- if (model.getValue("/root/main/carerecinfo/carerecdetl[" + i + "]/curepartcnt") == "" ){
- messageBox("간호기록 TatgetNo는 필수 입력 항목입니다.", "E999", "");
- return;
- }
- }
-
- var update = getGridUpdateData(grd_nurrec);
- model.setValue("/root/senddata/execdata/carerecdetl", update);
- */
-
- var update1 = getGridUpdateData(grd_nursum);
- model.setValue("/root/senddata/execdata/caresumdetl", update1);
- model.copyNode("/root/senddata/execdata/carerecmat", "/root/main/carerecinfo/carerecmat");
- if (submit("TXAEA02601")){
- readfunc();
- // GrupCode를 기준으로 로딩된 자료 Merge 작업 하기
- fmerge1();
- }
- }
-
- /****************************************************************************************************************************************************
- @ 데이터 삭제
- *****************************************************************************************************************************************************/
- function DelData(){
- model.copyNode("/root/senddata/execdata/carerecmat", "/root/main/carerecinfo/carerecmat");
- if (submit("TXAEA02602")){
- submit("TRAEA02601");
- // combo1.select(0);
- if (model.getValue("/root/send/reqdata/cknoseq") == ""){
- messageBox("해당 CK NO 순번이 없어서 간호기록을 할 수가 없습니다.", "E999", "");
- group1.disabled = true;
- btn_save.disabled = true;
- btn_del.disabled = true;
- return;
- }
- readfunc();
- }
- }
-
- /****************************************************************************************************************************************************
- @ 날짜 형식에 대한 적합여부 체크
- *****************************************************************************************************************************************************/
- function isDate(str) {
- if (str == "") return true; // 빈건 체크안함
- if (trim(str) == "") return true; // 빈건 체크안함
- if (isNaN(parseInt(str))) return false; // 숫자가 아니면 false
- if (str.length != 8) return false; // 8자리(yyyymmdd)가 아니면 false
-
- var yy = new Number(str.substring(0, 4));
- var mm = new Number(str.substring(4, 6)) - 1;
- var dd = new Number(str.substring(6, 8));
- var date = new Date(yy, mm, dd);
- //alert(date.getFullYear() +"-" + (date.getMonth()+1) + "-" + date.getDate());
- if (yy != date.getFullYear() ||
- mm != date.getMonth() ||
- dd != date.getDate()) {
- return false; // 존재하지 않는 날짜
- }
-
- return true; // 존재하는 날짜
- }
-
- /****************************************************************************************************************************************************
- @ 문자에 대한 TRIM 작업
- *****************************************************************************************************************************************************/
- function trim(data){
- return data.replace(/(^\s*)|(\s*$)/g, "");
- }
- /****************************************************************************************************************************************************
- @ MD 승인된 데이터를 수정하려고 하면 수정못하게 막기위해 체크한다.
- *****************************************************************************************************************************************************/
- function CuremdynChk(){
- var row = 0;
- var row = grd_nursum.row;
- // alert("선택된로우넘버 : " + row);
- if(model.getValue("/root/main/carerecinfo/caresumdetl[" + row + "]/curemdyn")=="Y"){
- messageBox("승인","I001");
- return(0);
- }
- }
-
- /* @group : GrupCode를 기준으로 로딩된 자료 Merge 작업 하기
- * @ver : 2009.09.28
- * @by : 박상준
- * @-----------------------------------
- * @type : function
- * @access : public
- * @desc : GrupCode를 기준으로 로딩된 자료 컬럼단위 Merge 작업 하기 위한 Function
- */
- function fmerge1() {
- if ( grd_nursum.rows <= grd_nursum.fixedRows + 1) // 로딩된 데이터가 1행이거나 없으면 리턴
- return;
-
- // colRef : 주어진 문자열과 동일하게 ref 속성으로 가지는 col 을 찾아서 그 열의 인덱스를 반환한다.
- var grupcdColNum = grd_nursum.colRef("grupcd"); // Merge작업의 기준이 되는 GrupCode
-
- var curepartcntColNum = grd_nursum.colRef("curepartcnt"); // TargetNo
- var cktypeColNum = grd_nursum.colRef("cktype"); // CK Type
- var tumkindColNum = grd_nursum.colRef("tumkind"); // Tumorkind
- var partgrupnmColNum = grd_nursum.colRef("partgrupnm"); // 대분류명
- var partnmColNum = grd_nursum.colRef("partnm"); // 중분류명
- var diagnmColNum = grd_nursum.colRef("diagnm"); // 진단명
- var diagcdColNum = grd_nursum.colRef("diagcd"); // 진단코드
- var cklocationColNum = grd_nursum.colRef("cklocation"); // Location
- // alert("1.grupcd 열의 인덱스: " + grupcdColNum);
- // alert("2.diagnm 열의 인덱스: :" + diagnmColNum);
- // var dishremColNum = grd_nursum.colRef("dishrem");
- // var sflag = grd_nursum.colRef("dishtableflag");
-
- // valueMatrix : 특정 셀에 맵핑되어있는 인스턴스의 값을 설정하거나 반환한다
- var tmpStr1 = grd_nursum.valueMatrix(grd_nursum.fixedRows, grupcdColNum); // 고정된 행(fixed row)의 인스턴스 값
- var tmpStr2 = "";
- // var tmpStr11 = grd_nursum.valueMatrix(grd_nursum.fixedRows, curepartcntColNum);
- // var tmpStr21 = "";
- // alert("3. 고정된 행 grupcdCol 인스턴스의 값: " + tmpStr1);
-
- // fixedRows : 그리드 상단에 스크롤이 가능하지 않은 고정된 행(fixed row) 의 갯수를 설정하거나 반환한다.
- // fixedRows 의 갯수는 hidden 상태인 row 도 포함하는 갯수이다.
- var tmpNum = grd_nursum.fixedRows;
- // alert("4.그리드상단 고정된 행: " + tmpNum);
-
- // 고정된 행(fixed row) 부터 그리드의 전체행수까지 하나씩 증가하면서 체크
- for ( i = grd_nursum.fixedRows; i < grd_nursum.rows; i++ ) {
- if ( i + 1 <= grd_nursum.rows ) { //전체행보다 작으면
- tmpStr2 = grd_nursum.valueMatrix(i + 1, grupcdColNum); // 하나씩 증가하면서 그룹코드의 인스턴스의 값을 가져온다.
- // tmpStr21 = grd_nursum.valueMatrix(i + 1, curepartcntColNum);
- } else if ( i + 1 == grd_nursum.rows ) { //전체행과 같으면 초기화
- tmpStr2 = "";
- // tmpStr21 = "";
- }
-
- // mergeByFree : 셀의 범위를 지정하면 범위 내의 셀들이 바로 머지가 된다. 단, data cell 과 fixed cell 들을 함께 지정하면 머지되지 않는다.
- // 머지 된 셀의 데이터와 스타일 등은 지정된 범위에서 좌상단에 위치한 셀의 값을 가지게 된다.
- // Integer row1 : 셀들의 범위를 지정할 때 끝점이 될 좌상단 셀의 행 인덱스
- // Integer col1 : 셀들의 범위를 지정할 때 끝점이 될 좌상단 셀의 열 인덱스
- // Integer row2 : 셀들의 범위를 지정할 때 끝점이 될 우하단 셀의 행 인덱스
- // Integer col2 : 셀들의 범위를 지정할 때 끝점이 될 우하단 셀의 열 인덱스
- // if ( (tmpStr11 != tmpStr21) || (tmpStr1 != tmpStr2 && tmpStr11 == tmpStr21) ) {
- // 프로그램 수정 정 저장되어 있던 데이터들은 GrupCode를 일괄 "0"으로 했기 때문에 0인 데이터는 머지하여 보여주지 않음
- if ( (tmpStr1 != tmpStr2) || (tmpStr2 == "0") ) {
- // alert(tmpStr1 + "<===>"+ tmpStr2 + "머지작업 시작!!!!");
- // GrupCode 기준으로 실제 Merge 대상이 될 컬럼들 작업진행
- grd_nursum.mergeByFree(tmpNum, curepartcntColNum, i, curepartcntColNum); // TargetNo
- grd_nursum.mergeByFree(tmpNum, cktypeColNum, i, cktypeColNum); // CK Type
- grd_nursum.mergeByFree(tmpNum, tumkindColNum, i, tumkindColNum); // Tumorkind
- grd_nursum.mergeByFree(tmpNum, partgrupnmColNum, i, partgrupnmColNum); // 대분류명
- grd_nursum.mergeByFree(tmpNum, partnmColNum, i, partnmColNum); // 중분류명
- grd_nursum.mergeByFree(tmpNum, diagnmColNum, i, diagnmColNum); // 진단명
- grd_nursum.mergeByFree(tmpNum, diagcdColNum, i, diagcdColNum); // 진단코드
- grd_nursum.mergeByFree(tmpNum, cklocationColNum, i, cklocationColNum); // Location
-
- tmpStr1 = tmpStr2;
- // tmpStr11 = tmpStr21;
- tmpNum = i + 1;
- }
- }
- }
-
- /* @group : 특정 항목의 값이 수정되면 GrupCode를 기준으로 로딩된 자료 자동 셋팅하기
- * @ver : 2009.10.06
- * @by : 박상준
- * @-----------------------------------
- * @type : function
- * @access : public
- * @desc : 특정 항목의 값이 수정되면 GrupCode를 기준으로 로딩된 자료 자동 셋팅하기 위한 Function
- */
- function EditAutoSet() {
- if ( grd_nursum.rows <= grd_nursum.fixedRows + 1) // 로딩된 데이터가 1행이거나 없으면 리턴
- return;
-
- // 비교 기준이될 Grupcode
- var grupcd = model.getValue("/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/grupcd");
-
- //수정된값 가져와서 적용 준비
- var t_curepartcnt = model.getValue("/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/curepartcnt");
- var t_cktype = model.getValue("/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/cktype");
- var t_tumkind = model.getValue("/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/tumkind");
-
- // 고정된 행(fixed row) 부터 그리드의 전체행수까지 하나씩 증가하면서 체크
- for ( i = grd_nursum.fixedRows; i < grd_nursum.rows; i++ ) {
-
- var tmpgrupcd = model.getValue("/root/main/carerecinfo/caresumdetl[" + i + "]/grupcd");
- // 그룹코드가 같지 않으면 종료하고 같으면 수정값으로 자동 셋팅 되도록, 기본 GrupCode값이 "0"이면 종료
- if ( (grupcd != tmpgrupcd) || (model.getValue("/root/send/reqdata/grupcd") == "0") ) {
- break;
- } else {
- // 실제 인스턴스 값 적용하기
- model.setValue("/root/main/carerecinfo/caresumdetl[" + i + "]/curepartcnt",t_curepartcnt);
- model.setValue("/root/main/carerecinfo/caresumdetl[" + i + "]/cktype",t_cktype);
- model.setValue("/root/main/carerecinfo/caresumdetl[" + i + "]/tumkind",t_tumkind);
-
- // 적용된 행의 상태값을 업데이트 모드로 변환
- grd_nursum.addStatus(i,"update");
- }
-
- }
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body pagewidth="1190" pageheight="370" guideline="1,1180;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <caption id="caption19" class="tit_1" style="left:0px; top:0px; width:272px; height:14px; ">CyberKnife Nursing Summary Group등록</caption>
- <group id="group2" style="left:1px; top:20px; width:1135px; height:35px; vertical-align:top; ">
- <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1130px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
- <select1 id="combo1" ref="/root/send/reqdata/cknoseq" disabled="true" appearance="minimal" style="left:215px; top:8px; width:100px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/cmb_info/seqinfo">
- <label ref="cknoseqnm"/>
- <value ref="cknoseq"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- readfunc();
- ]]>
- </script>
- </select1>
- <output id="output1" ref="/root/send/reqdata/curepartcnt" class="output_fix" visibility="hidden" style="left:705px; top:10px; width:100px; height:19px; "/>
- <output id="output2" ref="/root/send/reqdata/grupcd" class="output_fix" style="left:440px; top:10px; width:100px; height:19px; text-align:center; "/>
- <caption id="caption12" class="search_name" visibility="hidden" style="left:857px; top:9px; width:90px; height:23px; ">등록번호</caption>
- <output id="opID" ref="/root/send/reqdata/pid" class="output_fix" visibility="hidden" style="left:950px; top:10px; width:134px; height:19px; text-align:center; "/>
- </group>
- <caption id="caption47" class="search_name" style="left:20px; top:30px; width:86px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">CK 번호 :</caption>
- <input id="ipt_basecd" ref="/root/send/reqdata/ckno" disabled="true" navindex="1" _chartype="upper" style="left:107px; top:28px; width:105px; height:19px; ">
- <script type="javascript" ev:event="onkeydown">
- <![CDATA[
- model.setValue("/root/send/reqdata/srchflag", "ckno");
- inputEnterKey("btn_sea","DOMActivate");
- ]]>
- </script>
- </input>
- <group id="group1" style="left:0px; top:60px; width:1135px; height:300px; ">
- <button id="btn_exit" class="btn4_letter2" visibility="hidden" style="left:1075px; top:270px; width:56px; height:22px; ">
- <caption>종료</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- // 부모창 수정정보 조회될 수 있도록 호출
- opener.btn_sea.dispatch("DOMActivate");
-
- window.close();
- ]]>
- </script>
- </button>
- <button id="btn_save" class="btn4_letter2" disabled="true" style="left:1070px; top:250px; width:56px; height:22px; ">
- <caption>저장</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- model.setValue("/root/send/reqdata/gb", "S");
- var rtn = ExecData();
-
- if( rtn != "0") {
- // 리텀값이 정상이면 부모창 수정정보 조회될 수 있도록 호출
- opener.btn_sea.dispatch("DOMActivate");
- window.close();
- }else{
- // 필수입력 누락으로 펑션에서 리턴값이 실패면 리턴~!!!
- return;
- }
- ]]>
- </script>
- </button>
- <button id="btn_del" class="btn4_letter2" disabled="true" visibility="hidden" style="left:5px; top:265px; width:56px; height:22px; ">
- <caption>삭제</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- var okyn = messageBox("해당 간호기록을 전부 ", "Q001");
- if (okyn == 6){
- model.setValue("/root/send/reqdata/gb", "D");
- model.setValue("/root/main/carerecinfo/carerecmat/iudgb", "D");
- DelData();
- }
- ]]>
- </script>
- </button>
- <caption id="caption24" class="tit_2" style="left:5px; top:10px; width:129px; height:13px; ">Nursing Summary</caption>
- <button id="button1" class="btn2_letter7" navindex="21" style="left:975px; top:10px; width:97px; height:19px; ">
- <caption>그룹내 행 추가</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- var rowcount = grd_nursum.rows //그리드 행의갯수
- // 그리드 타이틀이 카운터 1로 기본임으로 2부터 시작
- // if(rowcount < "2"){
- if ( grd_nursum.rows < grd_nursum.fixedRows + 1){
- grd_nursum.addRow();
- var irow = grd_nursum.row;
- model.setValue("/root/main/carerecinfo/caresumdetl[" + irow + "]/ckno", model.getValue("/root/send/reqdata/ckno"));
- model.setValue("/root/main/carerecinfo/caresumdetl[" + irow + "]/cknoseq", model.getValue("/root/send/reqdata/cknoseq"));
- model.setValue("/root/main/carerecinfo/caresumdetl[" + irow + "]/grupcd", model.getValue("/root/send/reqdata/grupcd")); // 최초 신규등록일때는 GrupCode를 기본값 "0"으로 셋팅하기
- }else{
- grd_nursum.addRow();
- var irow = grd_nursum.row;
- // alert("지정된 행의 위치: " + irow);
- // alert("첫행 값: "+model.getValue("/root/main/carerecinfo/caresumdetl[" + 1 + "]/partgrupnm"));
- model.copyNode("/root/main/carerecinfo/caresumdetl[" + irow + "]","/root/main/carerecinfo/caresumdetl[" + 1 + "]");
-
- }
- // 행추가시 색상을 지정하여 경계선 나누기
- // grd_nursum.colstyle(6,"all","background-color") = "#00ffff";
-
- grd_nursum.refresh();
- ]]>
- </script>
- </button>
- <button id="button3" class="btn2_letter3" navindex="22" style="left:1075px; top:10px; width:53px; height:19px; ">
- <caption>행삭제</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- grd_nursum.deleteItem(grd_nursum.row);
- ]]>
- </script>
- </button>
- <line id="line3" class="line_1" style="x1:0px; y1:30px; x2:161px; y2:30px; "/>
- <line id="line1" class="line_1" style="x1:164px; y1:30px; x2:1130px; y2:30px; "/>
- <datagrid id="grd_nursum" nodeset="/root/main/carerecinfo/caresumdetl" class="datagrid2" visibility="visible" autoresize="true" caption="순번^grupcd_h^Target No^FX^치료일^치료시작일자^치료종료일자^Ck Type^Tumor Kind^대분류_h^중분류_h^대분류명^중분류명^진단명^진단코드^Location^Fraction No^Remark^ckno_h^seq_h^pid_h^curemdyn^sortseq_h" colsep="^" colwidth="32, 45, 62, 50, 91, 91, 91, 85, 86, 42, 48, 86, 94, 121, 109, 95, 96, 365, 38, 29, 30, 72, 100" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:35px; width:1130px; height:210px; ">
- <col ref="seq" visibility="hidden"/>
- <col ref="grupcd" visibility="hidden"/>
- <col ref="curepartcnt" type="combo">
- <choices>
- <itemset nodeset="/root/init/cmb_cdinfo/targetnolist">
- <label ref="basecdflagdesc"/>
- <value ref="basecd"/>
- </itemset>
- </choices>
- </col>
- <col ref="fx" type="combo">
- <choices>
- <itemset nodeset="/root/init/cmb_cdinfo/fractiontypelist">
- <label ref="basecdflagdesc"/>
- <value ref="basecd"/>
- </itemset>
- </choices>
- </col>
- <col ref="curedd" type="inputdate"/>
- <col ref="curefromdd" type="inputdate" visibility="hidden"/>
- <col ref="curetodd" type="inputdate" visibility="hidden"/>
- <col editmode="inputsearch" ref="cktype" type="combo">
- <choices>
- <itemset nodeset="/root/init/cmb_cdinfo/cktypelist">
- <label ref="basecdflagdesc"/>
- <value ref="basecd"/>
- </itemset>
- </choices>
- </col>
- <col ref="tumkind" type="combo">
- <choices>
- <itemset nodeset="/root/init/cmb_cdinfo/tumorkindlist">
- <label ref="basecdflagdesc"/>
- <value ref="basecd"/>
- </itemset>
- </choices>
- </col>
- <col ref="partgrupcd" visibility="hidden" style="text-align:left; "/>
- <col ref="partcd" visibility="hidden" style="text-align:left; "/>
- <col ref="partgrupnm" style="text-align:left; "/>
- <col ref="partnm" style="text-align:left; "/>
- <col ref="diagnm"/>
- <col ref="diagcd" type="inputbutton" style="text-align:left; "/>
- <col editmode="inputsearch" ref="cklocation" type="combo">
- <choices>
- <itemset nodeset="/root/init/cmb_cdinfo/locationlist">
- <label ref="basecdflagdesc"/>
- <value ref="basecd"/>
- </itemset>
- </choices>
- </col>
- <col ref="curecnt" type="combo" visibility="hidden">
- <choices>
- <itemset nodeset="/root/init/cmb_cdinfo/fractiontypelist">
- <label ref="basecdflagdesc"/>
- <value ref="basecd"/>
- </itemset>
- </choices>
- </col>
- <col ref="memo" type="input"/>
- <col ref="ckno" visibility="hidden"/>
- <col ref="cknoseq" visibility="hidden"/>
- <col ref="pid" visibility="hidden"/>
- <col ref="curemdyn" visibility="hidden"/>
- <col ref="sortseq" visibility="hidden"/>
- <script type="javascript" ev:event="onbuttonclick">
- <![CDATA[
- // MD승인여부 체크하기
- CuremdynChk();
-
- if(grd_nursum.colAttribute(grd_nursum.col, "ref") == "diagcd") {
- model.property("partgrupcd") = "/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/partgrupcd";
- model.property("partcd") = "/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/partcd";
- model.property("partgrupnm") = "/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/partgrupnm";
- model.property("partnm") = "/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/partnm";
- model.property("diagcd") = "/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/diagcd";
- model.property("termengnm") = "/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/diagnm";
-
- model.makeNode("/root/senddata/pid");
- model.makeNode("/root/senddata/partgrupcd");
- model.makeNode("/root/senddata/partcd");
- model.makeNode("/root/senddata/diagcd");
- model.makeNode("/root/senddata/diagnm");
- model.makeNode("/root/senddata/suppdeptcd");
-
- model.setValue("/root/senddata/pid", model.getValue("/root/main/patpsn/patpsninfo/pid"));
- model.setValue("/root/senddata/partgrupcd", model.getValue("/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/partgrupcd"));
- model.setValue("/root/senddata/partcd", model.getValue("/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/partcd"));
- model.setValue("/root/senddata/suppdeptcd", model.getValue("/root/send/globalinstance/instance1"));
-
- model.property("diagcd") = "/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/diagcd";
- model.property("termengnm") = "/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/diagnm";
- model.property("partgrupcd") = "/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/partgrupcd";
- model.property("partcd") = "/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/partcd";
- model.property("partgrupnm") = "/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/partgrupnm";
- model.property("partnm") = "/root/main/carerecinfo/caresumdetl[" + grd_nursum.row + "]/partnm";
- modal("SPAER02400", "", "200", "200", "SPAER02400","/root/senddata","/root/popdata");
- }
- ]]>
- </script>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- // MD승인여부 체크하기
- CuremdynChk();
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- EditAutoSet();
- ]]>
- </script>
- </datagrid>
- <caption id="cpt_noti" class="tit_2" visibility="hidden" style="left:565px; top:255px; width:500px; height:13px; ">알림!! 신규생성 기능은 모든 추가 데이터에 대한 GroupGode를 개별 생성합니다.</caption>
- </group>
- <caption id="caption1" class="search_name" visibility="hidden" style="left:605px; top:30px; width:99px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">Target NO :</caption>
- <caption id="caption2" class="search_name" style="left:340px; top:30px; width:104px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">GrupCode :</caption>
- </xhtml:body>
- </xhtml:html>
|