SMMNB01220_야간순회보고.xfdl 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMNB01220" position="absolute 0 0 1110 800" titletext="야간순회보고" oninit="SMMNB01220_oninit" onload="SMMNB01220_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 1094 13" id="group1"/>
  8. <Div position="absolute 0 0 1100 765" id="group2">
  9. <Layouts>
  10. <Layout>
  11. <Button position="absolute 960 5 1002 24" id="button16" class="btn2" visible="false" text="축소" onclick="group2_button16_onclick"/>
  12. <Shape position="absolute 0 25 1094 31" linetype="horizontal" id="line10" class="line_10"/>
  13. <Grid position="absolute 0 30 1095 760" align="align:center middle;" id="grd_wardlist" binddataset="ds_main_inpt_reptdata_wardlist" selecttype="multiarea">
  14. <Formats>
  15. <Format id="default">
  16. <Columns>
  17. <Column size="20"/>
  18. <Column size="0"/>
  19. <Column size="80"/>
  20. <Column size="63"/>
  21. <Column size="0"/>
  22. <Column size="0"/>
  23. <Column size="75"/>
  24. <Column size="556"/>
  25. <Column size="0"/>
  26. <Column size="120"/>
  27. <Column size="62"/>
  28. <Column size="0"/>
  29. <Column size="100"/>
  30. <Column size="0"/>
  31. <Column size="0"/>
  32. <Column size="0"/>
  33. <Column size="0"/>
  34. <Column size="0"/>
  35. </Columns>
  36. <Rows>
  37. <Row size="24" band="head"/>
  38. <Row size="22"/>
  39. </Rows>
  40. <Band id="head">
  41. <Cell/>
  42. <Cell col="1"/>
  43. <Cell col="2" text="날짜"/>
  44. <Cell col="3" text="요일"/>
  45. <Cell col="4" text="caption7"/>
  46. <Cell col="5" text="caption6"/>
  47. <Cell col="6" text="작성자"/>
  48. <Cell col="7" text="내용(부서 - CTRL + ENTER시 다음줄에 기입가능)"/>
  49. <Cell col="8" text="작성일시"/>
  50. <Cell col="9" text="작성일시"/>
  51. <Cell col="10" text="확인자"/>
  52. <Cell col="11" text="확인자ID"/>
  53. <Cell col="12" text="확인일시"/>
  54. <Cell col="13" text="SEQNO"/>
  55. <Cell col="14" text="caption5"/>
  56. <Cell col="15" text="caption4"/>
  57. <Cell col="16" text="caption3"/>
  58. <Cell col="17" text="caption2"/>
  59. </Band>
  60. <Band id="body">
  61. <Cell celltype="head"/>
  62. <Cell col="1" class="update_n" text="bind:status"/>
  63. <Cell col="2" style="background:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');background2:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');color:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');color2:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');selectbackground:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');selectcolor:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');" text="bind:basedd"/>
  64. <Cell col="3" style="background:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');background2:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');color:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');color2:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');selectbackground:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');selectcolor:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');" text="bind:holinm"/>
  65. <Cell col="4" style="background:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');background2:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');color:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');color2:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');selectbackground:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');selectcolor:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');" text="bind:dutflag"/>
  66. <Cell col="5" style="background:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');background2:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');color:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');color2:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');selectbackground:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');selectcolor:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');" text="bind:holiflag"/>
  67. <Cell col="6" style="background:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');background2:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');color:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');color2:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');selectbackground:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');selectcolor:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');" text="bind:usernm"/>
  68. <Cell col="7" displaytype="text" edittype="text" style="background:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');background2:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');color:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');color2:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');selectbackground:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');selectcolor:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');" text="bind:delivecnts"/>
  69. <Cell col="8" style="background:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');background2:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');color:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');color2:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');selectbackground:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');selectcolor:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');" text="bind:plandd" mask="yyyy-mm-dd"/>
  70. <Cell col="9" displaytype="text" edittype="text" style="align:center;background:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');background2:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');color:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');color2:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');selectbackground:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');selectcolor:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');" text="bind:plandt" mask="expr:utlf_isNull(plandt) ? '' : '####-##-## ##:##'" editlimit="12" editautoselect="true" editlimitbymask="integer"/>
  71. <Cell col="10" style="background:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');background2:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');color:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');color2:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');selectbackground:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');selectcolor:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');" text="bind:certnm"/>
  72. <Cell col="11" style="background:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');background2:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');color:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');color2:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');selectbackground:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');selectcolor:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');" text="bind:certid"/>
  73. <Cell col="12" style="align:center;background:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');background2:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');color:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');color2:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');selectbackground:EXPR(dutflag == 4 ? '#ffd3ff' : dutflag == 8 ? '#ffd3ff' : '');selectcolor:EXPR(dutflag == 4 ? '#0000ee' : dutflag == 8 ? '#ee0000' : '#000000');" text="bind:certdt" mask="expr:utlf_isNull(certdt) ? '' : '####-##-## ##:##'"/>
  74. <Cell col="13" text="bind:seqno"/>
  75. <Cell col="14" text="bind:wardcd"/>
  76. <Cell col="15" text="bind:deliveflagcd"/>
  77. <Cell col="16" text="bind:staiud"/>
  78. <Cell col="17" text="bind:userid"/>
  79. </Band>
  80. </Format>
  81. </Formats>
  82. </Grid>
  83. <Button position="absolute 865 5 918 24" id="button10" class="btn2" visible="false" text="행추가" onclick="group2_button10_onclick"/>
  84. <Button position="absolute 978 3 1034 25" id="button22" class="btn4" text="삭제" onclick="group2_button22_onclick"/>
  85. <Static text="야간순회보고" position="absolute 0 9 115 25" id="caption17" class="tit_2"/>
  86. <Button position="absolute 1035 3 1091 25" id="button23" class="btn4" text="저장" onclick="group2_button23_onclick"/>
  87. <Button position="absolute 915 5 957 24" id="button14" class="btn2" visible="false" text="확대" onclick="group2_button14_onclick"/>
  88. <Button position="absolute 864 3 920 25" id="btn_srch2" class="btn1" taborder="5" text="조회" onclick="group2_btn_srch2_onclick"/>
  89. <Static text="보고일자 :" position="absolute 670 7 746 24" id="caption21" class="search_name"/>
  90. <Calendar position="absolute 745 5 845 24" id="ipt_orddd2" class="input_default" taborder="1" onchanged="group2_ipt_orddd2_onchanged"/>
  91. <Button position="absolute 921 3 977 25" id="btn_excel2" class="btn7" text="엑셀" onclick="group2_btn_excel2_onclick"/>
  92. </Layout>
  93. </Layouts>
  94. </Div>
  95. <Button position="absolute 870 768 912 787" id="btn_cert" class="btn2" text="확인" onclick="btn_cert_onclick"/>
  96. <MaskEdit readonly="true" position="absolute 978 768 1078 787" align="align:center middle;" id="opt_certdt" mask="####-##-## ##:##" maskchar=" " displaynulltext=" " style="padding:0 2 0 2;align:center middle;" type="string"/>
  97. <Edit readonly="true" position="absolute 915 768 975 787" align="align:center middle;" id="opt_certnm" class="output" style="align:center middle;"/>
  98. </Layout>
  99. </Layouts>
  100. <Objects>
  101. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  102. <ColumnInfo>
  103. <Column id="wardcd" type="STRING" size="256" sumtext="병동코드"/>
  104. <Column id="authallyn" type="STRING" size="256" sumtext="전부서조회"/>
  105. <Column id="plandd" type="STRING" size="256" sumtext="계획일자"/>
  106. <Column id="seqno" type="STRING" size="256" sumtext="시퀀스"/>
  107. <Column id="duty" type="STRING" size="256" sumtext="todo"/>
  108. <Column id="deptflag" type="STRING" size="256" sumtext="todo"/>
  109. <Column id="deliveflagcd" type="STRING" size="256" sumtext="검색구분"/>
  110. </ColumnInfo>
  111. <Rows>
  112. <Row/>
  113. </Rows>
  114. </Dataset>
  115. <Dataset id="ds_main_inpt_reptdata_wardlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_inpt_reptdata_wardlist_oncolumnchanged">
  116. <ColumnInfo>
  117. <Column id="basedd" type="STRING" size="256" sumtext="일자"/>
  118. <Column id="holinm" type="STRING" size="256" sumtext="요일/공휴일"/>
  119. <Column id="dutflag" type="STRING" size="256" sumtext="근무구분"/>
  120. <Column id="holiflag" type="STRING" size="256" sumtext="휴일구분"/>
  121. <Column id="wardcd" type="STRING" size="256" sumtext="병동코드"/>
  122. <Column id="plandd" type="STRING" size="256" sumtext="계획일자"/>
  123. <Column id="plandt" type="STRING" size="256" sumtext="계획시간"/>
  124. <Column id="delivecnts" type="STRING" size="256" sumtext="내용"/>
  125. <Column id="deliveflagcd" type="STRING" size="256" sumtext="전달구분"/>
  126. <Column id="seqno" type="STRING" size="256" sumtext="시퀀스"/>
  127. <Column id="usernm" type="STRING" size="256" sumtext="작성자"/>
  128. <Column id="duty" type="STRING" size="256" sumtext="todo"/>
  129. <Column id="certnm" type="STRING" size="256" sumtext="확인자"/>
  130. <Column id="certid" type="STRING" size="256" sumtext="확인자id"/>
  131. <Column id="certdt" type="STRING" size="256" sumtext="확인일시"/>
  132. <Column id="status" type="STRING" size="256" sumtext="status"/>
  133. <Column id="staiud" type="STRING" size="256" sumtext="상태"/>
  134. <Column id="userid" type="STRING" size="256" sumtext="작성자id"/>
  135. <Column id="posdeptnm" type="STRING" size="256" sumtext="근무지nm"/>
  136. <Column id="certyn" type="STRING" size="256" sumtext="확인여부"/>
  137. <Column id="dutynm" type="STRING" size="256" sumtext="확인여부"/>
  138. </ColumnInfo>
  139. </Dataset>
  140. <Dataset id="ds_send_sReptPath" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  141. <ColumnInfo>
  142. <Column id="basedd" type="STRING" size="256" sumtext="일자"/>
  143. <Column id="holinm" type="STRING" size="256" sumtext="요일/공휴일"/>
  144. <Column id="dutflag" type="STRING" size="256" sumtext="근무구분"/>
  145. <Column id="holiflag" type="STRING" size="256" sumtext="휴일구분"/>
  146. <Column id="wardcd" type="STRING" size="256" sumtext="병동코드"/>
  147. <Column id="plandd" type="STRING" size="256" sumtext="계획일자"/>
  148. <Column id="plandt" type="STRING" size="256" sumtext="계획시간"/>
  149. <Column id="delivecnts" type="STRING" size="256" sumtext="내용"/>
  150. <Column id="deliveflagcd" type="STRING" size="256" sumtext="전달구분"/>
  151. <Column id="seqno" type="STRING" size="256" sumtext="시퀀스"/>
  152. <Column id="usernm" type="STRING" size="256" sumtext="작성자"/>
  153. <Column id="duty" type="STRING" size="256" sumtext="todo"/>
  154. <Column id="certnm" type="STRING" size="256" sumtext="확인자"/>
  155. <Column id="certid" type="STRING" size="256" sumtext="확인자id"/>
  156. <Column id="certdt" type="STRING" size="256" sumtext="확인일시"/>
  157. <Column id="status" type="STRING" size="256" sumtext="status"/>
  158. <Column id="staiud" type="STRING" size="256" sumtext="상태"/>
  159. <Column id="userid" type="STRING" size="256" sumtext="작성자id"/>
  160. <Column id="posdeptnm" type="STRING" size="256" sumtext="근무지nm"/>
  161. <Column id="certyn" type="STRING" size="256" sumtext="확인여부"/>
  162. <Column id="dutynm" type="STRING" size="256" sumtext="확인여부"/>
  163. </ColumnInfo>
  164. </Dataset>
  165. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  166. <ColumnInfo>
  167. <Column id="srchdd2" type="STRING" size="256"/>
  168. <Column id="duty" type="STRING" size="256"/>
  169. <Column id="deptflag" type="STRING" size="256"/>
  170. <Column id="certnm" type="STRING" size="256"/>
  171. <Column id="certdt" type="STRING" size="256"/>
  172. <Column id="recdd" type="STRING" size="256"/>
  173. <Column id="deptcd" type="STRING" size="256"/>
  174. </ColumnInfo>
  175. <Rows>
  176. <Row/>
  177. </Rows>
  178. </Dataset>
  179. <Dataset id="ds_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  180. <ColumnInfo>
  181. <Column id="cdnm" type="STRING"/>
  182. <Column id="cdid" type="STRING"/>
  183. </ColumnInfo>
  184. </Dataset>
  185. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  186. <ColumnInfo>
  187. <Column id="wardcd" type="STRING" size="256" sumtext="병동코드"/>
  188. <Column id="authallyn" type="STRING" size="256" sumtext="전부서조회"/>
  189. <Column id="plandd" type="STRING" size="256" sumtext="보고일자"/>
  190. <Column id="instcd" type="STRING" size="256" sumtext="보고일자"/>
  191. <Column id="seqno" type="STRING" size="256" sumtext="시퀀스"/>
  192. <Column id="duty" type="STRING" size="256" sumtext="todo"/>
  193. <Column id="deptflag" type="STRING" size="256" sumtext="todo"/>
  194. <Column id="orddd" type="STRING" size="256" sumtext="보고일자"/>
  195. <Column id="fromdd" type="STRING" size="256" sumtext="보고일자"/>
  196. <Column id="todd" type="STRING" size="256" sumtext="보고일자"/>
  197. <Column id="deliveflagcd" type="STRING" size="256"/>
  198. <Column id="plandt" type="STRING" size="256"/>
  199. <Column id="delivecnts" type="STRING" size="256"/>
  200. <Column id="staiud" type="STRING" size="256"/>
  201. <Column id="deptflg" type="STRING" size="256"/>
  202. <Column id="filepath" type="STRING" size="256"/>
  203. </ColumnInfo>
  204. <Rows>
  205. <Row/>
  206. </Rows>
  207. </Dataset>
  208. </Objects>
  209. <Bind>
  210. <BindItem id="item0" compid="group2.ipt_orddd2" propid="value" datasetid="ds_temp" columnid="srchdd2"/>
  211. <BindItem id="item1" compid="opt_certnm" propid="value" datasetid="ds_temp" columnid="certnm"/>
  212. <BindItem id="item2" compid="opt_certdt" propid="value" datasetid="ds_temp" columnid="certdt"/>
  213. </Bind>
  214. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  215. * System Name : 경대 의료정보시스템
  216. * Job Name : emr_wardcarexp -> SMMNB01220
  217. * Creator : yjh
  218. * Make Date : 2016-11-17
  219. * Description :
  220. *---------------------------------------------------------------------------------------
  221. * Modify Date Modifier Modify Description
  222. *---------------------------------------------------------------------------------------
  223. * 2016-11-17 yjh TF->XP
  224. *
  225. *---------------------------------------------------------------------------------------
  226. ****************************************************************************************/
  227. //=======================================================================================
  228. // Lib Include
  229. //---------------------------------------------------------------------------------------
  230. include "com_commonxp::comm_main.xjs";
  231. include "emr_carecomxp::CareCom.xjs";
  232. //=======================================================================================
  233. // Global Form Variable
  234. //---------------------------------------------------------------------------------------
  235. var authflag = "";
  236. var arErrorCode = new HashArray();
  237. //=======================================================================================
  238. // Function
  239. //---------------------------------------------------------------------------------------
  240. // 본원 야간 순회보고 저장
  241. function fSave_Reptrows2(){
  242. if(sysf_messageBox("","Q002") != 6) return;
  243. ds_send_sReptPath.clearData();
  244. for( var i=0 ; i<ds_main_inpt_reptdata_wardlist.rowcount ; i++ ){
  245. if( ds_main_inpt_reptdata_wardlist.getRowType(i) == 2 || ds_main_inpt_reptdata_wardlist.getRowType(i) == 4 || ds_main_inpt_reptdata_wardlist.getRowType(i) == 8 ){
  246. var nRow = ds_send_sReptPath.addRow();
  247. ds_send_sReptPath.copyRow(nRow, ds_main_inpt_reptdata_wardlist, i);
  248. }
  249. }
  250. if(utlf_isNull(ds_send_sReptPath) || ds_send_sReptPath.rowcount == 0){
  251. sysf_messageBox("저장할 자료가 존재하지 않습니다.","I");
  252. return;
  253. }
  254. var oParam = {};
  255. oParam.id = "TXMNB01204";
  256. oParam.service = "wardcareapp.WardBizMngt";
  257. oParam.method = "reqExeSetNightReport";
  258. oParam.inds = "reqExeSetRept=ds_send_sReptPath";
  259. oParam.outds = "";
  260. oParam.async = false;
  261. //oParam.callback = "cf_TXMNB01204";
  262. tranf_submit(oParam);
  263. group2.btn_srch2.click();
  264. }
  265. // 야간 순회보고 조회
  266. function fSearch_reptlist(){
  267. var searchdd = utlf_transNullToEmpty(ds_temp.getColumn(0, "srchdd2")).toString().substr(0,6);
  268. var searchdd2 = utlf_transNullToEmpty(ds_temp.getColumn(0, "srchdd2")).toString();
  269. // var searchdd2 = ipt_orddd2.value;
  270. // alert("searchdd : " + searchdd);
  271. if(searchdd2.length < 8) {
  272. sysf_messageBox("보고일자를 다시 한 번", "C001");
  273. return;
  274. }
  275. ds_main_inpt_reptdata_wardlist.clearData();
  276. ds_send_reqdata.setColumn(0, "plandd", searchdd); //계획일자
  277. ds_send_reqdata.setColumn(0, "deliveflagcd", "07"); //전달구분(야간순회보고 코드 : 07)
  278. // alert("authflag : " + authflag );
  279. if(authflag == "Y") {
  280. var oParam = {};
  281. oParam.id = "TRMNB01212";
  282. oParam.service = "wardcareapp.WardBizMngt";
  283. oParam.method = "reqGetNightReportList";
  284. oParam.inds = "req=ds_send_reqdata";
  285. oParam.outds = "ds_main_inpt_reptdata_wardlist=wardlist";
  286. oParam.async = false;
  287. //oParam.callback = "cf_TRMNB01212";
  288. tranf_submit(oParam);
  289. if( utlf_isNull(ds_main_inpt_reptdata_wardlist.getColumnInfo("staiud")) ){
  290. ds_main_inpt_reptdata_wardlist.addColumn("staiud", "string");
  291. }
  292. if( utlf_isNull(ds_main_inpt_reptdata_wardlist.getColumnInfo("userid")) ){
  293. ds_main_inpt_reptdata_wardlist.addColumn("userid", "string");
  294. }
  295. } else {
  296. sysf_messageBox("지정된 사용자 이외에는 조회", "E001");
  297. return;
  298. }
  299. opt_certnm.value = ds_main_inpt_reptdata_wardlist.lookup("basedd", searchdd2, "certnm");
  300. opt_certdt.value = ds_main_inpt_reptdata_wardlist.lookup("basedd", searchdd2, "certdt");
  301. //fSetColorHoliday(); //expr로 처리
  302. }
  303. function fUpt_Reptrows(grdflg){
  304. var wardcd = sysf_getUserInfo("dutplcecd");
  305. var plandd = group2.ipt_orddd2.value;
  306. var plandt = utlf_getCurrentDate()+utlf_getCurrentTime().substring(0,4);
  307. if(grdflg == "wardlist"){
  308. var staiud = ds_main_inpt_reptdata_wardlist.getColumn(ds_main_inpt_reptdata_wardlist.rowposition, "staiud");
  309. if( (staiud =="insert") || (staiud =="delete") ){
  310. return;
  311. }
  312. var dt = ds_main_inpt_reptdata_wardlist.getColumn(ds_main_inpt_reptdata_wardlist.rowposition, "plandt");
  313. var basedd = ds_main_inpt_reptdata_wardlist.getColumn(ds_main_inpt_reptdata_wardlist.rowposition, "basedd");
  314. if(utlf_isNull(dt)) {
  315. //model.setValue("/root/main/inpt/reptdata/wardlist["+grd_wardlist.row+"]/plandd",plandd);
  316. ds_main_inpt_reptdata_wardlist.setColumn(ds_main_inpt_reptdata_wardlist.rowposition, "plandd",basedd);
  317. ds_main_inpt_reptdata_wardlist.setColumn(ds_main_inpt_reptdata_wardlist.rowposition, "plandt",plandt);
  318. }
  319. ds_main_inpt_reptdata_wardlist.setColumn(ds_main_inpt_reptdata_wardlist.rowposition, "staiud","update");
  320. ds_main_inpt_reptdata_wardlist.setColumn(ds_main_inpt_reptdata_wardlist.rowposition, "usernm",sysf_getUserName());
  321. ds_main_inpt_reptdata_wardlist.setColumn(ds_main_inpt_reptdata_wardlist.rowposition, "userid",sysf_getUserId());
  322. ds_main_inpt_reptdata_wardlist.setColumn(ds_main_inpt_reptdata_wardlist.rowposition, "deliveflagcd","07");
  323. ds_main_inpt_reptdata_wardlist.setColumn(ds_main_inpt_reptdata_wardlist.rowposition, "wardcd", sysf_getUserInfo("dutplcecd"));
  324. }
  325. }
  326. // 일자별 표시기능
  327. function fSetColorHoliday(){
  328. for(var i=0;i<group2.grd_wardlist.rowcount;i++){
  329. var value = ds_main_inpt_reptdata_wardlist.getColumn(i, "dutflag");
  330. if(value == "4"){
  331. grd_wardlist.cellstyle("color", i, 1, i, grd_wardlist.colRef("certdt")) = "#0000ee";
  332. grd_wardlist.cellstyle("background-color", i, 1, i, grd_wardlist.colRef("certdt")) = "#ffd3ff";
  333. }else if(value == "8"){
  334. grd_wardlist.cellstyle("color", i, 1, i, grd_wardlist.colRef("certdt")) = "#ee0000";
  335. grd_wardlist.cellstyle("background-color", i, 1, i, grd_wardlist.colRef("certdt")) = "#ffd3ff";
  336. }else
  337. grd_wardlist.cellstyle("color", i, 1, i, grd_wardlist.colRef("certdt")) = "#000000";
  338. }
  339. }
  340. function fDel_Reptrows(grdflg){
  341. var reptcnt;
  342. var selrow;
  343. if(grdflg == "wardlist"){
  344. reptcnt = group2.grd_wardlist.rowcount;
  345. selrow = group2.grd_wardlist.currentrow;
  346. }
  347. // alert("selrow : " + selrow);
  348. if(reptcnt < 1 || selrow < 0){
  349. sysf_messageBox("삭제 할 자료가","I004");
  350. return;
  351. }
  352. if(utlf_isNull(selrow)){
  353. sysf_messageBox("선택된 셀이 ","I004");
  354. return;
  355. }
  356. if(grdflg == "wardlist"){
  357. ds_main_inpt_reptdata_wardlist.setColumn(ds_main_inpt_reptdata_wardlist.rowposition, "staiud","delete");
  358. ds_main_inpt_reptdata_wardlist.enableevent = false;
  359. ds_main_inpt_reptdata_wardlist.updatecontrol = false;
  360. ds_main_inpt_reptdata_wardlist.setRowType(ds_main_inpt_reptdata_wardlist.rowposition, 8);
  361. ds_main_inpt_reptdata_wardlist.updatecontrol = true;
  362. ds_main_inpt_reptdata_wardlist.enableevent = true;
  363. }
  364. }
  365. //=======================================================================================
  366. // Event
  367. //---------------------------------------------------------------------------------------
  368. /****************************************************************************************
  369. * Components : Form
  370. * Components ID : SMMNB01220
  371. * Event : oninit
  372. * Argument : 01.obj : Object Event has occurred
  373. * : 02.e : Event Object
  374. * Description : 화면 처음 초기화시
  375. ****************************************************************************************/
  376. function SMMNB01220_oninit(obj:Form, e:InitEventInfo)
  377. {
  378. frmf_initForm(obj); //폼 초기화
  379. }
  380. /****************************************************************************************
  381. * Components : Form
  382. * Components ID : SMMNB01220
  383. * Event : onload
  384. * Argument : 01.obj : Object Event has occurred
  385. * : 02.e : Event Object
  386. * Description : 화면 로딩 완료시
  387. ****************************************************************************************/
  388. function SMMNB01220_onload(obj:Form, e:LoadEventInfo)
  389. {
  390. ds_temp.setColumn(0, "duty", "1");
  391. grdf_setRowTypeIcon(group2.grd_wardlist, 0);
  392. //16.10.07_EMR.MNWHCAPL.DELIVEFLAGCD 설명
  393. //01.인사보고, 02.병동보고, 03.교육보고, 04.기타보고, 05.당직보고, 06.마취회복실 일일업무현황, 07.야간순회보고
  394. // 간호하드코딩 테이블 조회(I14 - 야간순회보고 조회가능 아이디)
  395. var pCode = "'I14'"; // 조회할 CdGrupID 코드정보
  396. var pDate = utlf_getCurrentDate(); //조회기준일자
  397. fGetNursHardCdInfo(pCode, pDate); //ds_codelist
  398. var jobkindcd = sysf_getUserInfo("jobkindcd");
  399. var jobposcd = sysf_getUserInfo("jobposcd");
  400. var userid = sysf_getUserInfo("userid");
  401. var dutplcecd = sysf_getUserInfo("dutplcecd");
  402. var curTime= utlf_getCurrentTime().substr(0,4);
  403. if(curTime <= "0800") {
  404. group2.ipt_orddd2.value = getAddDay(utlf_getCurrentDate(),-1);
  405. } else {
  406. group2.ipt_orddd2.value = utlf_getCurrentDate();
  407. }
  408. // 간호부장, 과장, 수간호사 및 등록된 사용자만 조회가능토록
  409. if ( jobkindcd == "1140" && (jobposcd == "41" || jobposcd == "75" || jobposcd == "62" || sysf_getUserInfo("userid") == "ENR" || sysf_getUserInfo("userid") == ds_codelist.lookupExpr("cdgrupid=='I14' && cdid=='"+sysf_getUserInfo("userid")+"'", "cdid"))){
  410. group2.btn_srch2.disabled = false;
  411. group2.btn_excel2.disabled = false;
  412. group2.button22.disabled = false;
  413. group2.button23.disabled = false;
  414. btn_cert.disabled = false;
  415. group2.ipt_orddd2.disabled = false;
  416. authflag = "Y";
  417. // rdo_deptflag.value = model.getValue("/root/code/codeinfo/codelist[cdgrupid='T52' and supcdid='"+dutplcecd+"']/cdid")
  418. } else {
  419. group2.btn_srch2.disabled = true;
  420. group2.btn_excel2.disabled = true;
  421. group2.button22.disabled = true;
  422. group2.button23.disabled = true;
  423. btn_cert.disabled = true;
  424. group2.ipt_orddd2.disabled = true;
  425. authflag = "N";
  426. //messageBox("지정된 사용자 이외에는 조회", "E001");
  427. }
  428. fSearch_reptlist();
  429. }
  430. /****************************************************************************************
  431. * Components : Button
  432. * Components ID : button16
  433. * Event : onclick
  434. * Argument : 01.obj : Object Event has occurred
  435. * : 02.e : Event Object
  436. * Description : 축소버튼 클릭시
  437. ****************************************************************************************/
  438. function group2_button16_onclick(obj:Button, e:ClickEventInfo)
  439. {
  440. group2.grd_wardlist.position.height = 250;
  441. }
  442. /****************************************************************************************
  443. * Components : Dataset
  444. * Components ID : ds_main_inpt_reptdata_wardlist
  445. * Event : oncolumnchanged
  446. * Argument : 01.obj : Object Event has occurred
  447. * : 02.e : Event Object
  448. * Description : 데이터셋 값 변경시
  449. ****************************************************************************************/
  450. function ds_main_inpt_reptdata_wardlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  451. {
  452. fUpt_Reptrows("wardlist");
  453. }
  454. /****************************************************************************************
  455. * Components : Button
  456. * Components ID : button10
  457. * Event : onclick
  458. * Argument : 01.obj : Object Event has occurred
  459. * : 02.e : Event Object
  460. * Description : 행추가버튼 클릭시
  461. ****************************************************************************************/
  462. function group2_button10_onclick(obj:Button, e:ClickEventInfo)
  463. {
  464. fAdd_Reptrows("wardlist");
  465. }
  466. /****************************************************************************************
  467. * Components : Button
  468. * Components ID : button22
  469. * Event : onclick
  470. * Argument : 01.obj : Object Event has occurred
  471. * : 02.e : Event Object
  472. * Description : 삭제버튼 클릭시
  473. ****************************************************************************************/
  474. function group2_button22_onclick(obj:Button, e:ClickEventInfo)
  475. {
  476. fDel_Reptrows("wardlist");
  477. }
  478. /****************************************************************************************
  479. * Components : Button
  480. * Components ID : button23
  481. * Event : onclick
  482. * Argument : 01.obj : Object Event has occurred
  483. * : 02.e : Event Object
  484. * Description : 저장버튼 클릭시
  485. ****************************************************************************************/
  486. function group2_button23_onclick(obj:Button, e:ClickEventInfo)
  487. {
  488. fSave_Reptrows2();
  489. }
  490. /****************************************************************************************
  491. * Components : Button
  492. * Components ID : button14
  493. * Event : onclick
  494. * Argument : 01.obj : Object Event has occurred
  495. * : 02.e : Event Object
  496. * Description : 확대버튼 클릭시
  497. ****************************************************************************************/
  498. function group2_button14_onclick(obj:Button, e:ClickEventInfo)
  499. {
  500. group2.grd_wardlist.position.height = 644;
  501. }
  502. /****************************************************************************************
  503. * Components : Button
  504. * Components ID : btn_srch2
  505. * Event : onclick
  506. * Argument : 01.obj : Object Event has occurred
  507. * : 02.e : Event Object
  508. * Description : 조회버튼 클릭시
  509. ****************************************************************************************/
  510. function group2_btn_srch2_onclick(obj:Button, e:ClickEventInfo)
  511. {
  512. fSearch_reptlist();
  513. }
  514. /****************************************************************************************
  515. * Components : Calendar
  516. * Components ID : ipt_orddd2
  517. * Event : onchanged
  518. * Argument : 01.obj : Object Event has occurred
  519. * : 02.e : Event Object
  520. * Description : 달력 값 변경시
  521. ****************************************************************************************/
  522. function group2_ipt_orddd2_onchanged(obj:Calendar, e:ChangeEventInfo)
  523. {
  524. fSearch_reptlist();
  525. }
  526. /****************************************************************************************
  527. * Components : Button
  528. * Components ID : btn_excel2
  529. * Event : onclick
  530. * Argument : 01.obj : Object Event has occurred
  531. * : 02.e : Event Object
  532. * Description : 엑셀버튼 클릭시
  533. ****************************************************************************************/
  534. function group2_btn_excel2_onclick(obj:Button, e:ClickEventInfo)
  535. {
  536. if( group2.grd_wardlist.rowcount > 0 ){
  537. grdf_exportExcel(group2.grd_wardlist, "야간순회보고", "SheetName", false, "", "user", false);
  538. } else {
  539. sysf_messageBox("엑셀파일로 저장할 리스트 내역이", "I004");
  540. return;
  541. }
  542. }
  543. /****************************************************************************************
  544. * Components : Button
  545. * Components ID : btn_cert
  546. * Event : onclick
  547. * Argument : 01.obj : Object Event has occurred
  548. * : 02.e : Event Object
  549. * Description : 확인버튼 클릭시
  550. ****************************************************************************************/
  551. function btn_cert_onclick(obj:Button, e:ClickEventInfo)
  552. {
  553. var searchdd = ds_temp.getColumn(0, "srchdd2");
  554. var sseq = ds_main_inpt_reptdata_wardlist.lookup("basedd", searchdd, "seqno");
  555. if(utlf_isNull(sseq)){
  556. sysf_messageBox(searchdd + " 일자의 야간순회보고가 작성되지 않았습니다.","E");
  557. return;
  558. }
  559. if(sysf_messageBox(searchdd + "일자에 확인","Q002") != 6) return;
  560. opt_certnm.value = sysf_getUserInfo("usernm");
  561. opt_certdt.value = utlf_getCurrentDate() + utlf_getCurrentTime();
  562. // alert(ipt_orddd2.value);
  563. // alert("test : " + model.getValue("/root/main/inpt/reptdata/wardlist[basedd = '"+ searchdd +"']/basedd"));
  564. var nFindRow = ds_main_inpt_reptdata_wardlist.findRow("basedd", searchdd);
  565. ds_main_inpt_reptdata_wardlist.enableevent = false;
  566. ds_main_inpt_reptdata_wardlist.updatecontrol = false;
  567. ds_main_inpt_reptdata_wardlist.setColumn(nFindRow, "certid", sysf_getUserInfo("userid"));
  568. ds_main_inpt_reptdata_wardlist.setColumn(nFindRow, "certdt", utlf_getCurrentDate() + utlf_getCurrentTime());
  569. ds_main_inpt_reptdata_wardlist.setColumn(nFindRow, "staiud", "update");
  570. for( var i=0 ; i<ds_main_inpt_reptdata_wardlist.rowcount ; i++ ){
  571. if( ds_main_inpt_reptdata_wardlist.getColumn(i, "basedd").toString().indexOf(searchdd.toString()) > -1 ){
  572. ds_main_inpt_reptdata_wardlist.setRowType(i, 4);
  573. break;
  574. }
  575. }
  576. ds_main_inpt_reptdata_wardlist.updatecontrol = true;
  577. ds_main_inpt_reptdata_wardlist.enableevent = true;
  578. ds_send_sReptPath.clearData();
  579. for( var i=0 ; i<ds_main_inpt_reptdata_wardlist.rowcount ; i++ ){
  580. if( ds_main_inpt_reptdata_wardlist.getRowType(i) == 2 || ds_main_inpt_reptdata_wardlist.getRowType(i) == 4 || ds_main_inpt_reptdata_wardlist.getRowType(i) == 8 ){
  581. var nRow = ds_send_sReptPath.addRow();
  582. ds_send_sReptPath.copyRow(nRow, ds_main_inpt_reptdata_wardlist, i);
  583. }
  584. }
  585. // alert("updtdata : " + updtdata);
  586. if(utlf_isNull(ds_send_sReptPath) || ds_send_sReptPath.rowcount == 0){
  587. sysf_messageBox("저장할 자료가 존재하지 않습니다.","I");
  588. return;
  589. }
  590. var oParam = {};
  591. oParam.id = "TXMNB01204";
  592. oParam.service = "wardcareapp.WardBizMngt";
  593. oParam.method = "reqExeSetNightReport";
  594. oParam.inds = "reqExeSetRept=ds_send_sReptPath";
  595. oParam.outds = "";
  596. oParam.async = false;
  597. oParam.callback = "cf_TXMNB01204";
  598. tranf_submit(oParam);
  599. if(arErrorCode.pop("TXMNB01204") > -1) {
  600. sysf_messageBox("저장되었습니다.", "I");
  601. fSearch_reptlist();
  602. }
  603. }
  604. function cf_TXMNB01204(sSvcId, nErrorCode, sErrorMsg) {
  605. arErrorCode.push(sSvcId, nErrorCode);
  606. }
  607. ]]></Script>
  608. </Form>
  609. </FDL>