SMMNW13800_욕창발생보고.xfdl 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMNW13800" position="absolute 0 0 1190 730" titletext="욕창발생보고" oninit="SMMNW13800_oninit" onload="SMMNW13800_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="group2" taborder="0" position="absolute 0 13 1190 730">
  8. <Layouts>
  9. <Layout>
  10. <Grid id="grd_detlgruplist" taborder="12" binddataset="ds_out_detlgruplist" position="absolute 0 77 1190 711" anchor="default" cellsizingtype="both" oncelldblclick="group2_grd_detlgruplist_oncelldblclick" useinputpanel="false" scrollpixel="all">
  11. <Formats>
  12. <Format id="default">
  13. <Columns>
  14. <Column size="25" band="left"/>
  15. <Column size="30"/>
  16. <Column size="70"/>
  17. <Column size="0"/>
  18. <Column size="65"/>
  19. <Column size="80"/>
  20. <Column size="30"/>
  21. <Column size="30"/>
  22. <Column size="100"/>
  23. <Column size="80"/>
  24. <Column size="70"/>
  25. <Column size="107"/>
  26. <Column size="80"/>
  27. <Column size="90"/>
  28. <Column size="100"/>
  29. <Column size="170"/>
  30. <Column size="30"/>
  31. <Column size="30"/>
  32. <Column size="30"/>
  33. <Column size="50"/>
  34. <Column size="70"/>
  35. <Column size="50"/>
  36. <Column size="100"/>
  37. <Column size="50"/>
  38. <Column size="0"/>
  39. <Column size="0"/>
  40. <Column size="0"/>
  41. <Column size="0"/>
  42. </Columns>
  43. <Rows>
  44. <Row size="20" band="head"/>
  45. <Row size="20" band="head"/>
  46. <Row size="24"/>
  47. </Rows>
  48. <Band id="head">
  49. <Cell rowspan="2" taborder="undefined"/>
  50. <Cell col="1" rowspan="2" text="선택" taborder="undefined"/>
  51. <Cell col="2" rowspan="2" text="부 서" taborder="undefined"/>
  52. <Cell col="3" text="wardcd"/>
  53. <Cell col="4" rowspan="2" text="등록번호" taborder="undefined"/>
  54. <Cell col="5" rowspan="2" text="이름" taborder="undefined"/>
  55. <Cell col="6" rowspan="2" text="성별" taborder="undefined"/>
  56. <Cell col="7" rowspan="2" text="나이" taborder="undefined"/>
  57. <Cell col="8" rowspan="2" text="진료과" taborder="undefined"/>
  58. <Cell col="9" rowspan="2" text="진단명" taborder="undefined"/>
  59. <Cell col="10" rowspan="2" text="입원일" taborder="undefined"/>
  60. <Cell col="11" rowspan="2" text="욕창위험초기사정 &#10;Braden 점수/군" taborder="undefined"/>
  61. <Cell col="12" rowspan="2" text="발생일자" taborder="undefined"/>
  62. <Cell col="13" rowspan="2" text="발생장소" taborder="undefined"/>
  63. <Cell col="14" rowspan="2" text="발생장소(원내)" taborder="undefined"/>
  64. <Cell col="15" rowspan="2" text="발생부위" taborder="undefined"/>
  65. <Cell col="16" colspan="3" text="크기(cm)" taborder="undefined"/>
  66. <Cell col="19" rowspan="2" text="단계" taborder="undefined"/>
  67. <Cell col="20" rowspan="2" text="보고일" taborder="undefined"/>
  68. <Cell col="21" rowspan="2" text="보고자" taborder="undefined"/>
  69. <Cell col="22" rowspan="2" text="보고부서" taborder="undefined"/>
  70. <Cell col="23" rowspan="2" text="부서장&#10;확인" taborder="undefined"/>
  71. <Cell col="24" text="grupcd"/>
  72. <Cell col="25" text="obsrecseq"/>
  73. <Cell col="26" text="obsrecrptseq"/>
  74. <Cell col="27" text="cretno"/>
  75. <Cell row="1" col="3" text="wardcd"/>
  76. <Cell row="1" col="16" text="가로"/>
  77. <Cell row="1" col="17" text="세로"/>
  78. <Cell row="1" col="18" text="깊이"/>
  79. <Cell row="1" col="24" text="grupcd"/>
  80. <Cell row="1" col="25" text="obsrecseq"/>
  81. <Cell row="1" col="26" text="obsrecrptseq"/>
  82. <Cell row="1" col="27" text="cretno"/>
  83. </Band>
  84. <Band id="body">
  85. <Cell celltype="head" text="expr:currow + 1"/>
  86. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:sel" expr="expr:(sel == &quot;true&quot; || sel == &quot;1&quot;) ? 1 : 0"/>
  87. <Cell col="2" style="align:left;" text="bind:wardnm"/>
  88. <Cell col="3" text="bind:wardcd"/>
  89. <Cell col="4" style="align:left;" text="bind:pid"/>
  90. <Cell col="5" style="align:left;" text="bind:hngnm"/>
  91. <Cell col="6" style="align:left;" text="bind:sex"/>
  92. <Cell col="7" style="align:left;" text="bind:age"/>
  93. <Cell col="8" style="align:left;" text="bind:orddeptnm"/>
  94. <Cell col="9" style="align:left;" text="bind:diag"/>
  95. <Cell col="10" displaytype="date" text="bind:indd" mask="yyyy-MM-dd" calendardisplaynulltype="none"/>
  96. <Cell col="11" style="align:left;" text="bind:pntrslt"/>
  97. <Cell col="12" displaytype="date" text="bind:genrdd" mask="yyyy-MM-dd" calendardisplaynulltype="none"/>
  98. <Cell col="13" style="align:left;" text="bind:genrplce"/>
  99. <Cell col="14" displaytype="combo" style="align:left;" text="bind:genrplcewardcd" combodataset="ds_init_cmb_wardcd" combocodecol="wardcd" combodatacol="wardnm" enable="false"/>
  100. <Cell col="15" style="align:left;" text="bind:obspartnm"/>
  101. <Cell col="16" style="align:left;" text="bind:sizewidth"/>
  102. <Cell col="17" style="align:left;" text="bind:sizeheight"/>
  103. <Cell col="18" style="align:left;" text="bind:sizedepth"/>
  104. <Cell col="19" displaytype="combo" text="bind:stage" combodataset="ds_out_getVOStage" combocodecol="cd" combodatacol="cdnm" enable="false"/>
  105. <Cell col="20" displaytype="date" text="bind:reportdd" mask="yyyy-MM-dd" calendardisplaynulltype="none"/>
  106. <Cell col="21" style="align:left;" text="bind:reportid"/>
  107. <Cell col="22" style="align:left;" text="bind:reportdept"/>
  108. <Cell col="23" displaytype="checkbox" edittype="checkbox" text="bind:deptcnfmyn" expr="expr:(deptcnfmyn == &quot;true&quot; || deptcnfmyn == &quot;1&quot;) ? 1 : 0"/>
  109. <Cell col="24" text="bind:grupcd"/>
  110. <Cell col="25" text="bind:obsrecseq"/>
  111. <Cell col="26" text="bind:obsrecrptseq"/>
  112. <Cell col="27" text="bind:cretno"/>
  113. </Band>
  114. </Format>
  115. </Formats>
  116. </Grid>
  117. <Shape id="line1" linetype="horizontal" class="line_10" position="absolute 0 72 1190 78" anchor="default"/>
  118. <Button id="btn_savedschresn" taborder="14" text="저장" class="btn5" position="absolute 1148 51 1190 71" onclick="group2_btn_savedschresn_onclick" anchor="default"/>
  119. <Button id="btn_delt" taborder="15" text="삭제" class="btn2" position="absolute 1103 51 1145 71" onclick="group2_btn_delt_onclick" anchor="default"/>
  120. </Layout>
  121. </Layouts>
  122. </Div>
  123. <Static id="cpt_title" text="욕창발생보고" class="tit_1" position="absolute 0 0 115 25"/>
  124. <Div id="grp_sea" taborder="1" position="absolute 0 25 1190 60" class="div_SA">
  125. <Layouts>
  126. <Layout width="1190" height="35">
  127. <Button id="button2" taborder="8" text="엑셀" class="btn7" position="absolute 1058 8 1114 28" anchor="default" onclick="grp_sea_button2_onclick"/>
  128. <Combo id="cmb_wardcd" taborder="9" class="combo_default" position="absolute 78 8 243 28" anchor="default" onitemchanged="grp_sea_cmb_wardcd_onitemchanged" index="-1" innerdataset="@ds_init_cmb_wardcd" codecolumn="wardcd" datacolumn="wardnm" enable="false"/>
  129. <Static id="caption29" text="병 동 :" class="search_name" position="absolute 20 8 87 28" anchor="default"/>
  130. <Shape id="line2" linetype="vertical" class="line_4" position="absolute 980 7 986 30" anchor="default"/>
  131. <Static id="caption3" text="보고일자 :" class="search_name" position="absolute 260 8 352 28" anchor="default"/>
  132. <Button id="button1" taborder="10" text="출력" class="btn6" position="absolute 1116 8 1172 28" anchor="default" onclick="grp_sea_button1_onclick"/>
  133. <Button id="btn_srchdschtpatlist" taborder="11" text="조회" class="btn1" position="absolute 1000 8 1056 28" anchor="default" onclick="grp_sea_btn_srchdschtpatlist_onclick"/>
  134. <Static id="caption2" text="~" position="absolute 434 8 449 28" anchor="default"/>
  135. <Calendar id="input23" taborder="12" class="input_default" position="absolute 338 8 428 28" anchor="default" autoskip="true" autoselect="true" dateformat="yyyy-MM-dd" value="null" onchanged="grp_sea_input23_onchanged"/>
  136. <Calendar id="input1" taborder="13" class="input_default" position="absolute 449 8 539 28" anchor="default" autoskip="true" autoselect="true" dateformat="yyyy-MM-dd" value="null" onchanged="grp_sea_input1_onchanged"/>
  137. </Layout>
  138. </Layouts>
  139. </Div>
  140. </Layout>
  141. </Layouts>
  142. <Objects>
  143. <Dataset id="ds_tmp_detlgruplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  144. <ColumnInfo>
  145. <Column id="stat" type="STRING" size="256" sumtext="그리드행 stat"/>
  146. <Column id="sel" type="STRING" size="256" sumtext="선택"/>
  147. <Column id="wardnm" type="STRING" size="256" sumtext="병동명"/>
  148. <Column id="wardcd" type="STRING" size="256" sumtext="병동코드"/>
  149. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  150. <Column id="hngnm" type="STRING" size="256" sumtext="환자명"/>
  151. <Column id="sex" type="STRING" size="256" sumtext="성별"/>
  152. <Column id="age" type="STRING" size="256" sumtext="나이"/>
  153. <Column id="orddeptnm" type="STRING" size="256" sumtext="진료과"/>
  154. <Column id="diag" type="STRING" size="256" sumtext="진단명"/>
  155. <Column id="indd" type="STRING" size="256" sumtext="입원일"/>
  156. <Column id="pntrslt" type="STRING" size="256" sumtext="욕창위험초기사정 Braden 점수/군"/>
  157. <Column id="genrdd" type="STRING" size="256" sumtext="발생일자"/>
  158. <Column id="genrplce" type="STRING" size="256" sumtext="발생장소"/>
  159. <Column id="obspartnm" type="STRING" size="256" sumtext="발생부위"/>
  160. <Column id="sizewidth" type="STRING" size="256" sumtext="크기가로"/>
  161. <Column id="sizeheight" type="STRING" size="256" sumtext="크기세로"/>
  162. <Column id="sizedepth" type="STRING" size="256" sumtext="크기깊이"/>
  163. <Column id="stage" type="STRING" size="256" sumtext="단계"/>
  164. <Column id="reportdd" type="STRING" size="256" sumtext="보고일자"/>
  165. <Column id="reportid" type="STRING" size="256" sumtext="보고자id"/>
  166. <Column id="deptcnfmyn" type="STRING" size="256" sumtext="부서장확인구분"/>
  167. <Column id="grupcd" type="STRING" size="256" sumtext="그룹코드"/>
  168. <Column id="obsrecseq" type="STRING" size="256" sumtext="욕창기록순번"/>
  169. <Column id="obsrecrptseq" type="STRING" size="256" sumtext="욕창발생보고순번"/>
  170. <Column id="cretno" type="STRING" size="256" sumtext="생성번호"/>
  171. <Column id="reportdept" type="STRING" size="256" sumtext="보고부서"/>
  172. <Column id="genrplcewardcd" type="STRING" size="256" sumtext="발생장소원내코드"/>
  173. <Column id="stageid" type="STRING" size="256" sumtext="발생장소원내코드"/>
  174. </ColumnInfo>
  175. </Dataset>
  176. <Dataset id="ds_init_cmb_wardcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  177. <ColumnInfo>
  178. <Column id="wardnm" type="STRING"/>
  179. <Column id="wardcd" type="STRING"/>
  180. </ColumnInfo>
  181. </Dataset>
  182. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  183. <ColumnInfo>
  184. <Column id="wardcd" type="STRING" size="256"/>
  185. <Column id="fromdd" type="STRING" size="256"/>
  186. <Column id="todd" type="STRING" size="256"/>
  187. </ColumnInfo>
  188. <Rows>
  189. <Row/>
  190. </Rows>
  191. </Dataset>
  192. <Dataset id="ds_init_settingrn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  193. <ColumnInfo>
  194. <Column id="settingrnid" type="STRING" size="256" sumtext="세팅간호사ID"/>
  195. <Column id="settingrnnm" type="STRING" size="256" sumtext="세팅간호사명"/>
  196. </ColumnInfo>
  197. </Dataset>
  198. <Dataset id="ds_out_getVOStage" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  199. <ColumnInfo>
  200. <Column id="cd" type="STRING" size="256" sumtext="코드"/>
  201. <Column id="cdnm" type="STRING" size="256" sumtext="코드명"/>
  202. </ColumnInfo>
  203. </Dataset>
  204. <Dataset id="ds_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  205. <Dataset id="ds_out_detlgruplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_out_detlgruplist_oncolumnchanged">
  206. <ColumnInfo>
  207. <Column id="stat" type="STRING" size="256" sumtext="그리드행 stat"/>
  208. <Column id="sel" type="STRING" size="256" sumtext="선택"/>
  209. <Column id="wardnm" type="STRING" size="256" sumtext="병동명"/>
  210. <Column id="wardcd" type="STRING" size="256" sumtext="병동코드"/>
  211. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  212. <Column id="hngnm" type="STRING" size="256" sumtext="환자명"/>
  213. <Column id="sex" type="STRING" size="256" sumtext="성별"/>
  214. <Column id="age" type="STRING" size="256" sumtext="나이"/>
  215. <Column id="orddeptnm" type="STRING" size="256" sumtext="진료과"/>
  216. <Column id="diag" type="STRING" size="256" sumtext="진단명"/>
  217. <Column id="indd" type="STRING" size="256" sumtext="입원일"/>
  218. <Column id="pntrslt" type="STRING" size="256" sumtext="욕창위험초기사정 Braden 점수/군"/>
  219. <Column id="genrdd" type="STRING" size="256" sumtext="발생일자"/>
  220. <Column id="genrplce" type="STRING" size="256" sumtext="발생장소"/>
  221. <Column id="obspartnm" type="STRING" size="256" sumtext="발생부위"/>
  222. <Column id="sizewidth" type="STRING" size="256" sumtext="크기가로"/>
  223. <Column id="sizeheight" type="STRING" size="256" sumtext="크기세로"/>
  224. <Column id="sizedepth" type="STRING" size="256" sumtext="크기깊이"/>
  225. <Column id="stage" type="STRING" size="256" sumtext="단계"/>
  226. <Column id="reportdd" type="STRING" size="256" sumtext="보고일자"/>
  227. <Column id="reportid" type="STRING" size="256" sumtext="보고자id"/>
  228. <Column id="deptcnfmyn" type="STRING" size="256" sumtext="부서장확인구분"/>
  229. <Column id="grupcd" type="STRING" size="256" sumtext="그룹코드"/>
  230. <Column id="obsrecseq" type="STRING" size="256" sumtext="욕창기록순번"/>
  231. <Column id="obsrecrptseq" type="STRING" size="256" sumtext="욕창발생보고순번"/>
  232. <Column id="cretno" type="STRING" size="256" sumtext="생성번호"/>
  233. <Column id="reportdept" type="STRING" size="256" sumtext="보고부서"/>
  234. <Column id="genrplcewardcd" type="STRING" size="256" sumtext="발생장소원내코드"/>
  235. </ColumnInfo>
  236. </Dataset>
  237. <Dataset id="ds_hidden_main_detlgrupinfo_detlgruplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_out_detlgruplist_oncolumnchanged">
  238. <ColumnInfo>
  239. <Column id="stat" type="STRING" size="256" sumtext="그리드행 stat"/>
  240. <Column id="sel" type="STRING" size="256" sumtext="선택"/>
  241. <Column id="wardnm" type="STRING" size="256" sumtext="병동명"/>
  242. <Column id="wardcd" type="STRING" size="256" sumtext="병동코드"/>
  243. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  244. <Column id="hngnm" type="STRING" size="256" sumtext="환자명"/>
  245. <Column id="sex" type="STRING" size="256" sumtext="성별"/>
  246. <Column id="age" type="STRING" size="256" sumtext="나이"/>
  247. <Column id="orddeptnm" type="STRING" size="256" sumtext="진료과"/>
  248. <Column id="diag" type="STRING" size="256" sumtext="진단명"/>
  249. <Column id="indd" type="STRING" size="256" sumtext="입원일"/>
  250. <Column id="pntrslt" type="STRING" size="256" sumtext="욕창위험초기사정 Braden 점수/군"/>
  251. <Column id="genrdd" type="STRING" size="256" sumtext="발생일자"/>
  252. <Column id="genrplce" type="STRING" size="256" sumtext="발생장소"/>
  253. <Column id="obspartnm" type="STRING" size="256" sumtext="발생부위"/>
  254. <Column id="sizewidth" type="STRING" size="256" sumtext="크기가로"/>
  255. <Column id="sizeheight" type="STRING" size="256" sumtext="크기세로"/>
  256. <Column id="sizedepth" type="STRING" size="256" sumtext="크기깊이"/>
  257. <Column id="stage" type="STRING" size="256" sumtext="단계"/>
  258. <Column id="reportdd" type="STRING" size="256" sumtext="보고일자"/>
  259. <Column id="reportid" type="STRING" size="256" sumtext="보고자id"/>
  260. <Column id="deptcnfmyn" type="STRING" size="256" sumtext="부서장확인구분"/>
  261. <Column id="grupcd" type="STRING" size="256" sumtext="그룹코드"/>
  262. <Column id="obsrecseq" type="STRING" size="256" sumtext="욕창기록순번"/>
  263. <Column id="obsrecrptseq" type="STRING" size="256" sumtext="욕창발생보고순번"/>
  264. <Column id="cretno" type="STRING" size="256" sumtext="생성번호"/>
  265. <Column id="reportdept" type="STRING" size="256" sumtext="보고부서"/>
  266. <Column id="genrplcewardcd" type="STRING" size="256" sumtext="발생장소원내코드"/>
  267. </ColumnInfo>
  268. </Dataset>
  269. </Objects>
  270. <Bind>
  271. <BindItem id="item0" compid="grp_sea.input23" propid="value" datasetid="ds_main_cond" columnid="fromdd"/>
  272. <BindItem id="item1" compid="grp_sea.input1" propid="value" datasetid="ds_main_cond" columnid="todd"/>
  273. <BindItem id="item2" compid="grp_sea.cmb_wardcd" propid="value" datasetid="ds_main_cond" columnid="wardcd"/>
  274. </Bind>
  275. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  276. * System Name :
  277. * Job Name :
  278. * Creator :
  279. * Make Date : 2015-11-13
  280. * Description :
  281. *---------------------------------------------------------------------------------------
  282. * Modify Date Modifier Modify Description
  283. *---------------------------------------------------------------------------------------
  284. * 2015-11-13 Live Converter TF->XP
  285. *
  286. *---------------------------------------------------------------------------------------
  287. ****************************************************************************************/
  288. //=======================================================================================
  289. // Lib Include
  290. //---------------------------------------------------------------------------------------
  291. include "com_commonxp::comm_main.xjs";
  292. //include "emr_carecomxp::CareCom.xjs";
  293. var mainDetlGrupGridPath = ds_out_detlgruplist;
  294. var tempDetlGrupGridPath = ds_hidden_main_detlgrupinfo_detlgruplist;
  295. //=======================================================================================
  296. // Functions
  297. //---------------------------------------------------------------------------------------
  298. /****************************************************************************************
  299. * Argument : N/A
  300. * Description : CareCom.xjs 파일을 로컬로 이동
  301. ****************************************************************************************/
  302. function fGetNursHardCdInfo(code, date){
  303. ds_codelist.clearData();
  304. ds_codelist.addRow();
  305. dsf_createDsRow('ds_req', [
  306. { col: 'cdgrupid', type: 'string', size: 256, val: code },
  307. { col: 'srchdd', type: 'string', size: 256, val: date },
  308. { col: 'flag', type: 'string', size: 256, val: '' },
  309. { col: 'allflag', type: 'string', size: 256, val: '' }
  310. ], false);
  311. var oParam = {};
  312. oParam.id = "TRMNW00001";
  313. oParam.service = "wardcareapp.WardCareMngt";
  314. oParam.method = "reqGetNursHardCdInfo";
  315. oParam.inds = "req=ds_req";
  316. oParam.outds = "ds_codelist=codelist";
  317. oParam.async = false;
  318. //oParam.callback = "cf_TRMNW00001";
  319. tranf_submit(oParam);
  320. }
  321. /****************************************************************************************
  322. * Argument : N/A
  323. * Description :
  324. ****************************************************************************************/
  325. /****************************************************************************************
  326. * Argument : N/A
  327. * Description : fInit
  328. ****************************************************************************************/
  329. function fInit(){
  330. // 간호하드코딩 테이블 조회_'15.06.02-AYS
  331. // 조회할 CdGrupID 코드정보
  332. var pCode ="'330'";
  333. // 조회기준일자
  334. var pDate = utlf_getCurrentDate();
  335. fGetNursHardCdInfo(pCode, pDate);
  336. var sInstcd = sysf_getUserInfo('dutplceinstcd');
  337. var sDutplcecd = sysf_getUserInfo('dutplcecd');
  338. var sUserid = sysf_getUserInfo("userid");
  339. var sSuperUser = 'N';
  340. // 부서장권한 체크 (2011.05.02)
  341. var jobPosCd = sysf_getUserInfo('jobposcd');
  342. // 부서장(수간호사) = '75'
  343. if(jobPosCd != '75'){
  344. group2.grd_detlgruplist.setCellProperty('Body', group2.grd_detlgruplist.getBindCellIndex('Body', 'deptcnfmyn'), 'edittype', 'none');
  345. group2.grd_detlgruplist.setCellProperty("Body", group2.grd_detlgruplist.getBindCellIndex('Body', 'deptcnfmyn'), "controlbackground", "silver");
  346. group2.grd_detlgruplist.setCellProperty("Body", group2.grd_detlgruplist.getBindCellIndex('Body', 'deptcnfmyn'), "controlborder", "1 solid #708090cc");
  347. group2.btn_delt.enable = false;
  348. group2.btn_savedschresn.enable = false;
  349. }
  350. // 그리드 초기화
  351. ds_out_detlgruplist.clearData();
  352. //ds_out_detlgruplist.addRow();
  353. ds_init_cmb_wardcd.clearData();
  354. ds_init_cmb_wardcd.addRow();
  355. ds_init_settingrn.clearData();
  356. ds_init_settingrn.addRow();
  357. dsf_createDsRow('ds_reqcond', [{ col: 'wardcd', type: 'string', size: 256, val: '' }], false);
  358. // 병동 조회
  359. var oParam = {};
  360. oParam.id = "TRMNW04705";
  361. oParam.service = "wardcareapp.WardCareMngt";
  362. oParam.method = "reqGetWMInitData";
  363. oParam.inds = "reqcond=ds_reqcond";
  364. oParam.outds = "ds_init_cmb_wardcd=ward ds_init_settingrn=settingrn";
  365. oParam.async = false;
  366. oParam.callback = "cf_TRMNW04705";
  367. tranf_submit(oParam);
  368. frmf_addComboItem('grp_sea.cmb_wardcd', '전체', '', 'above');
  369. grp_sea.cmb_wardcd.index = 0;
  370. // alert('asdf');
  371. // frmf_inputEnterKey('grp_sea.cmb_wardcd', 'onitemchanged', new ItemChangeEventInfo);
  372. // 그리드에 들어갈 공통리스트 조회
  373. dsf_createDsRow('tmp', [ {col: 'tmp', type: 'string', size: 256, val: '' }], false);
  374. ds_out_getVOStage.clearData();
  375. ds_out_getVOStage.addRow();
  376. oParam = {};
  377. oParam.id = "TRMNW04701";
  378. oParam.service = "wardcareapp.WardCareRec";
  379. oParam.method = "reqGetObsBaseDataComboList";
  380. oParam.inds = "refCond=tmp";
  381. oParam.outds = "ds_out_getVOStage=getVOStage";
  382. // "ds_=getVOCause ds_=getVOStage ds_=getVOColor ds_=ge;tVOState ds_=getVOAmount ds_=getVOSympTom ds_=getVOAngle ds_=getVODressing"
  383. oParam.async = false;
  384. oParam.callback = "cf_TRMNW04701";
  385. tranf_submit(oParam);
  386. grp_sea.cmb_wardcd.setFocus();
  387. // 업무일자(조회시작일자)
  388. ds_main_cond.setColumn(0, 'fromdd', utlf_getCurrentDate());
  389. // 업무일자(조회종료일자)
  390. ds_main_cond.setColumn(0, 'todd', utlf_getCurrentDate());
  391. if(ds_codelist.rowcount > 0){
  392. if(ds_codelist.findRow('cdid', sUserid) >= 0){
  393. sSuperUser = 'Y';
  394. }
  395. }
  396. if(sInstcd == '031' || sInstcd == '032'){
  397. if(sysf_getUserInfo('userid') == 'ENR' || sSuperUser == 'Y'){
  398. grp_sea.cmb_wardcd.enable = true;
  399. }
  400. else{
  401. ds_main_cond.setColumn(0, 'wardcd', sDutplcecd);
  402. grp_sea.cmb_wardcd.enable = false;
  403. }
  404. }
  405. else{
  406. // do noting
  407. //model.makeNode("/root/main/cond/wardcd");
  408. }
  409. }
  410. /****************************************************************************************
  411. * Argument : N/A
  412. * Description : cf_TRMNW04705
  413. ****************************************************************************************/
  414. function cf_TRMNW04701(sSvcId, nErrorCode, sErrorMsg) {
  415. if(nErrorCode < 0){
  416. sysf_messageBox('화면 초기화를', 'E009');
  417. return;
  418. }
  419. }
  420. /****************************************************************************************
  421. * Argument : N/A
  422. * Description : cf_TRMNW04705
  423. ****************************************************************************************/
  424. function cf_TRMNW04705(sSvcId, nErrorCode, sErrorMsg) {
  425. if(nErrorCode < 0){
  426. sysf_messageBox('화면 초기화를', 'E009');
  427. return;
  428. }
  429. }
  430. /****************************************************************************************
  431. * Argument : N/A
  432. * Description : fSearch
  433. ****************************************************************************************/
  434. function fSearch(){
  435. // 조회조건값 세팅
  436. // 병동코드
  437. var wardcd = ds_main_cond.getColumn(0, 'wardcd');
  438. // 조회시작일자
  439. var fromdd = ds_main_cond.getColumn(0, 'fromdd');
  440. // 조회종료일자
  441. var todd = ds_main_cond.getColumn(0, 'todd');
  442. if(fromdd == '' || todd == ''){
  443. sysf_messageBox('보고일자를 확인하십시오.', 'I');
  444. return;
  445. }
  446. dsf_createDsRow('ds_send', [
  447. { col: 'wardcd', type: 'string', size: 256, val: wardcd },
  448. { col: 'fromdd', type: 'string', size: 256, val: fromdd },
  449. { col: 'todd', type: 'string', size: 256, val: todd }
  450. ], false);
  451. // 욕창발생보고서 조회
  452. ds_out_detlgruplist.clearData();
  453. ds_out_detlgruplist.addRow();
  454. var oParam = {};
  455. oParam.id = "TRMNW13801";
  456. oParam.service = "wardcareapp.WardCareRec";
  457. oParam.method = "reqGetDetlRptList";
  458. oParam.inds = "req=ds_send";
  459. oParam.outds = "ds_out_detlgruplist=detlgruplist";
  460. oParam.async = false;
  461. oParam.callback = "cf_TRMNW13801";
  462. tranf_submit(oParam);
  463. dsf_setDefaultVal(ds_out_detlgruplist, "deptcnfmyn:false");
  464. //그리드변경시 update 상태파악 위한 노드백업
  465. ds_hidden_main_detlgrupinfo_detlgruplist.copyData(ds_out_detlgruplist);
  466. grdf_setGridSort(group2.grd_detlgruplist);
  467. ds_out_detlgruplist.rowposition = -1;
  468. //model.copyNode("/root/hidden/main/detlgrupinfo", "/root/main/detlgrupinfo");
  469. }
  470. /****************************************************************************************
  471. * Argument : N/A
  472. * Description : cf_TRMNW13801
  473. ****************************************************************************************/
  474. function cf_TRMNW13801(sSvcId, nErrorCode, sErrorMsg) {
  475. if(nErrorCode < 0){
  476. sysf_messageBox('욕창발생 보고서 조회를', 'E009');
  477. return;
  478. }
  479. }
  480. /****************************************************************************************
  481. * Argument : N/A
  482. * Description : fSaveCnfmChk
  483. ****************************************************************************************/
  484. function fSaveCnfmChk(){
  485. if(!fIsValid()){
  486. return false;
  487. }
  488. if(sysf_messageBox('', 'Q002') != 6){
  489. return false;
  490. }
  491. // 병동코드
  492. var wardcd = ds_main_cond.getColumn(0, 'wardcd');
  493. // 조회시작일자
  494. var fromdd = ds_main_cond.getColumn(0, 'fromdd');
  495. // 조회종료일자
  496. var todd = ds_main_cond.getColumn(0, 'todd');
  497. dsf_createDsRow('ds_cond', [
  498. { col: 'wardcd', type: 'string', size: 256, val: wardcd },
  499. { col: 'fromdd', type: 'string', size: 256, val: fromdd },
  500. { col: 'todd', type: 'string', size: 256, val: todd }
  501. ], false);
  502. var updated = grdf_getGridUpdateData(group2.grd_detlgruplist);
  503. grdf_setStatusColumn(updated, 'stat');
  504. ds_tmp_detlgruplist.copyData(updated, false);
  505. if( utlf_isNull(ds_tmp_detlgruplist.getColumnInfo("stageid")) ){
  506. ds_tmp_detlgruplist.addColumn("stageid", "string");
  507. }
  508. var oParam = {};
  509. oParam.id = "TXMNW13801";
  510. oParam.service = "wardcareapp.WardCareRec";
  511. oParam.method = "reqExeDetlRptList";
  512. oParam.inds = "cond=ds_cond detlgrup=ds_out_detlgruplist";
  513. oParam.outds = "ds_out_detlgruplist=detlgruplist";
  514. oParam.async = false;
  515. oParam.callback = "cf_TXMNW13801";
  516. tranf_submit(oParam);
  517. dsf_setDefaultVal(ds_out_detlgruplist, "deptcnfmyn:false");
  518. ds_hidden_main_detlgrupinfo_detlgruplist.copyData(ds_out_detlgruplist);
  519. ds_out_detlgruplist.rowposition = -1;
  520. // 그리드변경시 update 상태파악 위한 노드백업
  521. //model.copyNode("/root/hidden/main/detlgrupinfo", "/root/main/detlgrupinfo");
  522. }
  523. /****************************************************************************************
  524. * Argument : N/A
  525. * Description : cf_TXMNW13801
  526. ****************************************************************************************/
  527. function cf_TXMNW13801(sSvcId, nErrorCode, sErrorMsg) {
  528. if(nErrorCode < 0){
  529. sysf_messageBox('부서확인 저장을', 'E009');
  530. return;
  531. }
  532. }
  533. /****************************************************************************************
  534. * Argument : N/A
  535. * Description : fIsValid
  536. ****************************************************************************************/
  537. function fIsValid(){
  538. // 그리드 저장데이터 존재여부 체크(default rows = 2)
  539. if(ds_out_detlgruplist.rowcount < 1){
  540. sysf_messageBox('저장할 내역이', 'I004');
  541. return false;
  542. }
  543. // 그리드 변경데이터 존재여부 체크
  544. if(grdf_getGridUpdateData(group2.grd_detlgruplist, 'update') == ''){
  545. sysf_messageBox('변경된 내역이', 'I004');
  546. return false;
  547. }
  548. return true;
  549. }
  550. /****************************************************************************************
  551. * Argument : N/A
  552. * Description : fDel
  553. ****************************************************************************************/
  554. function fDel(){
  555. // 삭제할 항목이 선택되었는지 여부를 체크
  556. var delFlag = false; //체크박스 체크여부
  557. var sel = ''; //체크박스(true/false)
  558. var stat = ''; //그리드상태(i/u/d)
  559. // for(var i = 0; i < ds_out_detlgruplist.rowcount; i++){
  560. // sel =
  561. // }
  562. if(ds_out_detlgruplist.findRow('sel', 'true') < 0){
  563. sysf_messageBox('삭제할 항목을', 'C002');
  564. return;
  565. }
  566. if(sysf_messageBox('욕창발생보고를', 'Q001') == 7){
  567. return;
  568. }
  569. ds_tmp_detlgruplist.clearData();
  570. for(var i = 0; i < ds_out_detlgruplist.rowcount; i++){
  571. if(ds_out_detlgruplist.getColumn(i, 'sel') == 'true'){
  572. var idx = ds_tmp_detlgruplist.addRow();
  573. var result = ds_tmp_detlgruplist.copyRow(idx, ds_out_detlgruplist, i);
  574. //ds_tmp_detlgruplist.setRowType(idx, Dataset.ROWTYPE_DELETE);
  575. ds_tmp_detlgruplist.setColumn(idx, 'stat', 'd');
  576. }
  577. }
  578. ds_out_detlgruplist.clearData();
  579. ds_out_detlgruplist.addRow();
  580. // 병동코드
  581. var wardcd = ds_main_cond.getColumn(0, 'wardcd');
  582. // 조회시작일자
  583. var fromdd = ds_main_cond.getColumn(0, 'fromdd');
  584. // 조회종료일자
  585. var todd = ds_main_cond.getColumn(0, 'todd');
  586. dsf_createDsRow('ds_cond', [
  587. { col: 'wardcd', type: 'string', size: 256, val: wardcd },
  588. { col: 'fromdd', type: 'string', size: 256, val: fromdd },
  589. { col: 'todd', type: 'string', size: 256, val: todd }
  590. ], false);
  591. var oParam = {};
  592. oParam.id = "TXMNW13801";
  593. oParam.service = "wardcareapp.WardCareRec";
  594. oParam.method = "reqExeDetlRptList";
  595. oParam.inds = "cond=ds_cond detlgrup=ds_tmp_detlgruplist";
  596. oParam.outds = "ds_out_detlgruplist=detlgruplist";
  597. oParam.async = false;
  598. //oParam.callback = "cf_TXMNW13801";
  599. tranf_submit(oParam);
  600. dsf_setDefaultVal(ds_out_detlgruplist, "deptcnfmyn:false");
  601. ds_hidden_main_detlgrupinfo_detlgruplist.copyData(ds_out_detlgruplist);
  602. ds_out_detlgruplist.rowposition = -1;
  603. }
  604. /****************************************************************************************
  605. * Argument : N/A
  606. * Description : fOpenPopUp
  607. ****************************************************************************************/
  608. function fOpenPopUp(){
  609. if(ds_out_detlgruplist.rowcount > 0){
  610. ds_tmp_detlgruplist.clearData();
  611. ds_tmp_detlgruplist.addRow();
  612. ds_tmp_detlgruplist.copyRow(0, ds_out_detlgruplist, group2.grd_detlgruplist.currentrow);
  613. var objArgs = new Object();
  614. objArgs.args_ds_init_detlgruplist = ds_tmp_detlgruplist;
  615. frmf_setParameter('ScreenId', 'SMMNW13800');
  616. frmf_modal("SPMNW04704", "SPMNW04704", objArgs, null, null, null, null, null, null, null, null, null, 'M');
  617. }
  618. }
  619. /****************************************************************************************
  620. * Argument : N/A
  621. * Description : fExecPrint
  622. ****************************************************************************************/
  623. function fExecPrint(){
  624. var objDOM = rptf_createDOM();
  625. ds_tmp_detlgruplist.clearData();
  626. ds_tmp_detlgruplist.copyData(ds_out_detlgruplist);
  627. if( utlf_isNull(ds_tmp_detlgruplist.getColumnInfo("stageid")) ){
  628. ds_tmp_detlgruplist.addColumn("stageid", "string");
  629. }
  630. for(var i = 0; i < ds_tmp_detlgruplist.rowcount; i++){
  631. // 부서장확인 값을 boolean -> Y/N 변경
  632. ds_tmp_detlgruplist.setColumn(i, "deptcnfmyn", (ds_tmp_detlgruplist.getColumn(i, "deptcnfmyn") == "true") ? "Y" : "N");
  633. ds_tmp_detlgruplist.setColumn(i, "stage", group2.grd_detlgruplist.getCellText(i, group2.grd_detlgruplist.getBindCellIndex("body","stage") ));
  634. }
  635. rptf_setNodeListToDOM(objDOM, "/root/send/printdata/detlgrupinfo/detlgruplist" , ds_tmp_detlgruplist);
  636. var objParam = new Object();
  637. objParam.xml_data_XML1 = objDOM.documentElement.source;
  638. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0";
  639. rptf_exeReportPreview30(["RPMNW13800"],[objParam], option);
  640. }
  641. function fChangedGridCol(){
  642. var sDetlGrupRow = group2.grd_detlgruplist.currentrow;
  643. var sDetlGrupBKRow=-1;
  644. var iRow = group2.grd_detlgruplist.currentrow;
  645. var iCol = group2.grd_detlgruplist.currentcol;
  646. var stat = mainDetlGrupGridPath.getColumn(group2.grd_detlgruplist.currentrow, "stat");
  647. //데이터 변경시 그리드 상태값(stat)을 u상태로 변경한다.
  648. if(stat == "-"){
  649. //그리드의 stat update를 위한 비교할 hidden nodelist의 idx찾기
  650. var obsrecrptseq = mainDetlGrupGridPath.getColumn(sDetlGrupRow, "obsrecrptseq");
  651. for(var i=0; i< tempDetlGrupGridPath.rowcount ; i++){
  652. if(tempDetlGrupGridPath.getColumn(i, "obsrecrptseq") == obsrecrptseq){
  653. sDetlGrupBKRow = i;
  654. break;
  655. }
  656. }
  657. //체크박스 선택 아닐때 조회해서 hidden에 담아둔 nodelist와 변경된 그리드의 nodelist의 stat를 비교하여 수정상태로 바꿔준다.
  658. //if(iCol != 8){// 선택시 stat 값 변경 않기
  659. if(iCol != group2.grd_detlgruplist.getBindCellIndex("body", "sel")){// 선택시 stat 값 변경 않기
  660. for( var i=0 ; i<mainDetlGrupGridPath.getColCount() ; i++ ){
  661. var sColId = mainDetlGrupGridPath.getColID(i);
  662. if( mainDetlGrupGridPath.getColumn(sDetlGrupRow, sColId) != tempDetlGrupGridPath.getColumn(sDetlGrupBKRow, sColId) ){
  663. mainDetlGrupGridPath.setColumn(group2.grd_detlgruplist.currentrow, "stat", "u");
  664. break;
  665. }
  666. }
  667. // var preUpdatedStr = instance1.selectSingleNode(tempDetlGrupGridPath+"["+sDetlGrupBKRow+"]").xml;
  668. // var updatedStr = instance1.selectSingleNode(mainDetlGrupGridPath+"["+sDetlGrupRow+"]").xml;
  669. //
  670. // if(updatedStr != preUpdatedStr){
  671. // model.setValue(mainDetlGrupGridPath+"["+(grd_detlgruplist.row-1)+"]/stat","u");
  672. // }
  673. //var preUnderAngle = model.getValue(xClsListBKPath+"["+sDetlGrupBKRow+"]/underangle");
  674. //var updateUnerAngle = model.getValue(xBedsoreGridPath+"["+ sDetlGrupRow +"]/underangle");
  675. //if(preUnderAngle != updateUnerAngle) {
  676. // model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/stat2","u");
  677. //}
  678. }
  679. }
  680. }
  681. //=======================================================================================
  682. // Events
  683. //---------------------------------------------------------------------------------------
  684. /****************************************************************************************
  685. * Argument : N/A
  686. * Description : oninit
  687. ****************************************************************************************/
  688. function SMMNW13800_oninit(obj:Form, e:InitEventInfo){
  689. }
  690. /****************************************************************************************
  691. * Argument : N/A
  692. * Description : onload
  693. ****************************************************************************************/
  694. function SMMNW13800_onload(obj:Form, e:LoadEventInfo){
  695. // 폼 초기화
  696. frmf_initForm(obj);
  697. fInit();
  698. }
  699. /****************************************************************************************
  700. * Argument : N/A
  701. * Description : 병동 콤보 아이템 변경 이벤트
  702. ****************************************************************************************/
  703. function grp_sea_cmb_wardcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo){
  704. fSearch(); // 조회
  705. }
  706. /****************************************************************************************
  707. * Argument : N/A
  708. * Description : 보고일자 from 포커스 상실 이벤트
  709. ****************************************************************************************/
  710. function grp_sea_input23_onchanged(obj:Calendar, e:ChangeEventInfo){
  711. fSearch();
  712. }
  713. /****************************************************************************************
  714. * Argument : N/A
  715. * Description : 보고일자 to 포커스 상실 이벤트
  716. ****************************************************************************************/
  717. function grp_sea_input1_onchanged(obj:Calendar, e:ChangeEventInfo){
  718. fSearch();
  719. }
  720. /****************************************************************************************
  721. * Argument : N/A
  722. * Description : 조회버튼 클릭 이벤트
  723. ****************************************************************************************/
  724. function grp_sea_btn_srchdschtpatlist_onclick(obj:Button, e:ClickEventInfo){
  725. fSearch();
  726. }
  727. /****************************************************************************************
  728. * Argument : N/A
  729. * Description : 엑셀버튼 클릭 이벤트
  730. ****************************************************************************************/
  731. function grp_sea_button2_onclick(obj:Button, e:ClickEventInfo){
  732. var filenm = '욕창발생보고_' + utlf_getCurrentDate();
  733. grdf_exportExcel(group2.grd_detlgruplist, filenm, "SheetName1", true, "", "user", true);
  734. }
  735. /****************************************************************************************
  736. * Argument : N/A
  737. * Description : 출력버튼 클릭 이벤트
  738. ****************************************************************************************/
  739. function grp_sea_button1_onclick(obj:Button, e:ClickEventInfo){
  740. fExecPrint();
  741. }
  742. /****************************************************************************************
  743. * Argument : N/A
  744. * Description : 삭제버튼 클릭 이벤트
  745. ****************************************************************************************/
  746. function group2_btn_delt_onclick(obj:Button, e:ClickEventInfo){
  747. fDel();
  748. }
  749. /****************************************************************************************
  750. * Argument : N/A
  751. * Description : 저장버튼 클릭 이벤트
  752. ****************************************************************************************/
  753. function group2_btn_savedschresn_onclick(obj:Button, e:ClickEventInfo){
  754. fSaveCnfmChk();
  755. }
  756. /****************************************************************************************
  757. * Argument : N/A
  758. * Description : 데이터셋 컬럼 변경 이벤트
  759. ****************************************************************************************/
  760. function ds_out_detlgruplist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo){
  761. if(e.columnid == 'sel' || e.columnid == 'deptcnfmyn'){
  762. obj.setColumn(e.row, e.columnid, (e.newvalue == 'true' || e.newvalue == '1') ? 'true' : 'false');
  763. }
  764. fChangedGridCol();
  765. }
  766. /****************************************************************************************
  767. * Argument : N/A
  768. * Description : 그리드 더블클릭 이벤트
  769. ****************************************************************************************/
  770. function group2_grd_detlgruplist_oncelldblclick(obj:Grid, e:GridClickEventInfo){
  771. fOpenPopUp();
  772. }
  773. ]]></Script>
  774. </Form>
  775. </FDL>