SMMNG03401_린넨실사재고관리.xfdl 36 KB

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