SMRSO23100_약속그룹관리.xfdl 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRSO23100" position="absolute 0 0 1091 650" titletext="약속그룹관리" onload="SMRSO23100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 25 1090 52" id="group1" anchor="left top right">
  8. <Layouts>
  9. <Layout>
  10. <Shape position="absolute 0 21 1090 27" id="line17" class="line_6" anchor="left top right"/>
  11. <Button position="absolute 1034 0 1090 22" id="btn_save" class="btn4" taborder="12" text="저장" anchor="top right" onclick="group1_btn_save_onclick"/>
  12. </Layout>
  13. </Layouts>
  14. </Div>
  15. <Div position="absolute 0 50 1090 650" id="group3" scrollbars="autoboth" anchor="all">
  16. <Layouts>
  17. <Layout>
  18. <Div position="absolute 0 0 1090 40" align="align:center top;" id="grp_search" anchor="left top right" class="div_SA2">
  19. <Layouts>
  20. <Layout>
  21. <Button position="absolute 1028 8 1084 30" id="btn_search" class="btn1" taborder="8" text="조회" anchor="top right" onclick="group3_grp_search_btn_search_onclick"/>
  22. <Combo position="absolute 67 10 203 29" align="align:center middle;" id="cmb_instcd" class="combo_default" enable="false" taborder="1" innerdataset="ds_main_init" datacolumn="cnstnm" codecolumn="cnstcd" anchor="default"/>
  23. <Static text="기관:" position="absolute 13 11 67 28" id="cap_instcd" class="search_name" anchor="default"/>
  24. <Static text="부서:" position="absolute 235 11 316 28" align="align:center middle;" id="caption20" class="search_name" anchor="default"/>
  25. <Shape position="absolute 1012 7 1018 32" linetype="vertical" id="line30" class="line_4" anchor="top right"/>
  26. <Button position="absolute 397 11 413 27" id="btn_promdeptcd" class="icon_search" taborder="5" text="" anchor="default" onclick="group3_grp_search_btn_promdeptcd_onclick"/>
  27. <Edit position="absolute 290 10 395 29" id="ipt_promdeptcd" class="input_default" taborder="4" anchor="default" onkeydown="group3_grp_search_ipt_promdeptcd_onkeydown" autoselect="true"/>
  28. <Edit readonly="true" position="absolute 415 10 571 29" id="opt_promdeptcd" anchor="default" class="output" autoselect="true"/>
  29. </Layout>
  30. </Layouts>
  31. </Div>
  32. <Button position="absolute 1037 46 1090 66" id="btn_del" class="btn2" taborder="11" text="행삭제" anchor="top right" onclick="group3_btn_del_onclick"/>
  33. <Static text="약속그룹List" position="absolute 0 50 113 71" id="caption4" class="tit_2" anchor="default"/>
  34. <Button position="absolute 981 46 1034 66" id="btn_add" class="btn2" taborder="10" text="행추가" anchor="top right" onclick="group3_btn_add_onclick"/>
  35. <Shape position="absolute 0 66 1090 72" id="line3" class="line_10" anchor="left top right"/>
  36. <Grid position="absolute 240 71 1090 571" id="grd_promgroupmngtdlist" class="datagrid2" taborder="9" binddataset="ds_main_promgroupmngtd_promgroupmngtdlist" anchor="all" cellsizingtype="col" cellclickbound="cell" selecttype="multirow" onexpandup="group3_grd_promgroupmngtdlist_onexpandup" onmousemove="group3_grd_promgroupmngtdlist_onmousemove" onheadclick="group3_grd_promgroupmngtdlist_onheadclick">
  37. <Formats>
  38. <Format id="default">
  39. <Columns>
  40. <Column size="25" band="left"/>
  41. <Column size="24"/>
  42. <Column size="100"/>
  43. <Column size="220"/>
  44. <Column size="220"/>
  45. <Column size="50"/>
  46. <Column size="90"/>
  47. <Column size="0"/>
  48. <Column size="0"/>
  49. <Column size="0"/>
  50. <Column size="0"/>
  51. </Columns>
  52. <Rows>
  53. <Row size="24" band="head"/>
  54. <Row size="24"/>
  55. </Rows>
  56. <Band id="head">
  57. <Cell/>
  58. <Cell col="1" displaytype="checkbox" edittype="checkbox"/>
  59. <Cell col="2" text="물품코드"/>
  60. <Cell col="3" text="물품명"/>
  61. <Cell col="4" text="규격"/>
  62. <Cell col="5" text="단위"/>
  63. <Cell col="6" text="수량"/>
  64. <Cell col="7" text="wstyn"/>
  65. <Cell col="8" text="caption1"/>
  66. <Cell col="9"/>
  67. <Cell col="10"/>
  68. </Band>
  69. <Band id="body">
  70. <Cell celltype="head"/>
  71. <Cell col="1" displaytype="checkbox" edittype="expr:getRowType(currow) == 2 ? 'none' : 'checkbox' " style="controlbackground:EXPR(getRowType(currow) == 2?'silver':'default');controlborder:EXPR(getRowType(currow) == 2?'1 solid #708090cc':'default');" text="bind:chkrow" expr="expr:(chkrow==&quot;Y&quot;||chkrow==1)?1:0"/>
  72. <Cell col="2" displaytype="text" edittype="expr:getRowType(currow) != 2 ? 'none' : 'text'" text="bind:goodcd" expandshow="show" enable="false"/>
  73. <Cell col="3" displaytype="text" text="bind:goodnm"/>
  74. <Cell col="4" displaytype="text" text="bind:goodspec"/>
  75. <Cell col="5" text="bind:deliveunit"/>
  76. <Cell col="6" displaytype="number" edittype="masknumber" text="bind:promqty" mask="#,###" editautoselect="true"/>
  77. <Cell col="7" text="bind:wstyn"/>
  78. <Cell col="8" text="bind:instcd"/>
  79. <Cell col="9" text="bind:promdeptcd"/>
  80. <Cell col="10" text="bind:promgrupnm"/>
  81. </Band>
  82. </Format>
  83. </Formats>
  84. </Grid>
  85. <Grid position="absolute 0 71 240 571" id="grd_promgroupmngtmlist" class="datagrid2" taborder="9" binddataset="ds_main_promgroupmngtm_promgroupmngtmlist" anchor="left top bottom" onselectchanged="group3_grd_promgroupmngtmlist_onselectchanged">
  86. <Formats>
  87. <Format id="default">
  88. <Columns>
  89. <Column size="25" band="left"/>
  90. <Column size="200"/>
  91. <Column size="0"/>
  92. <Column size="0"/>
  93. </Columns>
  94. <Rows>
  95. <Row size="24" band="head"/>
  96. <Row size="24"/>
  97. </Rows>
  98. <Band id="head">
  99. <Cell/>
  100. <Cell col="1" text="약속그룹명"/>
  101. <Cell col="2" text="caption1"/>
  102. <Cell col="3" text="caption2"/>
  103. </Band>
  104. <Band id="body">
  105. <Cell celltype="head"/>
  106. <Cell col="1" displaytype="text" edittype="expr:getRowType(currow) == 1 &amp;&amp; !utlf_isNull(promgroup) ? 'none' : 'text'" text="bind:promgrupnm" enable="false"/>
  107. <Cell col="2" text="bind:instcd"/>
  108. <Cell col="3" text="bind:promdeptcd"/>
  109. </Band>
  110. </Format>
  111. </Formats>
  112. </Grid>
  113. <Static text="약속그룹물품List" position="absolute 241 50 365 71" id="caption1" class="tit_2" anchor="default"/>
  114. <Button position="absolute 187 46 240 66" id="button1" class="btn2" taborder="10" text="행추가" anchor="default" onclick="group3_button1_onclick"/>
  115. <Button position="absolute 1034 574 1090 596" id="btn_close" class="btn4" taborder="12" visible="false" text="닫기" anchor="right bottom" onclick="group3_btn_close_onclick"/>
  116. <Button position="absolute 975 574 1031 596" id="btn_select" class="btn4" taborder="12" visible="false" text="선택" anchor="right bottom" onclick="group3_btn_select_onclick"/>
  117. <CheckBox position="absolute 388 47 433 67" id="chk_chkrow" visible="false" anchor="default" text="선택" truevalue="Y" onclick="group3_chk_chkrow_onclick"/>
  118. </Layout>
  119. </Layouts>
  120. </Div>
  121. <Static id="caption6" text="약속그룹관리" class="tit_1" position="absolute 0 0 120 25"/>
  122. </Layout>
  123. </Layouts>
  124. <Objects>
  125. <Dataset id="ds_send_save_promgroupmngtdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  126. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  127. <ColumnInfo>
  128. <Column id="hidden" type="STRING" size="256"/>
  129. </ColumnInfo>
  130. <Rows>
  131. <Row>
  132. <Col id="hidden"/>
  133. </Row>
  134. </Rows>
  135. </Dataset>
  136. <Dataset id="ds_popgood_goodlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  137. <ColumnInfo>
  138. <Column id="goodcd" type="STRING" size="256"/>
  139. </ColumnInfo>
  140. </Dataset>
  141. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  142. <ColumnInfo>
  143. <Column id="temp" type="STRING" size="256"/>
  144. </ColumnInfo>
  145. <Rows>
  146. <Row>
  147. <Col id="temp"/>
  148. </Row>
  149. </Rows>
  150. </Dataset>
  151. <Dataset id="ds_send_search" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep" oncolumnchanged="ds_send_search_oncolumnchanged">
  152. <ColumnInfo>
  153. <Column id="instcd" type="STRING" size="256"/>
  154. <Column id="promdeptcd" type="STRING" size="256"/>
  155. <Column id="promdeptnm" type="STRING" size="256"/>
  156. <Column id="allchk" type="STRING" size="256"/>
  157. </ColumnInfo>
  158. <Rows>
  159. <Row>
  160. <Col id="instcd"/>
  161. <Col id="promdeptcd"/>
  162. <Col id="promdeptnm"/>
  163. <Col id="allchk"/>
  164. </Row>
  165. </Rows>
  166. </Dataset>
  167. <Dataset id="ds_main_promgroupmngtm_promgroupmngtmlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  168. <Dataset id="ds_main_dupcheck" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  169. <ColumnInfo>
  170. <Column id="dupyn" type="STRING" size="256"/>
  171. </ColumnInfo>
  172. <Rows>
  173. <Row>
  174. <Col id="dupyn"/>
  175. </Row>
  176. </Rows>
  177. </Dataset>
  178. <Dataset id="ds_popdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  179. <ColumnInfo>
  180. <Column id="instcd" type="STRING" size="256"/>
  181. <Column id="deptcd" type="STRING" size="256"/>
  182. <Column id="deptnm" type="STRING" size="256"/>
  183. <Column id="popgb" type="STRING" size="256"/>
  184. </ColumnInfo>
  185. <Rows>
  186. <Row>
  187. <Col id="instcd"/>
  188. <Col id="deptcd"/>
  189. <Col id="deptnm"/>
  190. <Col id="popgb"/>
  191. </Row>
  192. </Rows>
  193. </Dataset>
  194. <Dataset id="ds_main_good_gooddetail" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  195. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  196. <Dataset id="ds_popgood" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  197. <ColumnInfo>
  198. <Column id="instcd" type="STRING" size="256"/>
  199. <Column id="wareflag" type="STRING" size="256"/>
  200. <Column id="delivedd" type="STRING" size="256"/>
  201. <Column id="basedd" type="STRING" size="256"/>
  202. <Column id="selectyn" type="STRING" size="256"/>
  203. <Column id="goodcd" type="STRING" size="256"/>
  204. </ColumnInfo>
  205. <Rows>
  206. <Row>
  207. <Col id="instcd"/>
  208. <Col id="wareflag"/>
  209. <Col id="delivedd"/>
  210. <Col id="basedd"/>
  211. <Col id="selectyn"/>
  212. <Col id="goodcd"/>
  213. </Row>
  214. </Rows>
  215. </Dataset>
  216. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  217. <ColumnInfo>
  218. <Column id="init" type="STRING" size="256"/>
  219. </ColumnInfo>
  220. <Rows>
  221. <Row>
  222. <Col id="init"/>
  223. </Row>
  224. </Rows>
  225. </Dataset>
  226. <Dataset id="ds_jaego_search" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  227. <ColumnInfo>
  228. <Column id="instcd" type="STRING" size="256"/>
  229. <Column id="goodcd" type="STRING" size="256"/>
  230. <Column id="ymd" type="STRING" size="256"/>
  231. <Column id="fromdeptcd" type="STRING" size="256"/>
  232. </ColumnInfo>
  233. <Rows>
  234. <Row>
  235. <Col id="instcd"/>
  236. <Col id="goodcd"/>
  237. <Col id="ymd"/>
  238. <Col id="fromdeptcd"/>
  239. </Row>
  240. </Rows>
  241. </Dataset>
  242. <Dataset id="ds_send_searchdetail" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  243. <ColumnInfo>
  244. <Column id="instcd" type="STRING" size="256"/>
  245. <Column id="promdeptcd" type="STRING" size="256"/>
  246. <Column id="promgrupnm" type="STRING" size="256"/>
  247. </ColumnInfo>
  248. <Rows>
  249. <Row>
  250. <Col id="instcd"/>
  251. <Col id="promdeptcd"/>
  252. <Col id="promgrupnm"/>
  253. </Row>
  254. </Rows>
  255. </Dataset>
  256. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  257. <ColumnInfo/>
  258. </Dataset>
  259. <Dataset id="ds_main_promgroupmngtd_promgroupmngtdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep" oncolumnchanged="ds_main_promgroupmngtd_promgroupmngtdlist_oncolumnchanged"/>
  260. <Dataset id="ds_jaego" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  261. <ColumnInfo>
  262. <Column id="value" type="STRING" size="256"/>
  263. </ColumnInfo>
  264. </Dataset>
  265. </Objects>
  266. <Bind>
  267. <BindItem id="item0" compid="group3.grp_search.cmb_instcd" propid="value" datasetid="ds_send_search" columnid="instcd"/>
  268. <BindItem id="item1" compid="group3.grp_search.ipt_promdeptcd" propid="value" datasetid="ds_send_search" columnid="promdeptcd"/>
  269. <BindItem id="item2" compid="group3.grp_search.opt_promdeptcd" propid="value" datasetid="ds_send_search" columnid="promdeptnm"/>
  270. <BindItem id="item3" compid="group3.chk_chkrow" propid="value" datasetid="ds_send_search" columnid="allchk"/>
  271. </Bind>
  272. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  273. * System Name :
  274. * Job Name :
  275. * Creator :
  276. * Make Date : 2017-06-19
  277. * Description :
  278. *---------------------------------------------------------------------------------------
  279. * Modify Date Modifier Modify Description
  280. *---------------------------------------------------------------------------------------
  281. * 2017-06-19 Live Converter TF->XP
  282. *
  283. *---------------------------------------------------------------------------------------
  284. ****************************************************************************************/
  285. //=======================================================================================
  286. // Lib Include
  287. //---------------------------------------------------------------------------------------
  288. include "com_commonxp::comm_main.xjs";
  289. include "mis_miscommonxp::MIS.xjs";
  290. include "mis_miscommonxp::RSZ001.xjs";
  291. //=======================================================================================
  292. // Global Form Variable
  293. //---------------------------------------------------------------------------------------
  294. var arErrorCode = new HashArray();
  295. //=======================================================================================
  296. // Function
  297. //---------------------------------------------------------------------------------------
  298. /****************************************************************************************
  299. * Argument : N/A
  300. * Description : 물품코드 조회
  301. ****************************************************************************************/
  302. function fGetGoodDetail() {
  303. for(var k = 0; k < ds_popgood_goodlist.rowcount; k++) {
  304. var bDup = false; //물품코드가 중복되었는지를 확인하기 위한 변수
  305. //popup에서 선택한 물품코드가 이미 grid에 존재하고 있는지를 check하여 이미 존재하면 message를 보여주고 return한다.
  306. for(var i = 0; i < ds_main_promgroupmngtd_promgroupmngtdlist.rowcount; i++) {
  307. if( ds_main_promgroupmngtd_promgroupmngtdlist.getColumn(i, "goodcd") == ds_popgood_goodlist.getColumn(k, "goodcd") ) {
  308. sysf_messageBox("물품코드가 중복되었습니다. [" + ds_main_promgroupmngtd_promgroupmngtdlist.getColumn(i, "goodcd") + "] ", "E999", ""); //E: 경고
  309. bDup = true;
  310. continue;
  311. }
  312. }
  313. if( bDup == false ) {
  314. //TRRSO20104를 위해 물품코드를 goodcd에 넣는다.
  315. ds_popgood.setColumn( 0, "goodcd", ds_popgood_goodlist.getColumn(k, "goodcd") );
  316. var oParam = {};
  317. oParam.id = "TRRSO20104";
  318. oParam.service = "deliveapp.DeliveMngt";
  319. oParam.method = "reqGetGoodDetail";
  320. oParam.inds = "req=ds_popgood";
  321. oParam.outds = "ds_main_good_gooddetail=gooddetail";
  322. oParam.async = false;
  323. oParam.callback = "cf_TRRSO20104";
  324. tranf_submit(oParam);
  325. if(arErrorCode.pop("TRRSO20104") > -1) {
  326. var lastno = ds_main_promgroupmngtd_promgroupmngtdlist.rowcount-1;
  327. //마직막 행에 물품코드가 등록되어 있으면 그 행에 바로 적용하고, 물품코드가 없으면 한 행을 추가한 뒤 적용한다.
  328. if( !utlf_isNull(ds_main_promgroupmngtd_promgroupmngtdlist.getColumn(lastno, "goodcd")) ) {
  329. group3.btn_add.click();
  330. }
  331. ds_main_promgroupmngtd_promgroupmngtdlist.setColumn(lastno, "goodcd", ds_main_good_gooddetail.getColumn(0, "goodcd"));
  332. ds_main_promgroupmngtd_promgroupmngtdlist.setColumn(lastno, "goodnm", ds_main_good_gooddetail.getColumn(0, "goodnm"));
  333. ds_main_promgroupmngtd_promgroupmngtdlist.setColumn(lastno, "goodspec", ds_main_good_gooddetail.getColumn(0, "goodspec"));
  334. ds_main_promgroupmngtd_promgroupmngtdlist.setColumn(lastno, "deliveunit", ds_main_good_gooddetail.getColumn(0, "deliveunit"));
  335. ds_main_promgroupmngtd_promgroupmngtdlist.setColumn(lastno, "promqty", "0"); //입고수량
  336. //2014.07.07 박준범 - 의료폐기물 용기 여부 컬럼 추가
  337. ds_main_promgroupmngtd_promgroupmngtdlist.setColumn(lastno, "wstyn", ds_main_good_gooddetail.getColumn(0, "wstyn"));
  338. }
  339. } // if( bDup ...) end
  340. } // for(var k ...) end
  341. }
  342. function cf_TRRSO20104(sSvcId, nErrorCode, sErrorMsg) {
  343. arErrorCode.push(sSvcId, nErrorCode);
  344. }
  345. /****************************************************************************************
  346. * Argument : N/A
  347. * Description : 약속그룹 조회
  348. ****************************************************************************************/
  349. function call_TRRSO23101() {
  350. var oParam = {};
  351. oParam.id = "TRRSO23101";
  352. oParam.service = "deliveapp.DeliveMngt";
  353. oParam.method = "reqGetPromGroupMngtMList";
  354. oParam.inds = "req=ds_send_search";
  355. oParam.outds = "ds_main_promgroupmngtm_promgroupmngtmlist=promgroupmngtmlist";
  356. oParam.async = false;
  357. oParam.callback = "cf_TRRSO23101";
  358. tranf_submit(oParam);
  359. }
  360. function cf_TRRSO23101(sSvcId, nErrorCode, sErrorMsg) {
  361. arErrorCode.push(sSvcId, nErrorCode);
  362. }
  363. /****************************************************************************************
  364. * Argument : N/A
  365. * Description : 전체체크박스
  366. ****************************************************************************************/
  367. function fChkList() {
  368. if(group3.chk_chkrow.value == "Y"){
  369. for(var i = 0 ; i < ds_main_promgroupmngtd_promgroupmngtdlist.rowcount ; i++ ){
  370. if(ds_main_promgroupmngtm_promgroupmngtmlist.getRowType(i) != 2){
  371. ds_main_promgroupmngtd_promgroupmngtdlist.setColumn(i,"chkrow","Y");
  372. grdf_setStatus(group3.grd_promgroupmngtdlist, "U", [i]);
  373. }
  374. }
  375. }else{
  376. for(var i = 0 ; i < ds_main_promgroupmngtd_promgroupmngtdlist.rowcount ; i++ ){
  377. if(ds_main_promgroupmngtm_promgroupmngtmlist.getRowType(i) != 2){
  378. ds_main_promgroupmngtd_promgroupmngtdlist.setColumn(i,"chkrow","N");
  379. grdf_setStatus(group3.grd_promgroupmngtdlist, "U", [i]);
  380. }
  381. }
  382. }
  383. }
  384. //스크립트 끝
  385. //=======================================================================================
  386. // Event
  387. //---------------------------------------------------------------------------------------
  388. /****************************************************************************************
  389. * Components : Form
  390. * Description : 화면 처음 초기화시 폼초기화
  391. ****************************************************************************************/
  392. function SMRSO23100_onload(obj:Form, e:LoadEventInfo) {
  393. frmf_initForm(obj);
  394. //grdf_initGrid(group3.grd_promgroupmngtdlist);
  395. //grdf_setGridSort(group3.grd_promgroupmngtmlist);
  396. grdf_setRowTypeIcon(group3.grd_promgroupmngtdlist, 0);
  397. grdf_setRowTypeIcon(group3.grd_promgroupmngtmlist, 0);
  398. try{
  399. ds_popdata.copyData(arg_ds_popdata);
  400. }catch(e){}
  401. //화면 Control을 초기화한다
  402. misfGridInit(group3.grd_promgroupmngtmlist);
  403. misfGridInit(group3.grd_promgroupmngtdlist);
  404. misfComboInstCdListMulti("group3.grp_search.cmb_instcd",utlf_getCurrentDate(),"","N");
  405. //group3.grd_promgroupmngtdlist.fixedcellcheckbox(0,group3.grd_promgroupmngtdlist.colRef("chkrow"),false) = true;
  406. group3.grd_promgroupmngtdlist.setCellProperty("head",group3.grd_promgroupmngtdlist.getBindCellIndex("body","chkrow"),"text","0");
  407. if(ds_popdata.getColumn(0, "popgb") == "pop"){
  408. ds_send_search.setColumn( 0, "instcd" ,ds_popdata.getColumn(0, "instcd"));
  409. ds_send_search.setColumn( 0, "promdeptcd",ds_popdata.getColumn(0, "deptcd"));
  410. ds_send_search.setColumn( 0, "promdeptnm",ds_popdata.getColumn(0, "deptnm"));
  411. group3.btn_select.visible = true;
  412. group3.btn_close.visible = true;
  413. }else{
  414. ds_send_search.setColumn( 0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  415. ds_send_search.setColumn( 0, "promdeptcd",sysf_getUserInfo("dutunitcd"));
  416. ds_send_search.setColumn( 0, "promdeptnm",sysf_getUserInfo("dutunitnm"));
  417. group3.grd_promgroupmngtdlist.setFormatColProperty(group3.grd_promgroupmngtdlist.getBindCellIndex("body","chkrow"),"size",0);
  418. group3.chk_chkrow.visible = false;
  419. }
  420. group3.grp_search.btn_search.click();
  421. }
  422. /****************************************************************************************
  423. * Components : Button
  424. * Description : 저장
  425. ****************************************************************************************/
  426. function group1_btn_save_onclick(obj:Button, e:ClickEventInfo) {
  427. var promgrupnm = ds_main_promgroupmngtd_promgroupmngtdlist.getColumn(ds_main_promgroupmngtd_promgroupmngtdlist.rowposition,"promgrupnm");
  428. var dsUpdate = grdf_getGridUpdateData(group3.grd_promgroupmngtdlist, "all");
  429. grdf_setStatusColumn(dsUpdate, "status");
  430. ds_send_save_promgroupmngtdlist.copyData(dsUpdate , true);
  431. var oParam = {};
  432. oParam.id = "TXRSO23101";
  433. oParam.service = "deliveapp.DeliveMngt";
  434. oParam.method = "reqExePromGroupMngtList";
  435. oParam.inds = "promgroupmngtdlist=ds_send_save_promgroupmngtdlist";
  436. oParam.outds = "";
  437. oParam.async = false;
  438. oParam.callback = "cf_TXRSO23101";
  439. tranf_submit(oParam);
  440. if(arErrorCode.pop("TXRSO23101") > -1) {
  441. misfGridInit(group3.grd_promgroupmngtmlist);
  442. misfGridInit(group3.grd_promgroupmngtdlist);
  443. call_TRRSO23101();
  444. if(arErrorCode.pop("TRRSO23101") > -1) {
  445. for(var i = 0 ; i < ds_main_promgroupmngtm_promgroupmngtmlist.rowcount ; i++){
  446. var oldpromgrupnm = ds_main_promgroupmngtm_promgroupmngtmlist.getColumn(i, "promgrupnm");
  447. if(oldpromgrupnm == promgrupnm){
  448. ds_main_promgroupmngtm_promgroupmngtmlist.rowposition = i;
  449. frmf_inputEnterKey("group3.grd_promgroupmngtmlist", "onselectchanged", new GridSelectEventInfo);
  450. break;
  451. }
  452. }
  453. }
  454. }
  455. }
  456. function cf_TXRSO23101(sSvcId, nErrorCode, sErrorMsg) {
  457. arErrorCode.push(sSvcId, nErrorCode);
  458. }
  459. /****************************************************************************************
  460. * Components : Button
  461. * Description : whghl
  462. ****************************************************************************************/
  463. function group3_grp_search_btn_search_onclick(obj:Button, e:ClickEventInfo) {
  464. if(utlf_isNull(group3.grp_search.opt_promdeptcd.value)) {
  465. sysf_messageBox("부서가 선택되지 않았습니다. \n\n먼저 부서를 선택하십시요.", "E999", "");
  466. group3.grp_search.ipt_promdeptcd.setFocus();
  467. return;
  468. }
  469. misfGridInit(group3.grd_promgroupmngtmlist);
  470. misfGridInit(group3.grd_promgroupmngtdlist);
  471. group3.chk_chkrow.value = "";
  472. call_TRRSO23101();
  473. if(arErrorCode.pop("TRRSO23101") > -1) {
  474. ds_main_promgroupmngtm_promgroupmngtmlist.rowposition = 0;
  475. group3.grd_promgroupmngtmlist.onselectchanged.fireEvent(group3.grd_promgroupmngtmlist, new GridSelectEventInfo);
  476. }
  477. }
  478. /****************************************************************************************
  479. * Components : Button
  480. * Description : 부서조회
  481. ****************************************************************************************/
  482. function group3_grp_search_btn_promdeptcd_onclick(obj:Button, e:ClickEventInfo) {
  483. misfOpenPopUpList("02", ds_send_search, "", "promdeptcd,promdeptnm");
  484. }
  485. /****************************************************************************************
  486. * Components : Edit
  487. * Description : 부서조회
  488. ****************************************************************************************/
  489. function group3_grp_search_ipt_promdeptcd_onkeydown(obj:Edit, e:KeyEventInfo) {
  490. if(e.keycode == 13) obj.updateToDataset();
  491. }
  492. /****************************************************************************************
  493. * Components : Dataset
  494. * Description : 부서조회
  495. ****************************************************************************************/
  496. function ds_send_search_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  497. {
  498. if(e.columnid == "promdeptcd") {
  499. group3.grp_search.ipt_promdeptcd.setFocus();
  500. misfValidationCheck("02", "", "promdeptcd,promdeptnm");
  501. }
  502. }
  503. /****************************************************************************************
  504. * Components : Button
  505. * Description : 물품리스트 행삭제
  506. ****************************************************************************************/
  507. function group3_btn_del_onclick(obj:Button, e:ClickEventInfo) {
  508. misfGridIUD(group3.grd_promgroupmngtdlist, "D");
  509. }
  510. /****************************************************************************************
  511. * Components : Button
  512. * Description : 물품리스트 행추가
  513. ****************************************************************************************/
  514. function group3_btn_add_onclick(obj:Button, e:ClickEventInfo) {
  515. var mrow = ds_main_promgroupmngtm_promgroupmngtmlist.rowposition;
  516. var cRow = ds_main_promgroupmngtd_promgroupmngtdlist.rowposition;
  517. var promgrupnm = ds_main_promgroupmngtm_promgroupmngtmlist.getColumn(mrow, "promgrupnm");
  518. if(!utlf_isNull(promgrupnm)) {
  519. // group3.grd_promgroupmngtmlist.cellAttribute("disabled", mrow, group3.grd_promgroupmngtmlist.colRef("promgrupnm")) = "true";
  520. misfGridIUD(group3.grd_promgroupmngtdlist, "A");
  521. ds_main_promgroupmngtd_promgroupmngtdlist.setColumn(cRow,"instcd" , group3.grp_search.cmb_instcd.value);
  522. ds_main_promgroupmngtd_promgroupmngtdlist.setColumn(cRow,"promdeptcd" , group3.grp_search.ipt_promdeptcd.value);
  523. ds_main_promgroupmngtd_promgroupmngtdlist.setColumn(cRow,"promgrupnm" , promgrupnm);
  524. // group3.grd_promgroupmngtdlist.cellAttribute("disabled", group3.grd_promgroupmngtdlist.row, group3.grd_promgroupmngtdlist.colRef("chkrow")) = "true";
  525. }else{
  526. sysf_messageBox("왼쪽에 약속그룹List를 선택하거나 입력하시고 진행하여 주십시오.", "I999", "");
  527. return;
  528. }
  529. }
  530. /****************************************************************************************
  531. * Components : Button
  532. * Description : 약속그룹 행추가
  533. ****************************************************************************************/
  534. function group3_button1_onclick(obj:Button, e:ClickEventInfo) {
  535. for(var i = 1 ; i < ds_main_promgroupmngtm_promgroupmngtmlist.rowcount ; i++){
  536. if(ds_main_promgroupmngtm_promgroupmngtmlist.getRowType(i) != 1){
  537. sysf_messageBox("이미 추가중인 약속그룹을 먼저 저장하시고 행추가를 진행하십시오.", "I999", "");
  538. return;
  539. }
  540. }
  541. misfGridInit(group3.grd_promgroupmngtdlist);
  542. misfGridIUD(group3.grd_promgroupmngtmlist, "A");
  543. }
  544. /****************************************************************************************
  545. * Components : Button
  546. * Description : 닫기
  547. ****************************************************************************************/
  548. function group3_btn_close_onclick(obj:Button, e:ClickEventInfo) {
  549. this.close();
  550. }
  551. /****************************************************************************************
  552. * Components : Button
  553. * Description : 선택
  554. ****************************************************************************************/
  555. function group3_btn_select_onclick(obj:Button, e:ClickEventInfo) {
  556. // for(var i = ds_main_promgroupmngtd_promgroupmngtdlist.rowcount-1 ; i > -1 ; i--){
  557. // var chkrow = ds_main_promgroupmngtd_promgroupmngtdlist.getColumn(i, "chkrow");
  558. // if(chkrow == "N"){
  559. // ds_main_promgroupmngtd_promgroupmngtdlist.deleteRow(i);
  560. // }
  561. // }
  562. ds_main_promgroupmngtd_promgroupmngtdlist.filter("chkrow=='Y'");
  563. var count = ds_main_promgroupmngtd_promgroupmngtdlist.rowcount;
  564. opener.ds_popdata_send.setColumn( 0, "count", count);
  565. opener.ds_popdata_receive_promgroupmngtdlist.copyData(ds_main_promgroupmngtd_promgroupmngtdlist,true);
  566. this.close();
  567. }
  568. /****************************************************************************************
  569. * Components : Dataset
  570. * Description : 약속그룹물품 체크박스설정
  571. ****************************************************************************************/
  572. function ds_main_promgroupmngtd_promgroupmngtdlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  573. {
  574. if(e.columnid=="chkrow") {
  575. obj.setColumn(e.row,e.columnid,(e.newvalue=="Y"||e.newvalue==1)?"Y":"N");
  576. }
  577. }
  578. /****************************************************************************************
  579. * Components : Grid
  580. * Description : 약속그룹 변경시 물품조회
  581. ****************************************************************************************/
  582. function group3_grd_promgroupmngtmlist_onselectchanged(obj:Grid, e:GridSelectEventInfo)
  583. {
  584. ds_send_searchdetail.setColumn( 0, "instcd", ds_main_promgroupmngtm_promgroupmngtmlist.getColumn(obj.currentrow, "instcd"));
  585. ds_send_searchdetail.setColumn( 0, "promdeptcd", ds_main_promgroupmngtm_promgroupmngtmlist.getColumn(obj.currentrow, "promdeptcd"));
  586. ds_send_searchdetail.setColumn( 0, "promgrupnm", ds_main_promgroupmngtm_promgroupmngtmlist.getColumn(obj.currentrow, "promgrupnm"));
  587. var oParam = {};
  588. oParam.id = "TRRSO23102";
  589. oParam.service = "deliveapp.DeliveMngt";
  590. oParam.method = "reqGetPromGroupMngtDList";
  591. oParam.inds = "req=ds_send_searchdetail";
  592. oParam.outds = "ds_main_promgroupmngtd_promgroupmngtdlist=promgroupmngtdlist";
  593. oParam.async = false;
  594. //oParam.callback = "cf_TRRSO23102";
  595. tranf_submit(oParam);
  596. }
  597. /****************************************************************************************
  598. * Components : Grid
  599. * Description : 리스트 물품코드 버튼 클릭
  600. ****************************************************************************************/
  601. function group3_grd_promgroupmngtdlist_onexpandup(obj:Grid, e:GridMouseEventInfo)
  602. {
  603. if(ds_main_promgroupmngtd_promgroupmngtdlist.getRowType(e.row) != 2) return;
  604. //popup 에 전달할 parameter를 setting한다.
  605. ds_popgood.setColumn( 0, "instcd", group3.grp_search.cmb_instcd.value);
  606. //2012.09.17 박준범 - SPRSO20700.xrw 에서 사용하기 위해 basedd를 추가 함
  607. //selectyn(popup 창에서 선택버튼을 click했는지 아닌지를 나타내는 구분값) 을 초기화함
  608. ds_popgood.setColumn( 0, "selectyn", "");
  609. //popup 프로그램 호출
  610. //window.load("SPRSO20300.xrw", "modal","", "", "ds_popgood","ds_popdata"); //단일선택창
  611. var objArg = new Object();
  612. objArg.arg_ds_popdata = ds_popgood;
  613. frmf_modal("SPRSO20700","SPRSO20700",objArg,"","","","","","","","","","M"); //다중선택창
  614. //popup에서 특정 물품코드를 선택한 경우, 해당 물품코드에 대한 상세 사항을 조회해서 그리드에 보여준다.
  615. if(ds_popgood.getColumn(0, "selectyn") == "Y") { //popup 창에서 선택버튼을 click했는지 아닌지를 나타내는 구분값
  616. fGetGoodDetail(); //물품코드의 상세내역과 현재고를 조회하여 Grid에 보여줌
  617. //출고량을 입력하도록 focus이동
  618. // obj.setFocus();
  619. obj.setCellPos(obj.getBindCellIndex("body","promqty"));
  620. obj.showEditor(true);
  621. }
  622. }
  623. /****************************************************************************************
  624. * Components : CheckBox
  625. * Description : 전체체크
  626. ****************************************************************************************/
  627. function group3_chk_chkrow_onclick(obj:CheckBox, e:ClickEventInfo)
  628. {
  629. if(obj.value == false) ds_send_search.setColumn(0,"allchk", "");
  630. fChkList();
  631. }
  632. function group3_grd_promgroupmngtdlist_onmousemove(obj:Grid, e:GridMouseEventInfo)
  633. {
  634. if(e.row > -1 && e.col == obj.getBindCellIndex("body","goodcd")) obj.autoenter = "select";
  635. else obj.autoenter = "key";
  636. }
  637. function group3_grd_promgroupmngtdlist_onheadclick(obj:Grid, e:GridClickEventInfo)
  638. {
  639. var chkValue = obj.getCellProperty("head",obj.getBindCellIndex("body","chkrow"),"text");
  640. // trace("chkValue : "+chkValue);
  641. if(utlf_isNull(chkValue) || chkValue == "0") {
  642. obj.setCellProperty("head",1,"text","1");
  643. for(var i = 0 ; i < ds_main_promgroupmngtd_promgroupmngtdlist.rowcount ; i++) {
  644. ds_main_promgroupmngtd_promgroupmngtdlist.setColumn(i,"chkrow","Y");
  645. }
  646. } else {
  647. obj.setCellProperty("head",1,"text","0");
  648. for(var i = 0 ; i < ds_main_promgroupmngtd_promgroupmngtdlist.rowcount ; i++) {
  649. ds_main_promgroupmngtd_promgroupmngtdlist.setColumn(i,"chkrow","N");
  650. }
  651. }
  652. }
  653. ]]></Script>
  654. </Form>
  655. </FDL>