SMMNG02101_세탁물안전재고관리.xfdl 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMNG02101" position="absolute 0 0 1196 770" titletext="안전재고관리" oninit="SMMNG02101_oninit" onload="SMMNG02101_onload">
  5. <Layouts>
  6. <Layout>
  7. <Shape id="roundrect1" type="roundrectangle" class="roundrect_search" position="absolute 0 25 1195 60"/>
  8. <Div position="absolute 0 0 1195 23" id="grp_tle">
  9. <Layouts>
  10. <Layout>
  11. <Static text="안전재고 관리" position="absolute 0 0 186 24" id="caption6" class="tit_1" anchor="default"/>
  12. </Layout>
  13. </Layouts>
  14. </Div>
  15. <Div position="absolute 0 65 1195 770" id="grp_biz" scrollbars="autoboth">
  16. <Layouts>
  17. <Layout>
  18. <Static text="안전재고관리" position="absolute 0 9 121 25" id="caption12" class="tit_2" anchor="default"/>
  19. <Button position="absolute 1141 3 1183 22" id="btn_sav" class="btn5" visible="false" text="저장" anchor="default" onclick="grp_biz_btn_sav_onclick"/>
  20. <Grid position="absolute 2 29 1192 699" id="grd_lnsflist" binddataset="ds_main_lnsfinfo_lnsflist" anchor="default" onexpandup="grp_biz_grd_lnsflist_onexpandup" autoenter="select" selecttype="multirow">
  21. <Formats>
  22. <Format id="default">
  23. <Columns>
  24. <Column size="20" band="left"/>
  25. <Column size="75"/>
  26. <Column size="86"/>
  27. <Column size="65"/>
  28. <Column size="130"/>
  29. <Column size="100"/>
  30. <Column size="70"/>
  31. <Column size="73"/>
  32. <Column size="80"/>
  33. <Column size="0"/>
  34. <Column size="81"/>
  35. <Column size="80"/>
  36. <Column size="100"/>
  37. <Column size="100"/>
  38. <Column size="130"/>
  39. <Column size="0"/>
  40. <Column size="0"/>
  41. <Column size="0"/>
  42. <Column size="0"/>
  43. <Column size="0"/>
  44. </Columns>
  45. <Rows>
  46. <Row size="24" band="head"/>
  47. <Row size="24" band="head"/>
  48. <Row size="24"/>
  49. </Rows>
  50. <Band id="head">
  51. <Cell rowspan="2" taborder="undefined"/>
  52. <Cell col="1" rowspan="2" text="구분" taborder="undefined"/>
  53. <Cell col="2" rowspan="2" text="물품코드" taborder="undefined"/>
  54. <Cell col="3" rowspan="2" text="상세코드" taborder="undefined"/>
  55. <Cell col="4" rowspan="2" text="물품명" taborder="undefined"/>
  56. <Cell col="5" rowspan="2" text="상세규격" taborder="undefined"/>
  57. <Cell col="6" rowspan="2" text="단위" taborder="undefined"/>
  58. <Cell col="7" rowspan="2" text="운용&#10;안전재고" taborder="undefined"/>
  59. <Cell col="8" colspan="4" text="물품보관실" taborder="undefined"/>
  60. <Cell col="12" rowspan="2" text="부서코드" taborder="undefined"/>
  61. <Cell col="13" rowspan="2" text="관리자" taborder="undefined"/>
  62. <Cell col="14" rowspan="2" text="비고" taborder="undefined"/>
  63. <Cell col="15"/>
  64. <Cell col="16"/>
  65. <Cell col="17"/>
  66. <Cell col="18"/>
  67. <Cell col="19"/>
  68. <Cell row="1" col="8" text="변경전수량"/>
  69. <Cell row="1" col="9" text="최종요청수량"/>
  70. <Cell row="1" col="10" text="안전재고수량"/>
  71. <Cell row="1" col="11" text="실재고수량"/>
  72. <Cell row="1" col="15"/>
  73. <Cell row="1" col="16"/>
  74. <Cell row="1" col="17"/>
  75. <Cell row="1" col="18"/>
  76. <Cell row="1" col="19"/>
  77. </Band>
  78. <Band id="body">
  79. <Cell celltype="head"/>
  80. <Cell col="1" displaytype="combo" edittype="combo" text="bind:safestocflag" combodataset="ds_safestocflag" combocodecol="value" combodatacol="label"/>
  81. <Cell col="2" displaytype="text" edittype="text" text="bind:goodcd" expandshow="show"/>
  82. <Cell col="3" style="align:left;" text="bind:goodcdseq"/>
  83. <Cell col="4" style="align:left top;padding:4 2 2 2;" text="bind:lngoodnm" wordwrap="word"/>
  84. <Cell col="5" style="align:left;" text="bind:goodmodel"/>
  85. <Cell col="6" style="align:left;" text="bind:goodunit"/>
  86. <Cell col="7" displaytype="text" text="bind:deptlnsfcnt"/>
  87. <Cell col="8" style="align:left;" text="bind:bflnsfcnt"/>
  88. <Cell col="9" text="bind:bfreqcnt"/>
  89. <Cell col="10" displaytype="text" text="bind:lnsfcnt"/>
  90. <Cell col="11" displaytype="text" text="bind:lnrlcnt"/>
  91. <Cell col="12" displaytype="combo" text="bind:deptcd" combodataset="ds_main_csrdeptlist" combocodecol="deptcd" combodatacol="deptnm" enable="false"/>
  92. <Cell col="13" style="align:left;" text="bind:lastupdtrnm"/>
  93. <Cell col="14" displaytype="text" edittype="text" text="bind:remark"/>
  94. <Cell col="15" displaytype="none" edittype="none" text="bind:lastupdtrid"/>
  95. <Cell col="16" text="bind:oldlnsfcnt"/>
  96. <Cell col="17" text="bind:nextfromdd"/>
  97. <Cell col="18" text="bind:fromdd"/>
  98. <Cell col="19" text="bind:todd"/>
  99. </Band>
  100. </Format>
  101. </Formats>
  102. </Grid>
  103. <Shape position="absolute 1 25 1194 26" linetype="vertical" id="line5" class="line_1" anchor="default"/>
  104. <Radio position="absolute 770 5 940 20" id="rdo_gubuncd" enable="false" visible="false" columncount="2" codecolumn="codecolumn" datacolumn="datacolumn" anchor="default">
  105. <Dataset id="innerdataset">
  106. <ColumnInfo>
  107. <Column id="codecolumn"/>
  108. <Column id="datacolumn"/>
  109. </ColumnInfo>
  110. <Rows>
  111. <Row>
  112. <Col id="codecolumn">01</Col>
  113. <Col id="datacolumn">물품마스터</Col>
  114. </Row>
  115. <Row>
  116. <Col id="codecolumn">02</Col>
  117. <Col id="datacolumn">창고마스터</Col>
  118. </Row>
  119. </Rows>
  120. </Dataset>
  121. </Radio>
  122. <Button position="absolute 1050 3 1092 22" id="button1" class="btn2" visible="false" text="추가" anchor="default" onclick="grp_biz_button1_onclick"/>
  123. <Button position="absolute 1095 3 1137 22" id="button2" class="btn2" visible="false" text="삭제" anchor="default" onclick="grp_biz_button2_onclick"/>
  124. <Radio position="absolute 115 8 510 24" id="rdo_safestocflag" columncount="6" codecolumn="codecolumn" datacolumn="datacolumn" anchor="default" onitemchanged="grp_biz_rdo_safestocflag_onitemchanged">
  125. <Dataset id="innerdataset">
  126. <ColumnInfo>
  127. <Column id="codecolumn"/>
  128. <Column id="datacolumn"/>
  129. </ColumnInfo>
  130. <Rows>
  131. <Row>
  132. <Col id="codecolumn">
  133. </Col>
  134. <Col id="datacolumn">전체</Col>
  135. </Row>
  136. <Row>
  137. <Col id="codecolumn">1</Col>
  138. <Col id="datacolumn">기구</Col>
  139. </Row>
  140. <Row>
  141. <Col id="codecolumn">2</Col>
  142. <Col id="datacolumn">진료재료</Col>
  143. </Row>
  144. <Row>
  145. <Col id="codecolumn">4</Col>
  146. <Col id="datacolumn">멸균방포</Col>
  147. </Row>
  148. <Row>
  149. <Col id="codecolumn">9</Col>
  150. <Col id="datacolumn">기타</Col>
  151. </Row>
  152. <Row>
  153. <Col id="codecolumn">3</Col>
  154. <Col id="datacolumn">린넨</Col>
  155. </Row>
  156. </Rows>
  157. </Dataset>
  158. </Radio>
  159. </Layout>
  160. </Layouts>
  161. </Div>
  162. <Static text="부 서 명 :" position="absolute 485 35 558 52" id="caption2" class="search_name"/>
  163. <Button position="absolute 994 32 1050 54" id="btn_search" class="btn1" taborder="2" text="조회" onclick="btn_search_onclick"/>
  164. <Combo position="absolute 560 33 660 52" id="cmb_deptcd" innerdataset="@ds_main_csrdeptlist" datacolumn="deptnm" codecolumn="deptcd" onitemchanged="cmb_deptcd_onitemchanged"/>
  165. <Shape position="absolute 982 30 988 55" linetype="vertical" id="line2" class="line_4"/>
  166. <Static text="기관코드 :" position="absolute 10 35 91 52" id="cap_instcd" class="search_name"/>
  167. <Edit readonly="true" position="absolute 90 34 250 53" align="align:center middle;" id="opt_instcdnm" class="output" style="align:center middle;"/>
  168. <Static text="부서구분 :" position="absolute 275 35 358 52" id="caption1" class="search_name"/>
  169. <Radio position="absolute 355 35 465 51" id="rdo_srch" columncount="2" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="rdo_srch_onitemchanged">
  170. <Dataset id="innerdataset">
  171. <ColumnInfo>
  172. <Column id="codecolumn"/>
  173. <Column id="datacolumn"/>
  174. </ColumnInfo>
  175. <Rows>
  176. <Row>
  177. <Col id="codecolumn">A</Col>
  178. <Col id="datacolumn">전체</Col>
  179. </Row>
  180. <Row>
  181. <Col id="codecolumn">D</Col>
  182. <Col id="datacolumn">부서별</Col>
  183. </Row>
  184. </Rows>
  185. </Dataset>
  186. </Radio>
  187. <Button position="absolute 1055 32 1111 54" id="button3" class="btn6" taborder="2" text="출력" onclick="button3_onclick"/>
  188. <Static text="업무일자 :" position="absolute 685 35 763 52" id="caption3" class="search_name"/>
  189. <Calendar position="absolute 765 33 853 52" id="ipt_workdd" autoselect="true" onchanged="ipt_workdd_onchanged"/>
  190. <Button position="absolute 1115 32 1171 54" id="button4" class="btn7" taborder="2" text="엑셀" onclick="button4_onclick"/>
  191. </Layout>
  192. </Layouts>
  193. <Objects>
  194. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  195. <ColumnInfo>
  196. <Column id="csrreqdeptcd" type="STRING" size="256" sumtext="CSR 청구부서코드"/>
  197. <Column id="useyn" type="STRING" size="256" sumtext="사용여부"/>
  198. <Column id="csryn" type="STRING" size="256" sumtext="공급실여부"/>
  199. <Column id="instcd" type="STRING" size="256"/>
  200. </ColumnInfo>
  201. <Rows>
  202. <Row/>
  203. </Rows>
  204. </Dataset>
  205. <Dataset id="ds_main_csrdeptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  206. <ColumnInfo>
  207. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  208. <Column id="deptcd" type="STRING" size="256" sumtext="부서코드"/>
  209. <Column id="deptnm" type="STRING" size="256" sumtext="부서명"/>
  210. <Column id="csrreqdeptcd" type="STRING" size="256" sumtext="CSR청구부서코드"/>
  211. <Column id="useyn" type="STRING" size="256" sumtext="사용여부"/>
  212. <Column id="cmt" type="STRING" size="256" sumtext="비고"/>
  213. <Column id="lastupdtrid" type="STRING" size="256" sumtext="사용여부"/>
  214. <Column id="lastupdtrnm" type="STRING" size="256" sumtext="사용여부"/>
  215. <Column id="lastupdtdt" type="STRING" size="256" sumtext="사용여부"/>
  216. <Column id="fstrgstdt" type="STRING" size="256" sumtext="사용여부"/>
  217. <Column id="csrreqdeptnm" type="STRING" size="256" sumtext="CSR청구부서코드"/>
  218. <Column id="useynnm" type="STRING" size="256" sumtext="사용여부"/>
  219. </ColumnInfo>
  220. </Dataset>
  221. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  222. <ColumnInfo>
  223. <Column id="srchflag" type="STRING" size="256" sumtext="기관코드"/>
  224. <Column id="deptcd" type="STRING" size="256" sumtext="부서코드"/>
  225. <Column id="workdd" type="STRING" size="256" sumtext="업무일자"/>
  226. <Column id="safestocflag" type="STRING" size="256" sumtext="업무일자"/>
  227. <Column id="gubuncd" type="STRING" size="256"/>
  228. <Column id="instcdnm" type="STRING" size="256"/>
  229. </ColumnInfo>
  230. <Rows>
  231. <Row/>
  232. </Rows>
  233. </Dataset>
  234. <Dataset id="ds_main_lnsfinfo_lnsflist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_lnsfinfo_lnsflist_oncolumnchanged">
  235. <ColumnInfo>
  236. <Column id="goodcd" type="STRING" size="256" sumtext="물품코드"/>
  237. <Column id="goodcdseq" type="STRING" size="256" sumtext="상세코드"/>
  238. <Column id="lngoodnm" type="STRING" size="256" sumtext="물품명"/>
  239. <Column id="goodmodel" type="STRING" size="256" sumtext="모델명"/>
  240. <Column id="goodunit" type="STRING" size="256" sumtext="모델명"/>
  241. <Column id="goodspec" type="STRING" size="256" sumtext="규격"/>
  242. <Column id="deptlnsfcnt" type="STRING" size="256" sumtext="운영안전재고량"/>
  243. <Column id="lnsfcnt" type="STRING" size="256" sumtext="안전재고량"/>
  244. <Column id="lnrlcnt" type="STRING" size="256" sumtext="실재고량"/>
  245. <Column id="remark" type="STRING" size="256" sumtext="비고"/>
  246. <Column id="deptcd" type="STRING" size="256" sumtext="부서코드"/>
  247. <Column id="deptnm" type="STRING" size="256" sumtext="부서코드"/>
  248. <Column id="nextfromdd" type="STRING" size="256" sumtext="시작일자"/>
  249. <Column id="fromdd" type="STRING" size="256" sumtext="시작일자"/>
  250. <Column id="todd" type="STRING" size="256" sumtext="시작일자"/>
  251. <Column id="fstrgstrid" type="STRING" size="256" sumtext="최초등록자id"/>
  252. <Column id="fstrgstrnm" type="STRING" size="256" sumtext="최초등록자"/>
  253. <Column id="fstrgstdt" type="STRING" size="256" sumtext="최초등록시간"/>
  254. <Column id="lastupdtrid" type="STRING" size="256" sumtext="마지막등록자id"/>
  255. <Column id="lastupdtrnm" type="STRING" size="256" sumtext="마지막등록자"/>
  256. <Column id="lastupdtdt" type="STRING" size="256" sumtext="마지막등록시간"/>
  257. <Column id="oldlnsfcnt" type="STRING" size="256" sumtext="안전재고량"/>
  258. <Column id="safestocflag" type="STRING" size="256" sumtext="안전재고량"/>
  259. <Column id="bflnsfcnt" type="STRING" size="256" sumtext="안전재고량"/>
  260. <Column id="bfreqcnt" type="STRING" size="256" sumtext="안전재고량"/>
  261. <Column id="usrlnrlcnt" type="STRING" size="256" sumtext="사용자입력실재고량"/>
  262. <Column id="gap" type="SRING" size="256" sumtext="차이"/>
  263. <Column id="gappercent" type="STRING" size="256" sumtext="편차율"/>
  264. <Column id="goodnm" type="STRING" size="256"/>
  265. </ColumnInfo>
  266. </Dataset>
  267. <Dataset id="ds_send_savedata_lnsflist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  268. <ColumnInfo>
  269. <Column id="status" type="STRING" size="256" sumtext="상태 "/>
  270. <Column id="goodcd" type="STRING" size="256" sumtext="품목코드 "/>
  271. <Column id="goodcdseq" type="STRING" size="256" sumtext="상세코드 "/>
  272. <Column id="deptcd" type="STRING" size="256" sumtext="부서코드 "/>
  273. <Column id="lnsfcnt" type="INT" size="256" sumtext="안전재고수량 "/>
  274. <Column id="lnrlcnt" type="INT" size="256" sumtext="실재고수량 "/>
  275. <Column id="deptlnsfcnt" type="INT" size="256" sumtext="운영안전재고량 "/>
  276. <Column id="nextfromdd" type="STRING" size="256" sumtext="시작일자"/>
  277. <Column id="fromdd" type="STRING" size="256" sumtext="시작일자"/>
  278. <Column id="todd" type="STRING" size="256" sumtext="종료일자"/>
  279. <Column id="remark" type="STRING" size="256" sumtext="비고 "/>
  280. <Column id="usrlnrlcnt" type="STRING" size="256" sumtext="사용자 실재고량 "/>
  281. <Column id="safestocflag" type="STRING" size="256" sumtext="재고구분 "/>
  282. </ColumnInfo>
  283. </Dataset>
  284. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  285. <ColumnInfo>
  286. <Column id="srchflag" type="STRING" size="256"/>
  287. <Column id="deptcd" type="STRING" size="256"/>
  288. <Column id="workdd" type="STRING" size="256"/>
  289. </ColumnInfo>
  290. <Rows>
  291. <Row/>
  292. </Rows>
  293. </Dataset>
  294. <Dataset id="ds_init_csrdeptinfo_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  295. <Dataset id="ds_safestocflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  296. <ColumnInfo>
  297. <Column id="label" type="STRING" size="256"/>
  298. <Column id="value" type="STRING" size="256"/>
  299. </ColumnInfo>
  300. <Rows>
  301. <Row>
  302. <Col id="value">1</Col>
  303. <Col id="label">기구</Col>
  304. </Row>
  305. <Row>
  306. <Col id="value">2</Col>
  307. <Col id="label">진료재료</Col>
  308. </Row>
  309. <Row>
  310. <Col id="value">4</Col>
  311. <Col id="label">멸균방포</Col>
  312. </Row>
  313. <Row>
  314. <Col id="value">9</Col>
  315. <Col id="label">기타</Col>
  316. </Row>
  317. <Row>
  318. <Col id="value">3</Col>
  319. <Col id="label">린넨</Col>
  320. </Row>
  321. </Rows>
  322. </Dataset>
  323. <Dataset id="ds_copynode_grd_lnsflist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  324. <ColumnInfo>
  325. <Column id="goodcd" type="STRING" size="256" sumtext="물품코드"/>
  326. <Column id="goodcdseq" type="STRING" size="256" sumtext="상세코드"/>
  327. <Column id="lngoodnm" type="STRING" size="256" sumtext="물품명"/>
  328. <Column id="goodmodel" type="STRING" size="256" sumtext="모델명"/>
  329. <Column id="goodunit" type="STRING" size="256" sumtext="모델명"/>
  330. <Column id="goodspec" type="STRING" size="256" sumtext="규격"/>
  331. <Column id="deptlnsfcnt" type="STRING" size="256" sumtext="운영안전재고량"/>
  332. <Column id="lnsfcnt" type="STRING" size="256" sumtext="안전재고량"/>
  333. <Column id="lnrlcnt" type="STRING" size="256" sumtext="실재고량"/>
  334. <Column id="remark" type="STRING" size="256" sumtext="비고"/>
  335. <Column id="deptcd" type="STRING" size="256" sumtext="부서코드"/>
  336. <Column id="deptnm" type="STRING" size="256" sumtext="부서코드"/>
  337. <Column id="nextfromdd" type="STRING" size="256" sumtext="시작일자"/>
  338. <Column id="fromdd" type="STRING" size="256" sumtext="시작일자"/>
  339. <Column id="todd" type="STRING" size="256" sumtext="시작일자"/>
  340. <Column id="fstrgstrid" type="STRING" size="256" sumtext="최초등록자id"/>
  341. <Column id="fstrgstrnm" type="STRING" size="256" sumtext="최초등록자"/>
  342. <Column id="fstrgstdt" type="STRING" size="256" sumtext="최초등록시간"/>
  343. <Column id="lastupdtrid" type="STRING" size="256" sumtext="마지막등록자id"/>
  344. <Column id="lastupdtrnm" type="STRING" size="256" sumtext="마지막등록자"/>
  345. <Column id="lastupdtdt" type="STRING" size="256" sumtext="마지막등록시간"/>
  346. <Column id="oldlnsfcnt" type="STRING" size="256" sumtext="안전재고량"/>
  347. <Column id="safestocflag" type="STRING" size="256" sumtext="안전재고량"/>
  348. <Column id="bflnsfcnt" type="STRING" size="256" sumtext="안전재고량"/>
  349. <Column id="bfreqcnt" type="STRING" size="256" sumtext="안전재고량"/>
  350. <Column id="usrlnrlcnt" type="STRING" size="256" sumtext="사용자입력실재고량"/>
  351. <Column id="gap" type="SRING" size="256" sumtext="차이"/>
  352. <Column id="gappercent" type="STRING" size="256" sumtext="편차율"/>
  353. </ColumnInfo>
  354. </Dataset>
  355. </Objects>
  356. <Bind>
  357. <BindItem id="item0" compid="opt_instcdnm" propid="value" datasetid="ds_send" columnid="instcdnm"/>
  358. <BindItem id="item1" compid="grp_biz.rdo_safestocflag" propid="value" datasetid="ds_send" columnid="safestocflag"/>
  359. <BindItem id="item2" compid="grp_biz.rdo_gubuncd" propid="value" datasetid="ds_send" columnid="gubuncd"/>
  360. <BindItem id="item3" compid="rdo_srch" propid="value" datasetid="ds_main_cond" columnid="srchflag"/>
  361. <BindItem id="item4" compid="cmb_deptcd" propid="value" datasetid="ds_main_cond" columnid="deptcd"/>
  362. <BindItem id="item5" compid="ipt_workdd" propid="value" datasetid="ds_main_cond" columnid="workdd"/>
  363. </Bind>
  364. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  365. * System Name : 경대 의료정보시스템
  366. * Job Name : emr_csrxp -> SMMNG02101
  367. * Creator : yjh
  368. * Make Date : 2017-08-17
  369. * Description :
  370. *---------------------------------------------------------------------------------------
  371. * Modify Date Modifier Modify Description
  372. *---------------------------------------------------------------------------------------
  373. * 2017-08-17 yjh TF->XP
  374. *
  375. *---------------------------------------------------------------------------------------
  376. ****************************************************************************************/
  377. //=======================================================================================
  378. // Lib Include
  379. //---------------------------------------------------------------------------------------
  380. include "com_commonxp::comm_main.xjs";
  381. include "emr_carecomxp::CareCom.xjs";
  382. include "mis_miscommonxp::RSZ001.xjs";
  383. include "mis_miscommonxp::MIS.xjs";
  384. //=======================================================================================
  385. // Global Form Variable
  386. //---------------------------------------------------------------------------------------
  387. //=======================================================================================
  388. // Function
  389. //---------------------------------------------------------------------------------------
  390. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  391. var predept = "";
  392. function fInitialize()
  393. {
  394. fGetHardCodeInfo("ds_send", "ds_init_csrdeptinfo_codelist", "018"); // 안전재고관리구분
  395. opt_instcdnm.value = sysf_getUserInfo("dutplceinstnm"); //기관코드
  396. ipt_workdd.value = utlf_getCurrentDate();
  397. ds_send_reqdata.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  398. ds_send_reqdata.setColumn(0, "useyn", "Y");
  399. var csrdept = ds_init_csrdeptinfo_codelist.lookupExpr("cdgrupid=='018' && cdid=='" + sysf_getUserInfo("dutplcecd") + "'", "cdid");
  400. var csryn = "N";
  401. if( utlf_isNull(csrdept) ){
  402. rdo_srch.value = "D";
  403. rdo_srch.enable = false;
  404. //cmb_deptcd.disabled = true;
  405. cmb_deptcd.value = sysf_getUserInfo("dutplcecd");
  406. } else {
  407. csryn = "Y";
  408. }
  409. ds_send_reqdata.setColumn(0, "csryn", csryn);
  410. var oParam = {};
  411. oParam.id = "TRMNG00402";
  412. oParam.service = "csrapp.CsrMngt";
  413. oParam.method = "getCsrDeptList";
  414. oParam.inds = "req=ds_send_reqdata";
  415. oParam.outds = "ds_main_csrdeptlist=csrdeptlist";
  416. oParam.async = false;
  417. //oParam.callback = "cf_TRMNG00402";
  418. tranf_submit(oParam);
  419. fSearch();
  420. }
  421. function fSearch() {
  422. var deptcd = cmb_deptcd.value;
  423. ds_send.setColumn(0, "deptcd" , cmb_deptcd.value);
  424. ds_send.setColumn(0, "srchflag" , rdo_srch.value); //마스터코드구분 01:물품마스터02:창고마스터
  425. ds_send.setColumn(0, "workdd" , ipt_workdd.value);
  426. ds_send.setColumn(0, "safestocflag", grp_biz.rdo_safestocflag.value);
  427. var oParam = {};
  428. oParam.id = "TRMNG02102";
  429. oParam.service = "csrapp.CsrDryMngt";
  430. oParam.method = "reqGetLnsfList";
  431. oParam.inds = "req=ds_send";
  432. oParam.outds = "ds_main_lnsfinfo_lnsflist=lnsflist";
  433. oParam.async = false;
  434. //oParam.callback = "cf_TRMNG02102";
  435. tranf_submit(oParam);
  436. if( utlf_isNull(ds_main_lnsfinfo_lnsflist.getColumnInfo("goodnm")) ){
  437. ds_main_lnsfinfo_lnsflist.addColumn("goodnm", "string");
  438. }
  439. if(deptcd == "01" || deptcd == "02" || deptcd == "03") {
  440. grp_biz.grd_lnsflist.setCellProperty("Body", 7, "edittype", "text");
  441. grp_biz.grd_lnsflist.setCellProperty("Body", 10, "edittype", "text");
  442. grp_biz.grd_lnsflist.setCellProperty("Body", 11, "edittype", "text");
  443. grp_biz.btn_sav.visible =true;
  444. grp_biz.button1.visible = true;
  445. grp_biz.button2.visible = true;
  446. } else {
  447. grp_biz.grd_lnsflist.setCellProperty("Body", 7, "edittype", "none");
  448. grp_biz.grd_lnsflist.setCellProperty("Body", 10, "edittype", "none");
  449. grp_biz.grd_lnsflist.setCellProperty("Body", 11, "edittype", "none");
  450. grp_biz.btn_sav.visible =false;
  451. grp_biz.button1.visible = false;
  452. grp_biz.button2.visible = false;
  453. }
  454. }
  455. function fSettingGoodList(pnode) {
  456. var codynode = eval(pnode);
  457. var addRow = ds_main_lnsfinfo_lnsflist.rowcount - 1;
  458. ds_main_lnsfinfo_lnsflist.enableevent = false;
  459. ds_main_lnsfinfo_lnsflist.updatecontrol = false;
  460. for (var j = 0; j < codynode.rowcount; j++) {
  461. for (var i = 0; i < ds_main_lnsfinfo_lnsflist.rowcount; i++) {
  462. var goodnew = codynode.getColumn(j, "goodcd");
  463. var goodseqnew = codynode.getColumn(j, "goodcdseq");
  464. var goodold = ds_main_lnsfinfo_lnsflist.getColumn(i, "goodcd");
  465. var goodseqold = ds_main_lnsfinfo_lnsflist.getColumn(i, "goodcdseq");
  466. var goodoldnm = ds_main_lnsfinfo_lnsflist.getColumn(i, "goodnm");
  467. if (goodnew == goodold && goodseqnew == goodseqold) {
  468. alert("<"+ goodoldnm + ">" + "은 이미 등록된 물품입니다.");
  469. return;
  470. }
  471. }
  472. if(addRow > ds_main_lnsfinfo_lnsflist.rowcount - 1)
  473. {
  474. misfGridIUD(grp_biz.grd_lnsflist,"A");
  475. addRow = ds_main_lnsfinfo_lnsflist.rowcount - 1;
  476. }
  477. ds_main_lnsfinfo_lnsflist.setColumn(addRow, "goodcd" , codynode.getColumn(j, "goodcd"));
  478. ds_main_lnsfinfo_lnsflist.setColumn(addRow, "goodcdseq" , codynode.getColumn(j, "goodcdseq"));
  479. ds_main_lnsfinfo_lnsflist.setColumn(addRow, "lngoodnm" , codynode.getColumn(j, "lngoodnm"));
  480. ds_main_lnsfinfo_lnsflist.setColumn(addRow, "goodmodel" , codynode.getColumn(j, "goodmodel"));
  481. ds_main_lnsfinfo_lnsflist.setColumn(addRow, "goodunit" , codynode.getColumn(j, "goodunit"));
  482. ds_main_lnsfinfo_lnsflist.setColumn(addRow, "deptcd" , ds_main_cond.getColumn(0, "deptcd"));
  483. ds_main_lnsfinfo_lnsflist.setColumn(addRow, "fromdd" , utlf_getCurrentDate());
  484. addRow = addRow + 1;
  485. }
  486. ds_main_lnsfinfo_lnsflist.updatecontrol = true;
  487. ds_main_lnsfinfo_lnsflist.enableevent = true;
  488. grp_biz.grd_lnsflist.showEditor(false);
  489. }
  490. //=======================================================================================
  491. // Event
  492. //---------------------------------------------------------------------------------------
  493. /****************************************************************************************
  494. * Components : Form
  495. * Components ID : SMMNG02101
  496. * Event : oninit
  497. * Argument : 01.obj : Object Event has occurred
  498. * : 02.e : Event Object
  499. * Description : 화면 처음 초기화시
  500. ****************************************************************************************/
  501. function SMMNG02101_oninit(obj:Form, e:InitEventInfo)
  502. {
  503. frmf_initForm(obj); //폼 초기화
  504. }
  505. /****************************************************************************************
  506. * Components : Form
  507. * Components ID : SMMNG02101
  508. * Event : onload
  509. * Argument : 01.obj : Object Event has occurred
  510. * : 02.e : Event Object
  511. * Description : 화면 로딩 완료시
  512. ****************************************************************************************/
  513. function SMMNG02101_onload(obj:Form, e:LoadEventInfo)
  514. {
  515. ds_send.setColumn(0, "gubuncd", "01");
  516. ds_send.setColumn(0, "safestocflag", "3");
  517. grdf_setRowTypeIcon(grp_biz.grd_lnsflist, 0);
  518. grdf_setGridSort(grp_biz.grd_lnsflist);
  519. rdo_srch.value = "D";
  520. fInitialize();
  521. }
  522. /****************************************************************************************
  523. * Components : Button
  524. * Components ID : btn_sav
  525. * Event : onclick
  526. * Argument : 01.obj : Object Event has occurred
  527. * : 02.e : Event Object
  528. * Description : 저장버튼 클릭시
  529. ****************************************************************************************/
  530. function grp_biz_btn_sav_onclick(obj:Button, e:ClickEventInfo)
  531. {
  532. ds_main_lnsfinfo_lnsflist.enableevent = false;
  533. ds_main_lnsfinfo_lnsflist.updatecontrol = false;
  534. grdf_setStatusColumn(ds_main_lnsfinfo_lnsflist, "status");
  535. ds_main_lnsfinfo_lnsflist.updatecontrol = true;
  536. ds_main_lnsfinfo_lnsflist.enableevent = true;
  537. ds_send_savedata_lnsflist.assign(grdf_getGridUpdateData(grp_biz.grd_lnsflist));
  538. var oParam = {};
  539. oParam.id = "TXMNG02102";
  540. oParam.service = "csrapp.CsrDryMngt";
  541. oParam.method = "reqExeLnsfList";
  542. oParam.inds = "req=ds_send_savedata_lnsflist:A";
  543. oParam.outds = "";
  544. oParam.async = false;
  545. //oParam.callback = "cf_TXMNG02102";
  546. tranf_submit(oParam);
  547. //alert(instance1.selectNodesXml("/root/send"));
  548. fSearch();
  549. }
  550. /****************************************************************************************
  551. * Components : Grid
  552. * Components ID : grd_lnsflist
  553. * Event : onexpandup
  554. * Argument : 01.obj : Object Event has occurred
  555. * : 02.e : Event Object
  556. * Description : 그리드 expand버튼 클릭시
  557. ****************************************************************************************/
  558. function grp_biz_grd_lnsflist_onexpandup(obj:Grid, e:GridMouseEventInfo)
  559. {
  560. frmf_clearParameter("SPMNG02801_");
  561. sysf_setModelProperty("flag", "req");
  562. if (e.cell == grp_biz.grd_lnsflist.getBindCellIndex("body", "goodcd")) {//물품코드 버튼을 눌렀을 때
  563. ds_copynode_grd_lnsflist.clearData();
  564. rszfOpenPopUpListByWndName(grp_biz.grd_lnsflist,"","goodcd,goodnm,goodengnm,useyn,goodspec,goodmodel,deliveunit","SPMNG02801","","", "Y");
  565. var CSV = frmf_getParameter("SPMNG02801_");
  566. dsf_setCSVToDs("ds_copynode_grd_lnsflist", CSV);
  567. fSettingGoodList("ds_copynode_grd_lnsflist");
  568. }
  569. }
  570. function ds_main_lnsfinfo_lnsflist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  571. {
  572. if ( grd_lnsflist.col == grd_lnsflist.colRef("lnsfcnt") ) {
  573. var oldlnsfcnt = grd_lnsflist.valueMatrix(grd_lnsflist.row, grd_lnsflist.colRef("oldlnsfcnt"));
  574. var deptlnsfcnt = grd_lnsflist.valueMatrix(grd_lnsflist.row, grd_lnsflist.colRef("deptlnsfcnt"));
  575. var cnt = parseInt(grd_lnsflist.valueMatrix(grd_lnsflist.row, grd_lnsflist.colRef("lnsfcnt")), 10) - parseInt(grd_lnsflist.valueMatrix(grd_lnsflist.row, grd_lnsflist.colRef("oldlnsfcnt")), 10);
  576. grd_lnsflist.valueMatrix(grd_lnsflist.row, grd_lnsflist.colRef("deptlnsfcnt")) = parseInt(deptlnsfcnt, 10) + parseInt(cnt, 10);
  577. var date = getCurrentDate().toDate("YYYYMMDD");
  578. var nextday = (date.getAddDate(1, "D")).getDateFormat("YYYYMMDD");
  579. grd_lnsflist.valueMatrix(grd_lnsflist.row, grd_lnsflist.colRef("nextfromdd")) = nextday;
  580. grd_lnsflist.valueMatrix(grd_lnsflist.row, grd_lnsflist.colRef("todd")) = getCurrentDate();
  581. }
  582. }
  583. /****************************************************************************************
  584. * Components : Button
  585. * Components ID : button1
  586. * Event : onclick
  587. * Argument : 01.obj : Object Event has occurred
  588. * : 02.e : Event Object
  589. * Description : 추가버튼 클릭시
  590. ****************************************************************************************/
  591. function grp_biz_button1_onclick(obj:Button, e:ClickEventInfo)
  592. {
  593. if ( utlf_isNull(cmb_deptcd.value) ) {
  594. alert("부서를 선택하세요!");
  595. return;
  596. } else {
  597. ds_main_lnsfinfo_lnsflist.addRow();
  598. }
  599. }
  600. /****************************************************************************************
  601. * Components : Button
  602. * Components ID : button2
  603. * Event : onclick
  604. * Argument : 01.obj : Object Event has occurred
  605. * : 02.e : Event Object
  606. * Description : 삭제버튼 클릭시
  607. ****************************************************************************************/
  608. function grp_biz_button2_onclick(obj:Button, e:ClickEventInfo)
  609. {
  610. if(ds_main_lnsfinfo_lnsflist.rowposition > -1){
  611. ds_main_lnsfinfo_lnsflist.enableevent = false;
  612. ds_main_lnsfinfo_lnsflist.updatecontrol = false;
  613. for( var i=0 ; i<grp_biz.grd_lnsflist.selectcount ; i++ ){
  614. for( var j=grp_biz.grd_lnsflist.selectendrow[i] ; j>=grp_biz.grd_lnsflist.selectstartrow[i] ; j-- ){
  615. ds_main_lnsfinfo_lnsflist.setColumn(j, "todd", utlf_getCurrentDate());
  616. ds_main_lnsfinfo_lnsflist.setRowType(j, 8);
  617. }
  618. }
  619. ds_main_lnsfinfo_lnsflist.updatecontrol = true;
  620. ds_main_lnsfinfo_lnsflist.enableevent = true;
  621. }
  622. }
  623. /****************************************************************************************
  624. * Components : Radio
  625. * Components ID : rdo_safestocflag
  626. * Event : onitemchanged
  627. * Argument : 01.obj : Object Event has occurred
  628. * : 02.e : Event Object
  629. * Description : 라디오 값 변경시
  630. ****************************************************************************************/
  631. function grp_biz_rdo_safestocflag_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  632. {
  633. fSearch();
  634. }
  635. /****************************************************************************************
  636. * Components : Button
  637. * Components ID : btn_search
  638. * Event : onclick
  639. * Argument : 01.obj : Object Event has occurred
  640. * : 02.e : Event Object
  641. * Description : 조회버튼 클릭시
  642. ****************************************************************************************/
  643. function btn_search_onclick(obj:Button, e:ClickEventInfo)
  644. {
  645. fSearch();
  646. }
  647. /****************************************************************************************
  648. * Components : Combo
  649. * Components ID : cmb_deptcd
  650. * Event : onitemchanged
  651. * Argument : 01.obj : Object Event has occurred
  652. * : 02.e : Event Object
  653. * Description : 콤보 값 변경시
  654. ****************************************************************************************/
  655. function cmb_deptcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  656. {
  657. fSearch();
  658. }
  659. /****************************************************************************************
  660. * Components : Radio
  661. * Components ID : rdo_srch
  662. * Event : onitemchanged
  663. * Argument : 01.obj : Object Event has occurred
  664. * : 02.e : Event Object
  665. * Description : 라디오 값 변경시
  666. ****************************************************************************************/
  667. function rdo_srch_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  668. {
  669. if ( rdo_srch.value == "A") {
  670. caption2.visible = false;
  671. cmb_deptcd.visible = false;
  672. predept = cmb_deptcd.value;
  673. cmb_deptcd.value = "";
  674. grp_biz.grd_lnsflist.setFormatColProperty(12, "size", 0);
  675. grp_biz.grd_lnsflist.setFormatColProperty(14, "size", 0);
  676. grp_biz.grd_lnsflist.setFormatColProperty(13, "size", 0);
  677. grp_biz.grd_lnsflist.setFormatColProperty(9, "size", 0);
  678. grp_biz.grd_lnsflist.setFormatColProperty(8, "size", 0);
  679. grp_biz.btn_sav.visible = false;
  680. grp_biz.button1.visible = false;
  681. grp_biz.button2.visible = false;
  682. fSearch();
  683. } else {
  684. caption2.visible = true;
  685. cmb_deptcd.visible = true;
  686. cmb_deptcd.value = predept;
  687. grp_biz.grd_lnsflist.setFormatColProperty(12, "size", 100);
  688. grp_biz.grd_lnsflist.setFormatColProperty(14, "size", 130);
  689. grp_biz.grd_lnsflist.setFormatColProperty(13, "size", 100);
  690. grp_biz.grd_lnsflist.setFormatColProperty(9, "size", 80);
  691. grp_biz.grd_lnsflist.setFormatColProperty(8, "size", 80);
  692. // btn_sav.visible = true;
  693. // button1.visible = true;
  694. // button2.visible = true;
  695. fSearch();
  696. }
  697. }
  698. /****************************************************************************************
  699. * Components : Button
  700. * Components ID : button3
  701. * Event : onclick
  702. * Argument : 01.obj : Object Event has occurred
  703. * : 02.e : Event Object
  704. * Description : 출력버튼 클릭시
  705. ****************************************************************************************/
  706. function button3_onclick(obj:Button, e:ClickEventInfo)
  707. {
  708. var objDOM = rptf_createDOM(); // DOM 객체 설정
  709. rptf_setNodeListToDOM(objDOM, "/root/main/lnsfinfo/lnsflist", ds_main_lnsfinfo_lnsflist); // 데이터셋 1
  710. var objParam = new Object();
  711. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  712. var option = "open=1;save=1;directprint=0;print=1;zoom=0;";
  713. rptf_exeReportPreview30(["RPMNG02100"],[objParam], option);
  714. }
  715. /****************************************************************************************
  716. * Components : Calendar
  717. * Components ID : ipt_workdd
  718. * Event : onchanged
  719. * Argument : 01.obj : Object Event has occurred
  720. * : 02.e : Event Object
  721. * Description : 달력 값 변경시
  722. ****************************************************************************************/
  723. function ipt_workdd_onchanged(obj:Calendar, e:ChangeEventInfo)
  724. {
  725. fSearch();
  726. }
  727. /****************************************************************************************
  728. * Components : Button
  729. * Components ID : button4
  730. * Event : onclick
  731. * Argument : 01.obj : Object Event has occurred
  732. * : 02.e : Event Object
  733. * Description : 엑셀버튼 클릭시
  734. ****************************************************************************************/
  735. function button4_onclick(obj:Button, e:ClickEventInfo)
  736. {
  737. if( grp_biz.grd_lnsflist.rowcount > 0 ){
  738. grdf_exportExcel(grp_biz.grd_lnsflist, "세탁물 안전재고관리", "SheetName", false, "", "user", false);
  739. } else {
  740. sysf_messageBox("조회된 데이터가 ", "I004");
  741. return;
  742. }
  743. }
  744. ]]></Script>
  745. </Form>
  746. </FDL>