SMRSM00400_유해화학물질취급관리대장.xfdl 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRSM00400" position="absolute 0 0 1199 786" titletext="특별관리물질취급일지 입력" oninit="SMRSM00400_oninit" onload="SMRSM00400_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="특별관리물질취급일지(칠곡)" class="tit_1" position="absolute 0 0 212 25"/>
  8. <Shape id="line2" class="line_6" position="absolute 0 48 1194 54" anchor="left top right"/>
  9. <Button id="btn_prt" taborder="1" text="출력" class="btn6" position="absolute 0 27 56 49" onclick="btn_prt_onclick"/>
  10. <Button id="btn_save" taborder="2" text="저장" class="btn4" position="absolute 972 27 1028 49" anchor="top right" onclick="btn_save_onclick"/>
  11. <Button id="btn_cnfm" taborder="3" text="확정처리" class="btn4" position="absolute 1031 27 1111 49" anchor="top right" onclick="btn_cnfm_onclick"/>
  12. <Button id="btn_cancel" taborder="4" text="확정취소" class="btn4" enable="false" position="absolute 1114 27 1194 49" anchor="top right" onclick="btn_cancel_onclick"/>
  13. <Div id="grp_sea" taborder="5" class="div_SA2" position="absolute 0 52 1194 92" anchor="left top right">
  14. <Layouts>
  15. <Layout>
  16. <Shape id="line5" linetype="vertical" class="line_4" position="absolute 1021 9 1027 31" anchor="top right"/>
  17. <Button id="btn_search" taborder="14" text="조회" class="btn1" position="absolute 1040 10 1096 32" anchor="top right" onclick="grp_sea_btn_search_onclick"/>
  18. <Edit id="opt_deptnm" taborder="15" readonly="true" class="output" position="absolute 230 11 410 30"/>
  19. <Static id="caption1" text="부서코드" class="search_name" position="absolute 50 12 126 29"/>
  20. <Edit id="ipt_deptcd" taborder="16" autoselect="true" autoskip="true" class="input_default" position="absolute 131 11 206 30" onkeydown="grp_sea_ipt_deptcd_onkeydown"/>
  21. <Button id="btn_deptcd" taborder="17" class="icon_search" position="absolute 210 12 226 28" onclick="grp_sea_btn_deptcd_onclick"/>
  22. <Static id="caption9" text="입력년월" class="search_name" position="absolute 835 12 911 29"/>
  23. <Calendar id="ipt_ym" taborder="18" autoselect="true" autoskip="true" dateformat="yyyy-MM" editformat="yyyy-MM" class="input_default" position="absolute 915 11 991 30" mask="yyyy-mm" onchanged="grp_sea_ipt_ym_onchanged"/>
  24. <Edit id="opt_matrnm" taborder="19" readonly="true" class="output" position="absolute 578 11 810 30"/>
  25. <Button id="btn_matrcd" taborder="20" class="icon_search" position="absolute 559 12 575 28" onclick="grp_sea_btn_matrcd_onclick"/>
  26. <Edit id="ipt_matrcd" taborder="21" autoselect="true" autoskip="true" class="input_default" position="absolute 510 11 555 30"/>
  27. <Static id="caption7" text="물질코드" class="search_name" position="absolute 432 12 508 29"/>
  28. </Layout>
  29. </Layouts>
  30. </Div>
  31. <Static id="caption21" text="취급일지" class="tit_2" position="absolute 0 101 131 123"/>
  32. <Shape id="line3" class="line_10" position="absolute 0 117 1193 123" anchor="left top right"/>
  33. <Grid id="grd_matrlist" taborder="6" binddataset="ds_main_matrlist" autoenter="select" useinputpanel="false" cellsizingtype="col" position="absolute 0 122 1193 684" anchor="all">
  34. <Formats>
  35. <Format id="default">
  36. <Columns>
  37. <Column size="25" band="left"/>
  38. <Column size="0"/>
  39. <Column size="0"/>
  40. <Column size="99"/>
  41. <Column size="85"/>
  42. <Column size="85"/>
  43. <Column size="85"/>
  44. <Column size="85"/>
  45. <Column size="270"/>
  46. <Column size="270"/>
  47. <Column size="77"/>
  48. <Column size="77"/>
  49. <Column size="0"/>
  50. </Columns>
  51. <Rows>
  52. <Row size="24" band="head"/>
  53. <Row size="24"/>
  54. </Rows>
  55. <Band id="head">
  56. <Cell/>
  57. <Cell col="1" text="부서코드"/>
  58. <Cell col="2" text="물질코드"/>
  59. <Cell col="3" text="일자"/>
  60. <Cell col="4" text="*입고량"/>
  61. <Cell col="5" displaytype="normal" edittype="none" text="*사용량"/>
  62. <Cell col="6" text="*반납량"/>
  63. <Cell col="7" text="*재고량"/>
  64. <Cell col="8" text="*작업내용(취급용도)"/>
  65. <Cell col="9" text="*비고(특이사항)"/>
  66. <Cell col="10" text="작성자"/>
  67. <Cell col="11" text="확인자"/>
  68. <Cell col="12" text="작성자id"/>
  69. </Band>
  70. <Band id="body">
  71. <Cell celltype="head"/>
  72. <Cell col="1" class="text_center" text="bind:deptcd"/>
  73. <Cell col="2" class="text_center" text="bind:matrcd"/>
  74. <Cell col="3" displaytype="date" class="text_center" text="bind:usedd" editautoselect="true" calendardisplaynulltype="nulltext"/>
  75. <Cell col="4" displaytype="text" edittype="text" style="align:center;" class="text_center" text="bind:winqty" editautoselect="true" tooltiptype="mouse" tooltiptext="처음 수령한 수량"/>
  76. <Cell col="5" displaytype="text" edittype="text" style="align:center;" class="text_center" text="bind:useqty" editautoselect="true" tooltiptype="mouse" tooltiptext="부서 사용 수량"/>
  77. <Cell col="6" displaytype="text" edittype="text" text="bind:restocqty" tooltiptype="mouse" tooltiptext="병리과 등으로 반납한 수량"/>
  78. <Cell col="7" displaytype="text" edittype="text" style="align:center;" class="text_center" text="bind:stocqty" editautoselect="true" tooltiptype="mouse" tooltiptext="부서에 남아있는 수량"/>
  79. <Cell col="8" displaytype="text" edittype="text" style="align:left top;padding:5 2 1 2;" class="text_left" text="bind:workcnts" wordwrap="word" editautoselect="true"/>
  80. <Cell col="9" displaytype="text" edittype="text" style="align:left top;" text="bind:cmt"/>
  81. <Cell col="10" class="text_center" text="bind:writnm" editautoselect="true"/>
  82. <Cell col="11" class="text_center" text="bind:cnfmnm" editautoselect="true"/>
  83. <Cell col="12" text="bind:writid"/>
  84. </Band>
  85. </Format>
  86. </Formats>
  87. </Grid>
  88. <Button id="btn_rowdelete" taborder="7" text="행삭제" class="btn2" position="absolute 1057 98 1110 117" anchor="top right" onclick="btn_rowdelete_onclick"/>
  89. <Button id="btn_excel" taborder="8" text="엑셀출력" class="btn7" position="absolute 1113 98 1193 117" anchor="top right" onclick="btn_excel_onclick"/>
  90. <Static id="caption3" text="※ 1. 화학물질별 월별 확정처리 이후에는 데이터 수정이 불가하며, 출력은 확정처리 이후에 가능합니다." position="absolute 0 686 737 706" anchor="left bottom"/>
  91. <Static id="caption2" text="2. 입고량 : 처음 수령한 수량/ 사용량 : 부서 사용 수량/ 반납량 : 병리과 등으로 반납한 수량/ 재고량 : 부서에 남아있는 수량" position="absolute 16 706 768 726" anchor="left bottom"/>
  92. <Static id="caption5" text="4. 확정처리 이후 자료를 수정하기 위해 확정취소를 원하시는 경우에는 화학물질 담당자에게 연락주시기 바랍니다." position="absolute 16 743 724 763" anchor="left bottom"/>
  93. <Static id="caption8" text="5. 본인이 작성한 자료에 한해 수정 및 삭제가 가능합니다. " position="absolute 16 762 632 782" anchor="left bottom" style="color:#ff0000ff;"/>
  94. <Static id="caption00" text="3. 비고(특이사항) : 취급일지 작성시 취급상 문제점, 특이사항 발생시 처리내역 등을 기록 " position="absolute 16 724 724 744" anchor="left bottom"/>
  95. <Static id="st_msg01" text="★ 전산문의 : T.4206" position="absolute 213 0 360 25" style="background:#edffceff;border:1 solid #808080ff ;color:midnightblue;align:center;font:돋움,9,bold;"/>
  96. </Layout>
  97. </Layouts>
  98. <Objects>
  99. <Dataset id="ds_main_condition" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_condition_oncolumnchanged">
  100. <ColumnInfo>
  101. <Column id="deptcd" type="STRING" size="256"/>
  102. <Column id="deptnm" type="STRING" size="256"/>
  103. <Column id="matrcd" type="STRING" size="256"/>
  104. <Column id="matrnm" type="STRING" size="256"/>
  105. <Column id="ym" type="STRING" size="256"/>
  106. <Column id="popflag" type="STRING" size="256"/>
  107. <Column id="confirmflag" type="STRING" size="256"/>
  108. <Column id="gubun" type="STRING" size="256"/>
  109. </ColumnInfo>
  110. <Rows>
  111. <Row>
  112. <Col id="deptcd"/>
  113. <Col id="deptnm"/>
  114. <Col id="matrcd"/>
  115. <Col id="matrnm"/>
  116. <Col id="ym"/>
  117. <Col id="popflag"/>
  118. <Col id="confirmflag"/>
  119. </Row>
  120. </Rows>
  121. </Dataset>
  122. <Dataset id="ds_main_matrlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_matrlist_oncolumnchanged">
  123. <ColumnInfo>
  124. <Column id="deptcd" type="STRING" size="256" sumtext="부서코드"/>
  125. <Column id="deptnm" type="STRING" size="256" sumtext="부서명"/>
  126. <Column id="matrcd" type="STRING" size="256" sumtext="물질코드"/>
  127. <Column id="matrnm" type="STRING" size="256" sumtext="물질명"/>
  128. <Column id="usedd" type="STRING" size="256" sumtext="사용일자"/>
  129. <Column id="origusedd" type="STRING" size="256" sumtext="원사용일자"/>
  130. <Column id="winqty" type="STRING" size="256" sumtext="입고량"/>
  131. <Column id="useqty" type="STRING" size="256" sumtext="사용량"/>
  132. <Column id="stocqty" type="STRING" size="256" sumtext="재고량"/>
  133. <Column id="workcnts" type="STRING" size="256" sumtext="작업내용(취급용도)"/>
  134. <Column id="writid" type="STRING" size="256" sumtext="작성자id"/>
  135. <!-- column id="cnfmyn" type="cdata" desc="확정여부" ref="matrlist.cnfmyn"/ -->
  136. <Column id="writnm" type="STRING" size="256" sumtext="작성자명"/>
  137. <Column id="cnfmnm" type="STRING" size="256" sumtext="확정자명"/>
  138. <Column id="restocqty" type="STRING" size="256"/>
  139. <Column id="cmt" type="STRING" size="256"/>
  140. <Column id="bfstocqty" type="STRING" size="256"/>
  141. </ColumnInfo>
  142. </Dataset>
  143. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  144. <ColumnInfo>
  145. <Column id="instcd" type="STRING" size="256"/>
  146. </ColumnInfo>
  147. <Rows>
  148. <Row/>
  149. </Rows>
  150. </Dataset>
  151. <Dataset id="ds_init_prvg" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  152. <ColumnInfo>
  153. <Column id="cnt" type="STRING" size="256"/>
  154. </ColumnInfo>
  155. </Dataset>
  156. <Dataset id="ds_popmatr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  157. <ColumnInfo>
  158. <Column id="matrcd" type="STRING" size="256"/>
  159. <Column id="matrnm" type="STRING" size="256"/>
  160. <Column id="deptcd" type="STRING" size="256"/>
  161. <Column id="returntype" type="STRING" size="256"/>
  162. <Column id="selectyn" type="STRING" size="256"/>
  163. </ColumnInfo>
  164. <Rows>
  165. <Row>
  166. <Col id="matrcd"/>
  167. <Col id="matrnm"/>
  168. <Col id="deptcd"/>
  169. <Col id="returntype"/>
  170. <Col id="selectyn"/>
  171. </Row>
  172. </Rows>
  173. </Dataset>
  174. <Dataset id="ds_main_prntlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  175. <ColumnInfo>
  176. <Column id="usedd" type="STRING" size="256" sumtext="사용일자"/>
  177. <Column id="winqty" type="STRING" size="256" sumtext="입고량"/>
  178. <Column id="useqty" type="STRING" size="256" sumtext="사용량"/>
  179. <Column id="stocqty" type="STRING" size="256" sumtext="재고량"/>
  180. <Column id="workcnts" type="STRING" size="256" sumtext="작업내용(취급용도)"/>
  181. <Column id="writid" type="STRING" size="256" sumtext="작성자id"/>
  182. <Column id="writnm" type="STRING" size="256" sumtext="작성자명"/>
  183. <Column id="cnfmnm" type="STRING" size="256" sumtext="확정자명"/>
  184. <Column id="lastday" type="STRING" size="256" sumtext="월말일"/>
  185. <Column id="restocqty" type="STRING" size="256"/>
  186. <Column id="cmt" type="STRING" size="256"/>
  187. </ColumnInfo>
  188. </Dataset>
  189. </Objects>
  190. <Bind>
  191. <BindItem id="item0" compid="grp_sea.ipt_deptcd" propid="value" datasetid="ds_main_condition" columnid="deptcd"/>
  192. <BindItem id="item1" compid="grp_sea.opt_deptnm" propid="value" datasetid="ds_main_condition" columnid="deptnm"/>
  193. <BindItem id="item2" compid="grp_sea.ipt_matrcd" propid="value" datasetid="ds_main_condition" columnid="matrcd"/>
  194. <BindItem id="item3" compid="grp_sea.opt_matrnm" propid="value" datasetid="ds_main_condition" columnid="matrnm"/>
  195. <BindItem id="item4" compid="grp_sea.ipt_ym" propid="value" datasetid="ds_main_condition" columnid="ym"/>
  196. </Bind>
  197. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  198. * System Name :
  199. * Job Name :
  200. * Creator :
  201. * Make Date : 2017-06-19
  202. * Description :
  203. *---------------------------------------------------------------------------------------
  204. * Modify Date Modifier Modify Description
  205. *---------------------------------------------------------------------------------------
  206. * 2017-06-19 Live Converter TF->XP
  207. *
  208. *---------------------------------------------------------------------------------------
  209. ****************************************************************************************/
  210. include "com_commonxp::comm_main.xjs";
  211. include "mis_miscommonxp::MIS.xjs";
  212. function SMRSM00400_oninit(obj:Form, e:InitEventInfo)
  213. {
  214. frmf_initForm(obj);
  215. }
  216. function SMRSM00400_onload(obj:Form, e:LoadEventInfo)
  217. {
  218. var instcd = sysf_getUserInfo("dutplceinstcd");
  219. if(instcd == "032"){
  220. grdf_initGrid(grd_matrlist);
  221. grdf_setRowTypeIcon(grd_matrlist, 0);
  222. fOpenForm();
  223. }else{
  224. sysf_messageBox("사용권한이 없습니다.", "E999", "");
  225. btn_save.enable = false;
  226. btn_cnfm.enable = false;
  227. grp_sea.btn_search.enable = false;
  228. }
  229. }
  230. function fOpenForm()
  231. {
  232. misfGridInit(grd_matrlist);
  233. var oParam = {};
  234. oParam.id = "TRRSM00403";
  235. oParam.service = "purcbaseapp.PurcBaseMngt";
  236. oParam.method = "reqGetMatrMngtPrvg";
  237. oParam.inds = "req=ds_send";
  238. oParam.outds = "ds_init_prvg=matrlist";
  239. oParam.async = false;
  240. oParam.callback = "cf_TRRSM00403";
  241. tranf_submit(oParam);
  242. try
  243. {
  244. ds_main_condition.copyData(arg_ds_main_condition);
  245. }
  246. catch(e)
  247. {
  248. }
  249. if(ds_main_condition.getColumn(0, "popflag") == "Y")
  250. {
  251. fGetMatrList();
  252. }
  253. else
  254. {
  255. ds_main_condition.setColumn(0, "ym", String(utlf_getCurrentDate()).substr(0,6));
  256. }
  257. }
  258. function cf_TRRSM00403(sSvcId, nErrorCode, sErrorMsg)
  259. {
  260. if(nErrorCode < 0)
  261. {
  262. return;
  263. }
  264. else
  265. {
  266. if( ds_init_prvg.getColumn(0, "cnt") == "1" )
  267. {
  268. btn_cancel.enable = true;
  269. }
  270. }
  271. }
  272. function fGetMatrList()
  273. {
  274. grp_sea.ipt_deptcd.value = grp_sea.ipt_deptcd.value.getTrim();
  275. grp_sea.ipt_matrcd.value = grp_sea.ipt_matrcd.value.getTrim();
  276. if(utlf_isNull(grp_sea.ipt_deptcd.value))
  277. {
  278. sysf_messageBox("부서코드가 선택되지 않았습니다. \n먼저 부서코드를 선택하십시요.", "E999", "");
  279. grp_sea.ipt_deptcd.setFocus();
  280. return;
  281. }
  282. if(utlf_isNull(grp_sea.ipt_matrcd.value))
  283. {
  284. sysf_messageBox("물질코드가 선택되지 않았습니다. \n먼저 물질코드를 선택하십시요.", "E999", "");
  285. grp_sea.ipt_matrcd.setFocus();
  286. return;
  287. }
  288. if(String(ds_main_condition.getColumn(0, "ym")).length != 6 )
  289. {
  290. sysf_messageBox("입력년월을 정확하게 입력하십시요. ", "E999", "");
  291. grp_sea.ipt_ym.setFocus();
  292. return;
  293. }
  294. ds_main_condition.setColumn(0,"gubun","N"); //일반관리물질 구분
  295. var oParam = {};
  296. oParam.id = "TRRSM00401";
  297. oParam.service = "purcbaseapp.PurcBaseMngt";
  298. oParam.method = "reqGetMatrUseList";
  299. oParam.inds = "req=ds_main_condition";
  300. oParam.outds = "ds_main_matrlist=matrlist";
  301. oParam.async = false;
  302. oParam.callback = "cf_TRRSM00401";
  303. tranf_submit(oParam);
  304. }
  305. function cf_TRRSM00401(sSvcId, nErrorCode, sErrorMsg)
  306. {
  307. if(nErrorCode < 0)
  308. {
  309. return;
  310. }
  311. else
  312. {
  313. for(var i = 0; i < ds_main_matrlist.rowcount; i++)
  314. {
  315. var writid = ds_main_matrlist.getColumn(i, "writid");
  316. if(!utlf_isNull(writid) && writid != sysf_getUserInfo("userid"))
  317. {
  318. misfSetReadOnlyCol(grd_matrlist, "winqty,useqty,stocqty,workcnts,restocqty,cmt",true, i);
  319. }
  320. }
  321. }
  322. }
  323. // function misfSetReadOnlyCol(pGrid, pRefs, bYn)
  324. // {
  325. // var arrRefs = pRefs.split(",");
  326. //
  327. // if(arrRefs.length == 0)
  328. // {
  329. // return;
  330. // }
  331. //
  332. // for(var j = 0; j < arrRefs.length; j++)
  333. // {
  334. // if(bYn == "true")
  335. // {
  336. // pGrid.setCellProperty("Body", pGrid.getBindCellIndex("Body", arrRefs[j]), "edittype", "none");
  337. // }
  338. // else
  339. // {
  340. // pGrid.setCellProperty("Body", pGrid.getBindCellIndex("Body", arrRefs[j]), "edittype", "normal");
  341. // }
  342. // }
  343. // }
  344. function ds_main_condition_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  345. {
  346. if(e.columnid == "deptcd")
  347. {
  348. var objFocus = this.getFocus();
  349. grp_sea.ipt_deptcd.setFocus();
  350. grp_sea.ipt_deptcd.value = e.newvalue;
  351. misfGridInit(grd_matrlist);
  352. grp_sea.opt_deptnm.value = "";
  353. misfValidationCheck("02", "", "deptcd,deptnm" );
  354. objFocus.setFocus();
  355. }
  356. if(e.columnid == "deptcd")
  357. {
  358. misfGridInit(grd_matrlist);
  359. grp_sea.opt_matrnm.value = "";
  360. }
  361. }
  362. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  363. {
  364. fGetMatrList();
  365. }
  366. function grp_sea_ipt_deptcd_onkeydown(obj:Edit, e:KeyEventInfo)
  367. {
  368. if(e.keycode == 13)
  369. {
  370. obj.updateToDataset();
  371. }
  372. }
  373. function grp_sea_btn_deptcd_onclick(obj:Button, e:ClickEventInfo)
  374. {
  375. var vOrigDeptcd = grp_sea.ipt_deptcd.value;
  376. var recv_list = "deptcd,deptnm";
  377. misfOpenPopUpList("02", ds_main_condition,"", recv_list) ;
  378. if(vOrigDeptcd != grp_sea.ipt_deptcd.value)
  379. {
  380. misfGridInit(grd_matrlist);
  381. }
  382. }
  383. function grp_sea_btn_matrcd_onclick(obj:Button, e:ClickEventInfo)
  384. {
  385. ds_popmatr.setColumn(0, "deptcd", grp_sea.ipt_deptcd.value);
  386. ds_popmatr.setColumn(0, "selectyn", "");
  387. var objArg = new Object();
  388. objArg.arg_ds_popdata = ds_popmatr;
  389. frmf_modal("SPRSM00100", "SPRSM00100", objArg, "", "", "", "", "", "", "", "", "", "M");
  390. if(ds_popmatr.getColumn(0, "selectyn") == "Y")
  391. {
  392. ds_main_condition.setColumn(0, "matrcd", ds_popmatr.getColumn(0, "matrcd"));
  393. ds_main_condition.setColumn(0, "matrnm", ds_popmatr.getColumn(0, "matrnm"));
  394. }
  395. }
  396. function grp_sea_ipt_ym_onchanged(obj:Calendar, e:ChangeEventInfo)
  397. {
  398. var date = String(obj.value).substr(0,6);
  399. ds_main_condition.setColumn(0, "ym", date);
  400. misfGridInit(grd_matrlist);
  401. }
  402. function btn_prt_onclick(obj:Button, e:ClickEventInfo)
  403. {
  404. grp_sea.ipt_deptcd.value = grp_sea.ipt_deptcd.value.getTrim();
  405. grp_sea.ipt_matrcd.value = grp_sea.ipt_matrcd.value.getTrim();
  406. if(utlf_isNull(grp_sea.ipt_deptcd.value))
  407. {
  408. sysf_messageBox("부서코드가 선택되지 않았습니다. \n먼저 부서코드를 선택하십시요.", "E999", "");
  409. grp_sea.ipt_deptcd.setFocus();
  410. return;
  411. }
  412. if(utlf_isNull(grp_sea.ipt_matrcd.value))
  413. {
  414. sysf_messageBox("물질코드가 선택되지 않았습니다. \n먼저 물질코드를 선택하십시요.", "E999", "");
  415. grp_sea.ipt_matrcd.setFocus();
  416. return;
  417. }
  418. if(String(ds_main_condition.getColumn(0, "ym")).length != 6 )
  419. {
  420. sysf_messageBox("입력년월을 정확하게 입력하십시요. ", "E999", "");
  421. grp_sea.ipt_ym.setFocus();
  422. return;
  423. }
  424. ds_main_prntlist.clearData();
  425. var oParam = {};
  426. oParam.id = "TRRSM00402";
  427. oParam.service = "purcbaseapp.PurcBaseMngt";
  428. oParam.method = "reqGetMatrUseCnfmList";
  429. oParam.inds = "req=ds_main_condition";
  430. oParam.outds = "ds_main_prntlist=matrlist";
  431. oParam.async = false;
  432. oParam.callback = "cf_TRRSM00402";
  433. tranf_submit(oParam);
  434. }
  435. function cf_TRRSM00402(sSvcId, nErrorCode, sErrorMsg)
  436. {
  437. if(nErrorCode < 0)
  438. {
  439. return;
  440. }
  441. else
  442. {
  443. var objDOM = rptf_createDOM();
  444. rptf_setNodeListToDOM(objDOM, "/root/main/prntlist", ds_main_prntlist);
  445. rptf_setNodeListToDOM(objDOM, "/root/main/condition", ds_main_condition);
  446. var objParam = new Object();
  447. objParam.xml_data_XML1 = objDOM.documentElement.source;
  448. var option = "";
  449. rptf_exeReportPreview30(["RPRSM00401"],[objParam], option);
  450. }
  451. }
  452. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  453. {
  454. fClickSaveBtn();
  455. }
  456. function fClickSaveBtn()
  457. {
  458. ds_main_matrlist.enableevent = false;
  459. ds_main_matrlist.updatecontrol = false;
  460. grdf_setStatusColumn(ds_main_matrlist, "status");
  461. ds_main_matrlist.updatecontrol = true;
  462. ds_main_matrlist.enableevent = true;
  463. var oParam = {};
  464. oParam.id = "TXRSM00401";
  465. oParam.service = "purcbaseapp.PurcBaseMngt";
  466. oParam.method = "reqExeSaveMatrUse";
  467. oParam.inds = "req=ds_main_condition matrlist=ds_main_matrlist:u";
  468. oParam.async = false;
  469. oParam.callback = "cf_TXRSM00401";
  470. tranf_submit(oParam);
  471. }
  472. function cf_TXRSM00401(sSvcId, nErrorCode, sErrorMsg)
  473. {
  474. if(nErrorCode < 0)
  475. {
  476. return;
  477. }
  478. else
  479. {
  480. fGetMatrList();
  481. }
  482. }
  483. function btn_cnfm_onclick(obj:Button, e:ClickEventInfo)
  484. {
  485. if(ds_main_matrlist.rowcount == 0)
  486. {
  487. sysf_messageBox("조회된 자료가 없습니다. \n먼저 조회 후, 확정처리를 진행하시기 바랍니다. ", "I999", "");
  488. return;
  489. }
  490. if (sysf_messageBox("확정처리 후에는 데이터수정이 불가합니다. \n계속하시겠습니까?", "Q999", "") == 6)
  491. {
  492. ds_main_condition.setColumn(0, "confirmflag", "Y");
  493. var oParam = {};
  494. oParam.id = "TXRSM00402";
  495. oParam.service = "purcbaseapp.PurcBaseMngt";
  496. oParam.method = "reqExeConfirmMatrUse";
  497. oParam.inds = "req=ds_main_condition";
  498. oParam.async = false;
  499. oParam.callback = "cf_TXRSM00402";
  500. tranf_submit(oParam);
  501. }
  502. }
  503. function cf_TXRSM00402(sSvcId, nErrorCode, sErrorMsg)
  504. {
  505. if(nErrorCode < 0)
  506. {
  507. return;
  508. }
  509. else
  510. {
  511. grp_sea.btn_search.click();
  512. }
  513. }
  514. function btn_cancel_onclick(obj:Button, e:ClickEventInfo)
  515. {
  516. if(ds_main_matrlist.rowcount == 0)
  517. {
  518. sysf_messageBox("조회된 자료가 없습니다. \n먼저 조회 후, 확정취소를 진행하시기 바랍니다. ", "I999", "");
  519. return;
  520. }
  521. if (sysf_messageBox("조회된 자료의 확정을 취소하시겠습니까?", "Q999", "") == 6)
  522. {
  523. ds_main_condition.setColumn(0, "confirmflag", "N");
  524. var oParam = {};
  525. oParam.id = "TXRSM00402";
  526. oParam.service = "purcbaseapp.PurcBaseMngt";
  527. oParam.method = "reqExeConfirmMatrUse";
  528. oParam.inds = "req=ds_main_condition";
  529. oParam.async = false;
  530. oParam.callback = "cf_TXRSM00402";
  531. tranf_submit(oParam);
  532. }
  533. }
  534. function btn_rowdelete_onclick(obj:Button, e:ClickEventInfo)
  535. {
  536. if(ds_main_matrlist.rowposition < 0)
  537. {
  538. return;
  539. }
  540. if(sysf_getUserInfo("userid") != ds_main_matrlist.getColumn(ds_main_matrlist.rowposition, "writid"))
  541. {
  542. sysf_messageBox("본인이 작성한 자료만 행삭제가 가능합니다. ", "E999", "");
  543. return;
  544. }
  545. var status = ds_main_matrlist.getRowType(ds_main_matrlist.rowposition);
  546. if(status == 1)
  547. {
  548. ds_main_matrlist.updatecontrol = false;
  549. ds_main_matrlist.setRowType(ds_main_matrlist.rowposition, "d");
  550. ds_main_matrlist.updatecontrol = true;
  551. }
  552. else if(status == 2)
  553. {
  554. ds_main_matrlist.deleteRow(ds_main_matrlist.rowposition);
  555. }
  556. else if(status == 4)
  557. {
  558. ds_main_matrlist.updatecontrol = false;
  559. ds_main_matrlist.setRowType(ds_main_matrlist.rowposition, "d");
  560. ds_main_matrlist.updatecontrol = true;
  561. }
  562. else if(status == 8)
  563. {
  564. ds_main_matrlist.updatecontrol = false;
  565. ds_main_matrlist.setRowType(ds_main_matrlist.rowposition, "d");
  566. ds_main_matrlist.updatecontrol = true;
  567. }
  568. }
  569. function btn_excel_onclick(obj:Button, e:ClickEventInfo)
  570. {
  571. grdf_exportExcel(grd_matrlist, "excel", "savetype1", "false");
  572. }
  573. function ds_main_matrlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  574. {
  575. if( e.columnid == "winqty" && e.columnid == "useqty"){
  576. trace("here");
  577. var winqty = obj.getColumn(e.row, "winqty");
  578. var useqty = obj.getColumn(e.row, "useqty");
  579. var tmpstoc = parseFloat(winqty) - parseFloat(useqty);
  580. trace(tmpstoc);
  581. obj.setColumn(e.row,"stocqty",tmpstoc);
  582. }
  583. }
  584. ]]></Script>
  585. </Form>
  586. </FDL>