SMRSM00100_화학물질코드관리.xfdl 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRSM00100" position="absolute 0 0 1198 788" titletext="화학물질 코드 등록" oninit="SMRSM00100_oninit" onload="SMRSM00100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="화학물질 코드 등록" class="tit_1" position="absolute 0 0 173 25" anchor="left top"/>
  8. <Shape id="line2" linetype="horizontal" class="line_6" position="absolute 0 48 1194 54" anchor="left top right"/>
  9. <Button id="btn_save" taborder="1" text="저장" class="btn4" position="absolute 1137 27 1193 49" onclick="btn_save_onclick" anchor="top right"/>
  10. <Button id="button1" taborder="2" text="삭제" class="btn4" position="absolute 1079 27 1135 49" onclick="button1_onclick" anchor="top right"/>
  11. <Button id="btn_prt" taborder="3" text="출력" class="btn6" visible="false" position="absolute 0 27 56 49" anchor="left top"/>
  12. <Button id="button2" taborder="4" text="신규" class="btn4" position="absolute 1021 27 1077 49" onclick="button2_onclick" anchor="top right"/>
  13. <Div id="grp_sea" taborder="5" class="div_SA2" position="absolute 0 51 1194 91" anchor="left top right">
  14. <Layouts>
  15. <Layout>
  16. <Static id="caption7" text="물질명" class="search_name" position="absolute 56 12 120 29" anchor="left top"/>
  17. <Shape id="line5" linetype="vertical" class="line_4" position="absolute 701 9 707 31" anchor="top right"/>
  18. <Button id="btn_search" taborder="5" text="조회" class="btn1" position="absolute 720 10 776 32" anchor="top right" onclick="grp_sea_btn_search_onclick"/>
  19. <Static id="caption1" text="(물류)물품코드" class="search_name" position="absolute 246 12 360 29" anchor="left top"/>
  20. <Edit id="ipt_matrnm_search" taborder="6" class="input_default" position="absolute 124 11 224 30" anchor="left top" autoselect="true"/>
  21. <Edit id="ipt_goodcd_search" taborder="7" class="input_default" position="absolute 365 11 453 30" anchor="left top" autoselect="true"/>
  22. <Button id="btn_goodcd_search" taborder="8" class="icon_search" position="absolute 456 11 472 27" anchor="left top" onclick="grp_sea_btn_goodcd_search_onclick"/>
  23. <Edit id="opt_goodnm_search" taborder="9" readonly="true" position="absolute 474 10 682 29" anchor="left top" class="output"/>
  24. </Layout>
  25. </Layouts>
  26. </Div>
  27. <Shape id="line3" linetype="horizontal" class="line_10" position="absolute 0 122 450 128" anchor="left top right"/>
  28. <Shape id="line1" linetype="horizontal" class="line_10" position="absolute 455 122 1187 128" anchor="top right"/>
  29. <Shape id="line13" linetype="horizontal" class="line_2" position="absolute 456 150 1078 156" anchor="top right"/>
  30. <Static id="caption21" text="코드 목록" class="tit_2" position="absolute 1 106 82 122" anchor="left top"/>
  31. <Static id="caption20" text="상세내역" class="tit_2" position="absolute 457 106 532 122" anchor="top right"/>
  32. <Grid id="grd_matrlist" taborder="6" binddataset="ds_main_matrlist" useinputpanel="false" position="absolute 0 127 450 782" oncellclick="grd_matrlist_oncellclick" anchor="all">
  33. <Formats>
  34. <Format id="default">
  35. <Columns>
  36. <Column size="24"/>
  37. <Column size="37"/>
  38. <Column size="198"/>
  39. <Column size="96"/>
  40. <Column size="102"/>
  41. <Column size="89"/>
  42. <Column size="145"/>
  43. <Column size="105"/>
  44. </Columns>
  45. <Rows>
  46. <Row size="24" band="head"/>
  47. <Row size="24"/>
  48. </Rows>
  49. <Band id="head">
  50. <Cell/>
  51. <Cell col="1" text="코드"/>
  52. <Cell col="2" text="물질명"/>
  53. <Cell col="3" text="제조회사"/>
  54. <Cell col="4" text="제작부서"/>
  55. <Cell col="5" text="(물류)물품코드"/>
  56. <Cell col="6" text="물품명"/>
  57. <Cell col="7" text="규격"/>
  58. </Band>
  59. <Band id="body">
  60. <Cell celltype="head" text="expr:currow == ds_main_matrlist.rowposition ? '▶' : ''"/>
  61. <Cell col="1" class="text_center" text="bind:matrcd"/>
  62. <Cell col="2" style="align:left top;padding:5 2 1 2;" class="text_left" text="bind:matrnm" wordwrap="word"/>
  63. <Cell col="3" style="align:left top;padding:5 2 1 2;" class="text_left" text="bind:prodcmpynm" wordwrap="word"/>
  64. <Cell col="4" text="bind:mkdeptnm"/>
  65. <Cell col="5" class="text_center" text="bind:goodcd"/>
  66. <Cell col="6" style="align:left top;padding:5 2 1 2;" text="bind:goodnm" wordwrap="word"/>
  67. <Cell col="7" style="align:left top;padding:5 2 1 2;" text="bind:goodspec" wordwrap="word"/>
  68. </Band>
  69. </Format>
  70. </Formats>
  71. </Grid>
  72. <Static id="cap_matrcd" text="물질코드" class="cell_1" position="absolute 455 129 605 152" style="align:center middle;" anchor="top right"/>
  73. <Static id="cap_matrnm" text="물 질 명" class="cell_1" position="absolute 455 154 605 177" style="align:center middle;" anchor="top right"/>
  74. <Edit id="ipt_matrnm" taborder="7" class="input_essential" position="absolute 608 156 1008 175" anchor="top right"/>
  75. <Shape id="line4" linetype="horizontal" class="line_2" position="absolute 456 175 1078 181" anchor="top right"/>
  76. <Static id="caption5" text="MSDS 유무" class="cell_1" position="absolute 793 329 908 352" style="align:center middle;" anchor="top right"/>
  77. <Shape id="line16" linetype="horizontal" class="line_2" position="absolute 455 325 1077 331" anchor="top right"/>
  78. <Shape id="line17" linetype="horizontal" class="line_2" position="absolute 455 350 1077 356" anchor="top right"/>
  79. <Shape id="line18" linetype="horizontal" class="line_2" position="absolute 455 408 1077 414" anchor="top right"/>
  80. <Static id="caption24" text="제작부서" class="cell_1" position="absolute 455 304 605 327" style="align:center middle;" anchor="top right"/>
  81. <Static id="caption25" text="(물류)물품코드" class="cell_1" position="absolute 455 179 605 202" style="align:center middle;" anchor="top right"/>
  82. <Static id="caption27" text="비 고" class="cell_1" position="absolute 455 354 605 410" style="align:center middle;" anchor="top right"/>
  83. <Static id="caption29" text="최초등록일" class="cell_1" position="absolute 455 329 605 352" style="align:center middle;" anchor="top right"/>
  84. <Calendar id="ipt_frgstdd" taborder="8" class="input_default" position="absolute 608 331 698 350" mask="yyyy-mm-dd" anchor="top right"/>
  85. <Shape id="line19" linetype="horizontal" class="line_2" position="absolute 455 200 1077 206" anchor="top right"/>
  86. <TextArea id="txtea_reason" taborder="9" position="absolute 608 357 1008 409" anchor="top right" wordwrap="word"/>
  87. <Edit id="ipt_mkdeptcd" taborder="10" class="input_default" position="absolute 608 306 683 325" anchor="top right"/>
  88. <Button id="btn_mkdeptcd" taborder="11" class="icon_search" position="absolute 684 307 700 323" onclick="btn_mkdeptcd_onclick" anchor="top right"/>
  89. <Edit id="opt_mkdeptnm" taborder="12" readonly="true" position="absolute 707 306 1008 325" anchor="top right"/>
  90. <Button id="btn_goodcd" taborder="13" class="icon_search" position="absolute 699 182 715 198" onclick="btn_goodcd_onclick" anchor="top right"/>
  91. <Edit id="ipt_goodcd" taborder="14" class="input_default" position="absolute 608 181 698 200" anchor="top right"/>
  92. <Static id="caption2" text="(물류)물품명" class="cell_1" position="absolute 455 204 605 227" style="align:center middle;" anchor="top right"/>
  93. <Shape id="line7" linetype="horizontal" class="line_2" position="absolute 456 225 1078 231" anchor="top right"/>
  94. <Edit id="ipt_goodspec" taborder="15" class="input_default" position="absolute 608 231 1008 250" anchor="top right"/>
  95. <Shape id="line20" linetype="horizontal" class="line_2" position="absolute 456 250 1078 256" anchor="top right"/>
  96. <Static id="caption11" text="규 격" class="cell_1" position="absolute 455 229 605 252" style="align:center middle;" anchor="top right"/>
  97. <Shape id="line9" linetype="horizontal" class="line_2" position="absolute 456 275 1078 281" anchor="top right"/>
  98. <Static id="caption8" text="제조회사" class="cell_1" position="absolute 455 254 605 277" style="align:center middle;" anchor="top right"/>
  99. <Shape id="line10" linetype="horizontal" class="line_2" position="absolute 456 300 1078 306" anchor="top right"/>
  100. <Static id="caption12" text="주거래처" class="cell_1" position="absolute 455 279 605 302" style="align:center middle;" anchor="top right"/>
  101. <Button id="btn_prodcmpycd" taborder="16" class="icon_search" position="absolute 659 257 675 273" onclick="btn_prodcmpycd_onclick" anchor="top right"/>
  102. <Edit id="ipt_prodcmpycd" taborder="17" class="input_default" position="absolute 608 256 658 275" anchor="top right"/>
  103. <Edit id="opt_maincustlastsuplplcenm" taborder="18" readonly="true" position="absolute 681 281 1008 300" anchor="top right"/>
  104. <Edit id="ipt_maincustlastsuplplce" taborder="19" class="input_default" position="absolute 608 281 658 300" anchor="top right"/>
  105. <Button id="btn_maincustlastsuplplce" taborder="20" class="icon_search" position="absolute 659 282 675 298" onclick="btn_maincustlastsuplplce_onclick" anchor="top right"/>
  106. <Radio id="rdo_dentyn" taborder="21" columncount="2" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 918 332 998 352" anchor="top right">
  107. <Dataset id="innerdataset">
  108. <ColumnInfo>
  109. <Column id="codecolumn"/>
  110. <Column id="datacolumn"/>
  111. </ColumnInfo>
  112. <Rows>
  113. <Row>
  114. <Col id="codecolumn">Y</Col>
  115. <Col id="datacolumn">Yes</Col>
  116. </Row>
  117. <Row>
  118. <Col id="codecolumn">N</Col>
  119. <Col id="datacolumn">No</Col>
  120. </Row>
  121. </Rows>
  122. </Dataset>
  123. </Radio>
  124. <Edit id="ipt_goodnm" taborder="22" class="input_default" enable="false" position="absolute 608 206 1008 225" anchor="top right"/>
  125. <Edit id="ipt_matrcd" taborder="23" class="input_default" enable="false" position="absolute 608 131 698 150" anchor="top right"/>
  126. <Static id="caption3" text="조사표" class="tit_2" position="absolute 456 473 516 490" anchor="top right"/>
  127. <Shape id="line6" linetype="horizontal" class="line_10" position="absolute 455 489 1187 495" anchor="top right"/>
  128. <Grid id="grd_deptlist" taborder="24" binddataset="ds_main_matrinfo_deptlist" useinputpanel="false" position="absolute 455 494 1187 782" onexpandup="grd_deptlist_onexpandup" anchor="top right bottom">
  129. <Formats>
  130. <Format id="default">
  131. <Columns>
  132. <Column size="29"/>
  133. <Column size="136"/>
  134. <Column size="86"/>
  135. <Column size="86"/>
  136. <Column size="108"/>
  137. <Column size="55"/>
  138. <Column size="55"/>
  139. <Column size="55"/>
  140. <Column size="55"/>
  141. <Column size="55"/>
  142. <Column size="55"/>
  143. <Column size="55"/>
  144. <Column size="0"/>
  145. <Column size="0"/>
  146. <Column size="0"/>
  147. <Column size="0"/>
  148. </Columns>
  149. <Rows>
  150. <Row size="24" band="head"/>
  151. <Row size="24" band="head"/>
  152. <Row size="24"/>
  153. </Rows>
  154. <Band id="head">
  155. <Cell rowspan="2" taborder="undefined"/>
  156. <Cell col="1" rowspan="2" text="부서명" taborder="undefined"/>
  157. <Cell col="2" rowspan="2" text="취급개시일" taborder="undefined"/>
  158. <Cell col="3" rowspan="2" text="취급종료일" taborder="undefined"/>
  159. <Cell col="4" rowspan="2" text="용도" taborder="undefined"/>
  160. <Cell col="5" rowspan="2" text="월&#10;사용량" taborder="undefined"/>
  161. <Cell col="6" rowspan="2" text="연간&#10;사용량" taborder="undefined"/>
  162. <Cell col="7" rowspan="2" text="1일&#10;취급시간" taborder="undefined"/>
  163. <Cell col="8" rowspan="2" text="월&#10;작업일수" taborder="undefined"/>
  164. <Cell col="9" rowspan="2" text="취급자&#10;수" taborder="undefined"/>
  165. <Cell col="10" rowspan="2" text="소분용기&#10;유무" taborder="undefined"/>
  166. <Cell col="11" rowspan="2" text="원용기&#10;경고표지" taborder="undefined"/>
  167. <Cell col="12" text="부서코드"/>
  168. <Cell col="13" text="물질코드"/>
  169. <Cell col="14" text="old_부서코드"/>
  170. <Cell col="15" text="old_취급종료일"/>
  171. <Cell row="1" col="12" text="부서코드"/>
  172. <Cell row="1" col="13" text="물질코드"/>
  173. <Cell row="1" col="14" text="old_부서코드"/>
  174. <Cell row="1" col="15" text="old_취급종료일"/>
  175. </Band>
  176. <Band id="body">
  177. <Cell celltype="head"/>
  178. <Cell col="1" displaytype="text" edittype="text" style="align:left top;padding:5 2 1 2;" class="text_left" text="bind:deptnm" wordwrap="word" expandshow="show"/>
  179. <Cell col="2" displaytype="normal" edittype="date" text="bind:tretopendd" mask="expr:expr:utlf_isNull(tretopendd) || tretopendd == '' ? '' : '####-##-##'"/>
  180. <Cell col="3" displaytype="date" edittype="date" text="bind:tretclosdd" mask="yyyy-MM-dd" calendardisplaynulltype="none"/>
  181. <Cell col="4" displaytype="text" edittype="text" style="align:left top;padding:5 2 1 2;" text="bind:usge" wordwrap="word"/>
  182. <Cell col="5" displaytype="text" edittype="text" style="align:center top;padding:5 0 1 0;" class="text_center" text="bind:useqtym" wordwrap="word"/>
  183. <Cell col="6" displaytype="text" edittype="text" style="align:center top;padding:5 0 1 0;" class="text_center" text="bind:useqtyy" wordwrap="word"/>
  184. <Cell col="7" displaytype="text" edittype="text" style="align:center top;padding:5 0 1 0;" class="text_center" text="bind:trethrd" wordwrap="word"/>
  185. <Cell col="8" displaytype="text" edittype="text" style="align:center top;padding:5 0 1 0;" class="text_center" text="bind:workdcntm" wordwrap="word"/>
  186. <Cell col="9" displaytype="text" edittype="text" style="align:center top;padding:5 0 1 0;" class="text_center" text="bind:tretmcnt" wordwrap="word"/>
  187. <Cell col="10" displaytype="combo" edittype="combo" style="align:center top;padding:5 0 1 0;" class="text_center" text="bind:ctnryn" wordwrap="word" combodataset="ds_ctnryn" combocodecol="value" combodatacol="label"/>
  188. <Cell col="11" displaytype="combo" edittype="combo" style="align:center top;padding:5 0 1 0;" class="text_center" text="bind:ctnrsignyn" wordwrap="word" combodataset="ds_ctnrsignyn" combocodecol="value" combodatacol="label"/>
  189. <Cell col="12" text="bind:deptcd"/>
  190. <Cell col="13" text="bind:matrcd"/>
  191. <Cell col="14" text="bind:old_deptcd"/>
  192. <Cell col="15" text="bind:old_tretclosdd"/>
  193. </Band>
  194. </Format>
  195. </Formats>
  196. </Grid>
  197. <Button id="btn_deptexcel" taborder="25" text="엑셀출력" class="btn7" position="absolute 1110 471 1186 490" onclick="btn_deptexcel_onclick" anchor="top right"/>
  198. <Button id="btn_insert" taborder="26" text="행추가" class="btn2" position="absolute 1000 471 1053 490" onclick="btn_insert_onclick" anchor="top right"/>
  199. <Button id="btn_delete" taborder="27" text="행삭제" class="btn2" position="absolute 1055 471 1108 490" onclick="btn_delete_onclick" anchor="top right"/>
  200. <Button id="button4" taborder="28" text="엑셀출력" class="btn7" position="absolute 375 103 450 122" onclick="button4_onclick" anchor="top right"/>
  201. <Button id="btn_gen" taborder="29" text="화학물질 종합관리" class="btn4" position="absolute 455 442 595 464" onclick="btn_gen_onclick" anchor="top right"/>
  202. <Edit id="ipt_prodcmpynm" taborder="30" class="input_default" position="absolute 681 256 1008 275" anchor="top right"/>
  203. <Static id="caption00" text="물질신청" class="cell_1" position="absolute 455 412 605 435" anchor="top right" style="align:center middle;"/>
  204. <Radio id="rdo_matrflag" taborder="31" columncount="2" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 608 412 688 432" anchor="top right">
  205. <Dataset id="innerdataset">
  206. <ColumnInfo>
  207. <Column id="codecolumn" size="256"/>
  208. <Column id="datacolumn" size="256"/>
  209. </ColumnInfo>
  210. <Rows>
  211. <Row>
  212. <Col id="codecolumn">Y</Col>
  213. <Col id="datacolumn">Yes</Col>
  214. </Row>
  215. <Row>
  216. <Col id="codecolumn">N</Col>
  217. <Col id="datacolumn">No</Col>
  218. </Row>
  219. </Rows>
  220. </Dataset>
  221. </Radio>
  222. <Shape id="line00" class="line_2" position="absolute 455 434 1077 440" anchor="top right"/>
  223. </Layout>
  224. </Layouts>
  225. <Objects>
  226. <Dataset id="ds_main_matrlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  227. <ColumnInfo>
  228. <Column id="matrcd" type="STRING"/>
  229. <Column id="matrnm" type="STRING"/>
  230. <Column id="prodcmpynm" type="STRING"/>
  231. <Column id="mkdeptnm" type="STRING"/>
  232. <Column id="goodcd" type="STRING"/>
  233. <Column id="goodnm" type="STRING"/>
  234. <Column id="goodspec" type="STRING"/>
  235. </ColumnInfo>
  236. </Dataset>
  237. <Dataset id="ds_main_matrinfo_deptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  238. <ColumnInfo>
  239. <Column id="deptnm" type="STRING"/>
  240. <Column id="tretopendd" type="STRING"/>
  241. <Column id="tretclosdd" type="STRING"/>
  242. <Column id="usge" type="STRING"/>
  243. <Column id="useqtym" type="STRING"/>
  244. <Column id="useqtyy" type="STRING"/>
  245. <Column id="trethrd" type="STRING"/>
  246. <Column id="workdcntm" type="STRING"/>
  247. <Column id="tretmcnt" type="STRING"/>
  248. <Column id="ctnryn" type="STRING"/>
  249. <Column id="ctnrsignyn" type="STRING"/>
  250. <Column id="deptcd" type="STRING"/>
  251. <Column id="matrcd" type="STRING"/>
  252. <Column id="old_deptcd" type="STRING"/>
  253. <Column id="old_tretclosdd" type="STRING"/>
  254. </ColumnInfo>
  255. </Dataset>
  256. <Dataset id="ds_main_condition" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  257. <ColumnInfo>
  258. <Column id="matrnm" type="STRING" size="256"/>
  259. <Column id="goodcd" type="STRING" size="256"/>
  260. <Column id="goodnm" type="STRING" size="256"/>
  261. </ColumnInfo>
  262. <Rows>
  263. <Row/>
  264. </Rows>
  265. </Dataset>
  266. <Dataset id="ds_main_matrinfo_detail" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  267. <ColumnInfo>
  268. <Column id="status" type="STRING" size="256"/>
  269. <Column id="matrcd" type="STRING" size="256"/>
  270. <Column id="matrnm" type="STRING" size="256"/>
  271. <Column id="goodcd" type="STRING" size="256"/>
  272. <Column id="goodnm" type="STRING" size="256"/>
  273. <Column id="goodspec" type="STRING" size="256"/>
  274. <Column id="prodcmpycd" type="STRING" size="256"/>
  275. <Column id="prodcmpynm" type="STRING" size="256"/>
  276. <Column id="maincustlastsuplplce" type="STRING" size="256"/>
  277. <Column id="maincustlastsuplplcenm" type="STRING" size="256"/>
  278. <Column id="mkdeptcd" type="STRING" size="256"/>
  279. <Column id="mkdeptnm" type="STRING" size="256"/>
  280. <Column id="frgstdd" type="STRING" size="256"/>
  281. <Column id="cmt" type="STRING" size="256"/>
  282. <Column id="msdsflag" type="STRING" size="256"/>
  283. <Column id="matrflag" type="STRING" size="256"/>
  284. </ColumnInfo>
  285. <Rows>
  286. <Row/>
  287. </Rows>
  288. </Dataset>
  289. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  290. <Dataset id="ds_hidden_matrinfo_detail" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  291. <Dataset id="ds_hidden_matrinfo_deptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  292. <Dataset id="ds_ctnryn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  293. <ColumnInfo>
  294. <Column id="label" type="STRING" size="256"/>
  295. <Column id="value" type="STRING" size="256"/>
  296. </ColumnInfo>
  297. <Rows>
  298. <Row>
  299. <Col id="label">-</Col>
  300. </Row>
  301. <Row>
  302. <Col id="label">Y</Col>
  303. <Col id="value">Y</Col>
  304. </Row>
  305. <Row>
  306. <Col id="label">N</Col>
  307. <Col id="value">N</Col>
  308. </Row>
  309. </Rows>
  310. </Dataset>
  311. <Dataset id="ds_ctnrsignyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  312. <ColumnInfo>
  313. <Column id="label" type="STRING" size="256"/>
  314. <Column id="value" type="STRING" size="256"/>
  315. </ColumnInfo>
  316. <Rows>
  317. <Row>
  318. <Col id="label">-</Col>
  319. </Row>
  320. <Row>
  321. <Col id="label">Y</Col>
  322. <Col id="value">Y</Col>
  323. </Row>
  324. <Row>
  325. <Col id="label">N</Col>
  326. <Col id="value">N</Col>
  327. </Row>
  328. </Rows>
  329. </Dataset>
  330. <Dataset id="ds_popgood" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  331. <ColumnInfo>
  332. <Column id="instcd" type="STRING" size="256"/>
  333. <Column id="wareflag" type="STRING" size="256"/>
  334. <Column id="goodcd" type="STRING" size="256"/>
  335. <Column id="goodnm" type="STRING" size="256"/>
  336. <Column id="returntype" type="STRING" size="256"/>
  337. <Column id="selectyn" type="STRING" size="256"/>
  338. <Column id="matrcd" type="STRING" size="256"/>
  339. </ColumnInfo>
  340. <Rows>
  341. <Row/>
  342. </Rows>
  343. </Dataset>
  344. <Dataset id="ds_send_deptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  345. </Objects>
  346. <Bind>
  347. <BindItem id="item0" compid="ipt_matrcd" propid="value" datasetid="ds_main_matrinfo_detail" columnid="matrcd"/>
  348. <BindItem id="item1" compid="ipt_matrnm" propid="value" datasetid="ds_main_matrinfo_detail" columnid="matrnm"/>
  349. <BindItem id="item2" compid="ipt_goodcd" propid="value" datasetid="ds_main_matrinfo_detail" columnid="goodcd"/>
  350. <BindItem id="item3" compid="ipt_goodnm" propid="value" datasetid="ds_main_matrinfo_detail" columnid="goodnm"/>
  351. <BindItem id="item4" compid="ipt_goodspec" propid="value" datasetid="ds_main_matrinfo_detail" columnid="goodspec"/>
  352. <BindItem id="item5" compid="ipt_prodcmpycd" propid="value" datasetid="ds_main_matrinfo_detail" columnid="prodcmpycd"/>
  353. <BindItem id="item6" compid="ipt_maincustlastsuplplce" propid="value" datasetid="ds_main_matrinfo_detail" columnid="maincustlastsuplplce"/>
  354. <BindItem id="item7" compid="ipt_mkdeptcd" propid="value" datasetid="ds_main_matrinfo_detail" columnid="mkdeptcd"/>
  355. <BindItem id="item8" compid="opt_mkdeptnm" propid="value" datasetid="ds_main_matrinfo_detail" columnid="mkdeptnm"/>
  356. <BindItem id="item9" compid="opt_maincustlastsuplplcenm" propid="value" datasetid="ds_main_matrinfo_detail" columnid="maincustlastsuplplcenm"/>
  357. <BindItem id="item10" compid="ipt_prodcmpynm" propid="value" datasetid="ds_main_matrinfo_detail" columnid="prodcmpynm"/>
  358. <BindItem id="item11" compid="ipt_frgstdd" propid="value" datasetid="ds_main_matrinfo_detail" columnid="frgstdd"/>
  359. <BindItem id="item12" compid="txtea_reason" propid="value" datasetid="ds_main_matrinfo_detail" columnid="cmt"/>
  360. <BindItem id="item13" compid="rdo_dentyn" propid="value" datasetid="ds_main_matrinfo_detail" columnid="msdsflag"/>
  361. <BindItem id="item14" compid="grp_sea.ipt_goodcd_search" propid="value" datasetid="ds_main_condition" columnid="goodcd"/>
  362. <BindItem id="item15" compid="grp_sea.opt_goodnm_search" propid="value" datasetid="ds_main_condition" columnid="goodnm"/>
  363. <BindItem id="item16" compid="grp_sea.ipt_matrnm_search" propid="value" datasetid="ds_main_condition" columnid="matrnm"/>
  364. <BindItem id="item17" compid="rdo_matrflag" propid="value" datasetid="ds_main_matrinfo_detail" columnid="matrflag"/>
  365. </Bind>
  366. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  367. * System Name :
  368. * Job Name :
  369. * Creator :
  370. * Make Date : 2017-06-19
  371. * Description :
  372. *---------------------------------------------------------------------------------------
  373. * Modify Date Modifier Modify Description
  374. *---------------------------------------------------------------------------------------
  375. * 2017-06-19 Live Converter TF->XP
  376. *
  377. *---------------------------------------------------------------------------------------
  378. ****************************************************************************************/
  379. include "com_commonxp::comm_main.xjs";
  380. include "mis_miscommonxp::MIS.xjs";
  381. include "mis_miscommonxp::RAC001.xjs";
  382. include "mis_miscommonxp::RSZ001.xjs";
  383. var arErrorCode = new HashArray();
  384. function SMRSM00100_oninit(obj:Form, e:InitEventInfo)
  385. {
  386. frmf_initForm(obj);
  387. }
  388. function SMRSM00100_onload(obj:Form, e:LoadEventInfo)
  389. {
  390. grdf_initGrid(grd_deptlist);
  391. grdf_initGrid(grd_matrlist);
  392. grdf_setRowTypeIcon(grd_deptlist, 0);
  393. fOpenForm();
  394. }
  395. //화면 로드시 초기화 함수
  396. function fOpenForm()
  397. {
  398. misfGridInit(grd_deptlist);
  399. fGetMatrList();//코드 목록 조회
  400. }
  401. //코드 목록 조회 함수
  402. function fGetMatrList()
  403. {
  404. misfGridInit(grd_matrlist);
  405. ds_send.copyData(ds_main_condition);
  406. //submit("TRRSM00101");
  407. var oParam = {};
  408. oParam.id = "TRRSM00101";
  409. oParam.service = "purcbaseapp.PurcBaseMngt";
  410. oParam.method = "reqGetMatrList";
  411. oParam.inds = "req=ds_send";
  412. oParam.outds = "ds_main_matrlist=matrlist";
  413. oParam.async = false;
  414. //oParam.callback = "cf_TRRSM00101";
  415. tranf_submit(oParam);
  416. }
  417. function grd_matrlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  418. {
  419. var cur_row = ds_main_matrlist.rowposition;
  420. fGetMatrInfo(cur_row);
  421. }
  422. //화학물질 상세정보 및 조사표 조회
  423. function fGetMatrInfo(pRow)
  424. {
  425. if(pRow >= 0)
  426. {
  427. //ds_send.copyRow(0, ds_main_matrlist, pRow);
  428. dsf_createDsRow("ds_temp_search", [{col : "matrcd", val : ds_main_matrlist.getColumn(pRow, "matrcd")}]);
  429. var oParam = {};
  430. oParam.id = "TRRSM00102";
  431. oParam.service = "purcbaseapp.PurcBaseMngt";
  432. oParam.method = "reqGetMatrInfo";
  433. oParam.inds = "req=ds_temp_search";
  434. oParam.outds = "ds_main_matrinfo_detail=detail ds_main_matrinfo_deptlist=deptlist";
  435. oParam.async = false;
  436. //oParam.callback = "cf_TRRSM00102";
  437. tranf_submit(oParam);
  438. ipt_matrcd.enable = false;
  439. fCopyInstance();
  440. }
  441. }
  442. //인스턴스 Copy 함수
  443. function fCopyInstance()
  444. {
  445. ds_hidden_matrinfo_deptlist.copyData(ds_main_matrinfo_deptlist);
  446. ds_hidden_matrinfo_detail.copyData(ds_main_matrinfo_detail);
  447. }
  448. function grp_sea_btn_goodcd_search_onclick(obj:Button, e:ClickEventInfo)
  449. {
  450. ds_popgood.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  451. ds_popgood.setColumn(0, "wareflag", ""); //창고별 물품인 경우에는 창고코드 넣어줌( cmb_wareflag.value )
  452. ds_popgood.setColumn(0, "returntype", "2"); //goodnm도 함께 return 받고자 할때, returntype을 "2" 로 설정.
  453. //selectyn(popup 창에서 선택버튼을 click했는지 아닌지를 나타내는 구분값) 을 초기화함
  454. ds_popgood.setColumn(0, "selectyn", "");
  455. //popup 프로그램 호출
  456. var objArg = new Object();
  457. objArg.arg_ds_popdata = ds_popgood;
  458. frmf_modal("SPRSO20300", "SPRSO20300", objArg, "", "", "", "", "", "", "", "", "", "M");
  459. //popup에서 특정 물품코드를 선택한 경우, 해당 물품코드에 대한 상세 사항을 보여준다.
  460. if(ds_popgood.getColumn(0, "selectyn") == "Y") //popup 창에서 선택버튼을 click했는지 아닌지를 나타내는 구분값
  461. {
  462. grp_sea.ipt_goodcd_search.value = ds_popgood.getColumn(0, "goodcd");
  463. grp_sea.opt_goodnm_search.value = ds_popgood.getColumn(0, "goodnm");
  464. }
  465. }
  466. function btn_goodcd_onclick(obj:Button, e:ClickEventInfo)
  467. {
  468. ds_popgood.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  469. ds_popgood.setColumn(0, "wareflag", ""); //창고별 물품인 경우에는 창고코드 넣어줌( cmb_wareflag.value )
  470. ds_popgood.setColumn(0, "returntype", "2"); //goodnm도 함께 return 받고자 할때, returntype을 "2" 로 설정.
  471. //selectyn(popup 창에서 선택버튼을 click했는지 아닌지를 나타내는 구분값) 을 초기화함
  472. ds_popgood.setColumn(0, "selectyn", "");
  473. //popup 프로그램 호출
  474. var objArg = new Object();
  475. objArg.arg_ds_popdata = ds_popgood;
  476. frmf_modal("SPRSO20300", "SPRSO20300", objArg, "", "", "", "", "", "", "", "", "", "M");
  477. //popup에서 특정 물품코드를 선택한 경우, 해당 물품코드에 대한 상세 사항을 보여준다.
  478. if(ds_popgood.getColumn(0, "selectyn") == "Y") //popup 창에서 선택버튼을 click했는지 아닌지를 나타내는 구분값
  479. {
  480. ipt_goodcd.value = ds_popgood.getColumn(0, "goodcd");
  481. ipt_goodnm.value = ds_popgood.getColumn(0, "goodnm");
  482. }
  483. }
  484. function btn_prodcmpycd_onclick(obj:Button, e:ClickEventInfo)
  485. {
  486. rszfOpenPopUpListByWndName(ipt_prodcmpycd,"","prodcmpycd,prodcmpynm","SPRSD00160","","");
  487. }
  488. function btn_maincustlastsuplplce_onclick(obj:Button, e:ClickEventInfo)
  489. {
  490. rszfOpenPopUpListByWndName(ipt_maincustlastsuplplce,"","maincustlastsuplplce,maincustlastsuplplcenm","SPRSD00220");
  491. }
  492. function btn_mkdeptcd_onclick(obj:Button, e:ClickEventInfo)
  493. {
  494. var vOrigDeptcd = ipt_mkdeptcd.value; //popup을 열기전 부서 저장
  495. var recv_list = "mkdeptcd,mkdeptnm";
  496. misfOpenPopUpList("02", ipt_mkdeptcd,"", recv_list) ;
  497. }
  498. function btn_gen_onclick(obj:Button, e:ClickEventInfo)
  499. {
  500. if(ds_main_matrinfo_detail.getColumn(0, "status") == "i")
  501. {
  502. sysf_messageBox("신규 코드를 등록 중입니다." + "\n" + "저장 후에 종합관리 내역을 등록할 수 있습니다. ", "I999", "");
  503. return;
  504. }
  505. else if(utlf_transNullToEmpty(ipt_matrcd.value).length == 0)
  506. {
  507. sysf_messageBox("화학물질이 선택되지 않았습니다. ", "I999", "");
  508. return;
  509. }
  510. ds_popgood.setColumn(0, "matrcd", ds_main_matrinfo_detail.getColumn(0, "matrcd"));
  511. var objArg = new Object();
  512. objArg.arg_ds_popdata = ds_popgood;
  513. frmf_modal("SMRSM00200", "SMRSM00200", objArg, "", "", "", "", "", "", "", "", "", "M");
  514. }
  515. function btn_insert_onclick(obj:Button, e:ClickEventInfo)
  516. {
  517. misfGridIUD(grd_deptlist, "A");
  518. ds_main_matrinfo_deptlist.setColumn(ds_main_matrinfo_deptlist.rowposition, "tretclosdd", "99991231");
  519. }
  520. function btn_delete_onclick(obj:Button, e:ClickEventInfo)
  521. {
  522. var deptrow = ds_main_matrinfo_deptlist.rowposition;
  523. var arrPostion = new Array();
  524. arrPostion[0] = deptrow;
  525. var status = ds_main_matrinfo_deptlist.getRowType(arrPostion)
  526. if(status == 1)
  527. {
  528. grdf_setStatus(grd_deptlist, "D", arrPostion);
  529. }
  530. else if(status == 2)
  531. {
  532. ds_main_matrinfo_deptlist.deleteRow(deptrow);
  533. }
  534. else if(status == 4)
  535. {
  536. ds_main_matrinfo_deptlist.deleteRow(deptrow);
  537. }
  538. else if(status == 8)
  539. {
  540. grdf_setStatus(grd_deptlist, "", arrPostion);
  541. }
  542. }
  543. //코드목록 엑셀출력
  544. function button4_onclick(obj:Button, e:ClickEventInfo)
  545. {
  546. misfSaveExcel(grd_matrlist);
  547. }
  548. //조사표 엑셀출력
  549. function btn_deptexcel_onclick(obj:Button, e:ClickEventInfo)
  550. {
  551. misfSaveExcel(grd_deptlist);
  552. }
  553. //신규 버튼클릭
  554. function button2_onclick(obj:Button, e:ClickEventInfo)
  555. {
  556. fSetMatrInfo();
  557. }
  558. //신규 버턴 클릭시 인스턴스 초기화
  559. function fSetMatrInfo()
  560. {
  561. ipt_matrcd.enable = true;
  562. // 아래 두줄로 변경
  563. ds_main_matrinfo_detail.clearData();
  564. ds_main_matrinfo_detail.addRow();
  565. misfGridInit(grd_deptlist);
  566. ipt_matrcd.setFocus();
  567. ds_main_matrinfo_detail.setColumn(0, "status", "i");
  568. ds_main_matrinfo_detail.setColumn(0, "msdsflag", "Y");
  569. ds_main_matrinfo_detail.setColumn(0, "matrflag", "N");
  570. // 서식에서 징수의무자 상호(법인명)으로 쓰임. 기본값으로 경북대학교병원장 셋팅.
  571. fCopyInstance();
  572. }
  573. var str_hidden_matrinfo_deptlist = "";
  574. var str_hidden_matrinfo_detail = "";
  575. //인스턴스 Copy 함수
  576. function fCopyInstance()
  577. {
  578. ds_hidden_matrinfo_deptlist.copyData(ds_main_matrinfo_deptlist);
  579. ds_hidden_matrinfo_detail.copyData(ds_main_matrinfo_detail);
  580. str_hidden_matrinfo_deptlist = ds_main_matrinfo_deptlist.saveXML();
  581. str_hidden_matrinfo_detail = ds_main_matrinfo_detail.saveXML();
  582. }
  583. //삭제 버튼클릭
  584. function button1_onclick(obj:Button, e:ClickEventInfo)
  585. {
  586. if( utlf_isNull(ds_main_matrinfo_detail.getColumn(0, "matrcd")))
  587. {
  588. sysf_messageBox("삭제할 자료가 없습니다.", "I999", "");
  589. return;
  590. }
  591. if(sysf_messageBox("코드를", "Q001") == 6)
  592. {
  593. ds_main_matrinfo_detail.setColumn(0, "status", "d");
  594. fClickSaveBtn();
  595. }
  596. }
  597. // 저장버튼 클릭시 저장 수행 함수
  598. function fClickSaveBtn()
  599. {
  600. if(!fIsValidForSave())//저장전 유효성 검사
  601. return;
  602. ds_main_matrinfo_deptlist.enableevent = false;
  603. ds_main_matrinfo_deptlist.updatecontrol = false;
  604. for(var i = 0; i < ds_main_matrinfo_deptlist.rowcount; i++)
  605. {
  606. ds_main_matrinfo_deptlist.setColumn(i, "matrcd", ipt_matrcd.value)
  607. }
  608. ds_main_matrinfo_deptlist.updatecontrol = true;
  609. ds_main_matrinfo_deptlist.enableevent = true;
  610. var updateData = grdf_getGridUpdateData(grd_deptlist);
  611. grdf_setStatusColumn(updateData, "status");
  612. ds_send_deptlist.copyData(updateData, true);
  613. var oParam = {};
  614. oParam.id = "TXRSM00101";
  615. oParam.service = "purcbaseapp.PurcBaseMngt";
  616. oParam.method = "reqExeSaveMatr";
  617. oParam.inds = "detail=ds_main_matrinfo_detail deptlist=ds_send_deptlist";
  618. oParam.async = false;
  619. oParam.callback = "cf_TXRSM00101";
  620. tranf_submit(oParam);
  621. if(arErrorCode.pop("TXRSM00101") > -1) {
  622. fGetMatrList();//코드 목록 재조회
  623. ds_send.copyData(ds_main_matrinfo_detail);
  624. var oParam = {};//상세내역 및 조사표 재조회
  625. oParam.id = "TRRSM00102";
  626. oParam.service = "purcbaseapp.PurcBaseMngt";
  627. oParam.method = "reqGetMatrInfo";
  628. oParam.inds = "req=ds_temp_search";
  629. oParam.outds = "ds_main_matrinfo_detail=detail ds_main_matrinfo_deptlist=deptlist";
  630. oParam.async = false;
  631. tranf_submit(oParam);
  632. fCopyInstance();
  633. ipt_matrcd.enable = false;
  634. }
  635. }
  636. function cf_TXRSM00101(sSvcId, nErrorCode, sErrorMsg) {
  637. arErrorCode.push(sSvcId, nErrorCode);
  638. }
  639. //저장전 유효성 검사
  640. function fIsValidForSave()
  641. {
  642. //필수 입력 항목 체크(공통 ftHelper.js)
  643. if(!frmf_isRequiredControls("ipt_matrcd","ipt_matrnm")) //,"ipt_prodcmpycd"
  644. {
  645. return false;
  646. }
  647. var tretopendd = "";
  648. var tretclosdd = "";
  649. for(var i = 0; i < ds_main_matrinfo_deptlist.rowcount; i++)
  650. {
  651. var arrPostion = new Array();
  652. arrPostion[0] = ds_main_matrinfo_deptlist.rowposition;
  653. if(ds_main_matrinfo_deptlist.getRowType(i) < 8)//행삭제가 아닌 Record만 check한다.
  654. {
  655. if(utlf_isNull(ds_main_matrinfo_deptlist.getColumn(i, "deptcd")))
  656. {
  657. sysf_messageBox("부서코드가 입력되지 않았습니다. \n조사표의 부서코드를 확인하십시요. ", "E999", "");
  658. return false;
  659. }
  660. tretopendd = utlf_transNullToEmpty(ds_main_matrinfo_deptlist.getColumn(i, "tretopendd"));
  661. if( tretopendd.length != 8 )
  662. {
  663. sysf_messageBox("취급개시일이 정확하게 입력되지 않았습니다. \n취급개시일을 확인하십시요. ", "E999", "");
  664. return false;
  665. }
  666. tretclosdd = utlf_transNullToEmpty(ds_main_matrinfo_deptlist.getColumn(i, "tretclosdd"));
  667. if( tretclosdd.length != 8 )
  668. {
  669. sysf_messageBox("취급종료일이 정확하게 입력되지 않았습니다. \n취급종료일을 확인하십시요. ", "E999", "");
  670. return false;
  671. }
  672. if( tretopendd > tretclosdd )
  673. {
  674. sysf_messageBox("취급개시일이 취급종료일보다 큽니다. 취급일을 확인하십시요. ", "E999", "");
  675. return false;
  676. }
  677. }
  678. }
  679. var sStatus = ds_main_matrinfo_detail.getColumn(0, "status");
  680. var sNewData = ds_main_matrinfo_detail.saveXML();
  681. var sOldData = str_hidden_matrinfo_detail;
  682. //상세내역에 변경된 정보가 있는지 확인
  683. if(sNewData != sOldData && sStatus == "-") { // 데이터 수정일 경우
  684. ds_main_matrinfo_detail.setColumn(0, "status", "u");
  685. return true;
  686. } else if(sNewData == sOldData && sStatus == "-" ) { //변경된 값이 없을경우
  687. return true;
  688. }else if(sStatus == "i") { //데이터 입력일 경우
  689. return true;
  690. }else if(sStatus = "d") { //데이터 삭제일 경우
  691. return true;
  692. }
  693. }
  694. //저장 버튼클릭
  695. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  696. {
  697. fClickSaveBtn();
  698. }
  699. //동일한 Depth의 인스턴스의 값을 스트링형으로 변환
  700. function fGetNodeText(pNode)
  701. {
  702. var trgNdoe = pNode;
  703. var trgNdoeList = trgNdoe.childNodes;
  704. var childNode;
  705. var allText = "";
  706. while( childNode = trgNdoeList.nextNode())
  707. {
  708. allText += childNode.text;
  709. }
  710. return allText;
  711. }
  712. function grd_deptlist_onexpandup(obj:Grid, e:GridMouseEventInfo)
  713. {
  714. if(obj.currentcol == 1)
  715. {
  716. misfOpenPopUpList("02", grd_deptlist, "", "deptcd,deptnm");
  717. }
  718. }
  719. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  720. {
  721. fGetMatrList();
  722. }
  723. ]]></Script>
  724. </Form>
  725. </FDL>