SPZHA20200_접수결재HELP.xfdl 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPZHA20200" position="absolute 0 0 701 545" titletext="접수결재" oninit="SPZHA20200_oninit" onload="SPZHA20200_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static text="접수결재" position="absolute 0 0 82 25" id="cpt_title" class="tit_1"/>
  8. <TextArea position="absolute 89 293 701 359" id="ta_aprvmsg1" enable="true" autoselect="true" wordwrap="char" style="linespace:3;"/>
  9. <Static text="내용" position="absolute 0 293 90 359" id="caption11" class="cell_1"/>
  10. <Static text="총괄 전달사항" position="absolute 0 272 180 292" id="caption12" class="tit_2"/>
  11. <Static text="과장 전달사항" position="absolute 0 458 180 478" id="caption1" class="tit_2"/>
  12. <TextArea position="absolute 89 479 701 545" id="ta_aprvmsg2" enable="true" autoselect="true" wordwrap="char" style="linespace:3;"/>
  13. <Static text="내용" position="absolute 0 479 90 545" id="caption2" class="cell_1"/>
  14. <Button position="absolute 560 5 616 25" id="btn_aprv1" class="btn4" text="결재" onclick="btn_aprv1_onclick"/>
  15. <Button position="absolute 620 5 676 25" id="btn_cancel" class="btn4" text="취소" onclick="btn_cancel_onclick"/>
  16. <Edit position="absolute 580 454 650 474" id="ipt_usernm" visible="false"/>
  17. <Shape position="absolute 0 476 701 479" id="line10" class="line_1" type="rectangle"/>
  18. <Shape position="absolute 0 290 701 293" id="line1" class="line_1" type="rectangle"/>
  19. <Calendar position="absolute 92 212 250 232" align="align:center middle;" id="ipt_eststartdd_a" class="input_essential" enable="true" mask="yyyy-mm-dd" autoselect="true" style="align:center middle;"/>
  20. <Shape position="absolute 0 75 701 81" id="line11" class="line_2"/>
  21. <Shape position="absolute 0 99 569 105" id="line12" class="line_2"/>
  22. <Static text="업무구분" position="absolute 253 54 343 77" id="caption20" class="cell_1"/>
  23. <Shape position="absolute 0 208 701 214" id="line13" class="line_2"/>
  24. <TextArea position="absolute 92 103 572 209" id="ta_reply_desc" enable="true" autoselect="true" wordwrap="char" style="linespace:3;"/>
  25. <Static text="담당자" position="absolute 0 78 90 101" id="caption21" class="cell_1"/>
  26. <Combo position="absolute 92 55 250 75" id="cmb_reqgb" class="combo_essential" enable="true" taborder="26" innerdataset="ds_init_cmb_reqgb_comcodelist" datacolumn="cdnm" codecolumn="cdid" style="color:#000000ff;font:Dotum,9,bold;"/>
  27. <Static text="검토의견" position="absolute 0 102 90 210" id="caption3" class="cell_1"/>
  28. <Combo position="absolute 92 79 250 99" id="cmb_chgrid" enable="true" taborder="28" innerdataset="@ds_init_chrginfo" datacolumn="usernm" codecolumn="userid" onitemchanged="cmb_chgrid_onitemchanged"/>
  29. <Static text="요청구분" position="absolute 0 54 90 77" id="caption4" class="cell_1"/>
  30. <Calendar position="absolute 345 212 475 232" align="align:center middle;" id="ipt_estenddd_a" class="input_essential" enable="true" mask="yyyy-mm-dd" autoselect="true" style="align:center middle;"/>
  31. <Static text="착수예정일자" position="absolute 0 211 90 234" id="caption14" class="cell_1"/>
  32. <Static text="완료예정일자" position="absolute 253 211 343 234" id="caption15" class="cell_1"/>
  33. <Static text="담당 결재 사항" position="absolute 0 32 180 52" id="caption5" class="tit_2"/>
  34. <Button position="absolute 610 79 652 99" id="btn_prgmradd" class="btn2" text="추가" onclick="btn_prgmradd_onclick"/>
  35. <Grid position="absolute 575 100 701 209" id="grd_prgmr" binddataset="ds_main_reqprgmrlist" autofittype="col">
  36. <Formats>
  37. <Format id="default">
  38. <Columns>
  39. <Column size="23"/>
  40. <Column size="104"/>
  41. <Column size="0"/>
  42. <Column size="0"/>
  43. </Columns>
  44. <Rows>
  45. <Row size="24" band="head"/>
  46. <Row size="24"/>
  47. </Rows>
  48. <Band id="head">
  49. <Cell/>
  50. <Cell col="1" text="개발자목록"/>
  51. <Cell col="2" text="reqno"/>
  52. <Cell col="3" text="userid"/>
  53. </Band>
  54. <Band id="body">
  55. <Cell celltype="head"/>
  56. <Cell col="1" text="bind:usernm"/>
  57. <Cell col="2" text="bind:userid"/>
  58. <Cell col="3" text="bind:reqno"/>
  59. </Band>
  60. </Format>
  61. </Formats>
  62. </Grid>
  63. <Shape position="absolute 0 232 701 238" id="line2" class="line_2"/>
  64. <Static text="우선순위" position="absolute 485 211 575 234" id="caption6" class="cell_1"/>
  65. <Combo position="absolute 576 212 676 232" id="cmb_priority" codecolumn="codecolumn" datacolumn="datacolumn">
  66. <Dataset id="innerdataset">
  67. <ColumnInfo>
  68. <Column id="codecolumn"/>
  69. <Column id="datacolumn"/>
  70. </ColumnInfo>
  71. <Rows>
  72. <Row>
  73. <Col id="codecolumn">1</Col>
  74. <Col id="datacolumn">1(긴급)</Col>
  75. </Row>
  76. <Row>
  77. <Col id="codecolumn">2</Col>
  78. <Col id="datacolumn">2</Col>
  79. </Row>
  80. <Row>
  81. <Col id="codecolumn">3</Col>
  82. <Col id="datacolumn">3</Col>
  83. </Row>
  84. <Row>
  85. <Col id="codecolumn">4</Col>
  86. <Col id="datacolumn">4</Col>
  87. </Row>
  88. <Row>
  89. <Col id="codecolumn">5</Col>
  90. <Col id="datacolumn">5</Col>
  91. </Row>
  92. </Rows>
  93. </Dataset>
  94. </Combo>
  95. <Static text="담당자전화" position="absolute 253 78 343 101" id="caption24" class="cell_1"/>
  96. <Edit position="absolute 345 79 475 99" align="align:center middle;" id="ipt_chrgtelno" class="input_essential" enable="true" taborder="29" autoselect="true" style="align:center middle;"/>
  97. <Shape position="absolute 0 50 701 54" id="line3" class="line_1" type="rectangle"/>
  98. <Button position="absolute 655 79 697 99" id="btn_prgmrdel" class="btn2" text="삭제" onclick="btn_prgmrdel_onclick"/>
  99. <Static text="지식공유" position="absolute 478 79 538 102" id="caption7" class="cell_1"/>
  100. <Edit position="absolute 540 79 570 99" align="align:center middle;" id="ipt_knowhyn" enable="false" autoselect="true" style=":disabled {align:center middle;}"/>
  101. <Button position="absolute 575 78 595 98" id="button5" class="icon_list" text="" onclick="button5_onclick"/>
  102. <MaskEdit position="absolute 92 236 193 256" align="align:center middle;" id="ipt_devcntinpt" enable="false" mask="#" autoselect="true" style=":disabled {align:center middle;}"/>
  103. <Static text="실적건수" position="absolute 0 235 90 258" align="align:left middle;" id="caption85" class="cell_1" style="font:Dotum,9,bold;"/>
  104. <Static text="수정 개발건" position="absolute 381 235 462 258" align="align:left middle;" id="caption86" class="cell_1" style="font:Dotum,9,bold;"/>
  105. <Static text="신규 개발건" position="absolute 195 235 285 258" align="align:left middle;" id="caption87" class="cell_1" style="font:Dotum,9,bold;"/>
  106. <Static text="통계/기타 건" position="absolute 545 235 634 258" align="align:left middle;" id="caption88" class="cell_1" style="font:Dotum,9,bold;"/>
  107. <MaskEdit position="absolute 286 236 379 256" align="align:center middle;" id="ipt_newdevcntinpt" mask="#" autoselect="true" style="align:center middle;" onkeyup="ipt_newdevcntinpt_onkeyup"/>
  108. <MaskEdit position="absolute 635 236 701 256" align="align:center middle;" id="ipt_statdevcntinpt" mask="#" autoselect="true" style="align:center middle;" onkeyup="ipt_newdevcntinpt_onkeyup"/>
  109. <MaskEdit position="absolute 463 236 543 256" align="align:center middle;" id="ipt_mdfydevcntinpt" mask="#" autoselect="true" style="align:center middle;" onkeyup="ipt_newdevcntinpt_onkeyup"/>
  110. <Shape position="absolute 0 256 701 262" id="line4" class="line_2"/>
  111. <Button position="absolute 620 28 701 48" id="btn_prgmrsave" class="btn2" visible="false" text="개발자 저장"/>
  112. <Button id="ipt_work1" taborder="30" class="btn_iptWork" position="absolute 345 55 440 75" tooltiptype="hover" onclick="ipt_work_onclick"/>
  113. <Button id="ipt_work2" taborder="31" class="btn_iptWork" position="absolute 441 55 541 75" tooltiptype="hover" onclick="ipt_work_onclick"/>
  114. <Button id="ipt_work3" taborder="32" class="btn_iptWork" position="absolute 542 55 701 75" tooltiptype="hover" onclick="ipt_work_onclick"/>
  115. <TextArea id="ta_aprvmsg3" taborder="33" wordwrap="char" autoselect="true" position="absolute 89 386 701 452" style="linespace:3;"/>
  116. <Static id="caption00" text="내용" class="cell_1" position="absolute 0 386 90 452"/>
  117. <Static id="caption08" text="팀장 전달사항" class="tit_2" position="absolute 0 365 180 385"/>
  118. <Shape id="line00" type="rectangle" class="line_1" position="absolute 0 383 701 386"/>
  119. </Layout>
  120. </Layouts>
  121. <Objects>
  122. <Dataset id="ds_param" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  123. <ColumnInfo>
  124. <Column id="reqno" type="STRING" size="256"/>
  125. <Column id="gubun" type="STRING" size="256"/>
  126. <Column id="apprusers" type="STRING" size="256"/>
  127. </ColumnInfo>
  128. <Rows>
  129. <Row/>
  130. </Rows>
  131. </Dataset>
  132. <Dataset id="ds_send_search" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  133. <ColumnInfo>
  134. <Column id="reqno" type="STRING" size="256" sumtext="요청번호"/>
  135. </ColumnInfo>
  136. <Rows>
  137. <Row/>
  138. </Rows>
  139. </Dataset>
  140. <Dataset id="ds_main_aprvmsglist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  141. <ColumnInfo>
  142. <Column id="reqno" type="STRING" size="256" sumtext="요청번호"/>
  143. <Column id="aprvmsg1" type="STRING" size="256" sumtext="총괄메시지"/>
  144. <Column id="aprvmsg2" type="STRING" size="256" sumtext="파트장메시지"/>
  145. <Column id="chrgid" type="STRING" size="256" sumtext="담당자ID"/>
  146. <Column id="chrgtelno" type="STRING" size="256" sumtext="담당자전화번호"/>
  147. <Column id="reply" type="STRING" size="256" sumtext="답변"/>
  148. <Column id="eststartdd" type="STRING" size="256" sumtext="착수예정일"/>
  149. <Column id="estenddd" type="STRING" size="256" sumtext="완료예정일"/>
  150. <Column id="reqgb" type="STRING" size="256" sumtext="요청구분"/>
  151. <Column id="workcd1" type="STRING" size="256" sumtext="업무구분"/>
  152. <Column id="workcd2" type="STRING" size="256" sumtext="업무구분"/>
  153. <Column id="workcd3" type="STRING" size="256" sumtext="업무구분"/>
  154. <Column id="worknm1" type="STRING" size="256" sumtext="업무구분"/>
  155. <Column id="worknm2" type="STRING" size="256" sumtext="업무구분"/>
  156. <Column id="worknm3" type="STRING" size="256" sumtext="업무구분"/>
  157. <Column id="priority" type="STRING" size="256" sumtext="우선순위"/>
  158. <Column id="gubun" type="STRING" size="256" sumtext="구분"/>
  159. <Column id="devcnt" type="STRING" size="256" sumtext="건수 합계"/>
  160. <Column id="newdevcnt" type="STRING" size="256" sumtext="신규 개발 건수"/>
  161. <Column id="mdfydevcnt" type="STRING" size="256" sumtext="수정 건수"/>
  162. <Column id="statdevcnt" type="STRING" size="256" sumtext="통계외 건"/>
  163. </ColumnInfo>
  164. </Dataset>
  165. <Dataset id="ds_main_reqprgmrlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  166. <ColumnInfo>
  167. <Column id="reqno" type="STRING" size="256" sumtext="요청번호"/>
  168. <Column id="userid" type="STRING" size="256" sumtext="요청번호"/>
  169. <Column id="usernm" type="STRING" size="256" sumtext="요청번호"/>
  170. </ColumnInfo>
  171. </Dataset>
  172. <Dataset id="ds_send_prgmrlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  173. <ColumnInfo>
  174. <Column id="reqdd" type="STRING" size="256" sumtext="요청일자"/>
  175. <Column id="userid" type="STRING" size="256" sumtext="사용자ID"/>
  176. <Column id="usernm" type="STRING" size="256" sumtext="사용자명"/>
  177. <Column id="devyn" type="STRING" size="256" sumtext="개발자여부"/>
  178. </ColumnInfo>
  179. <Rows>
  180. <Row/>
  181. </Rows>
  182. </Dataset>
  183. <Dataset id="ds_init_prgmrinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  184. <ColumnInfo>
  185. <Column id="userid" type="STRING" size="256" sumtext="프로그래머id"/>
  186. <Column id="usernm" type="STRING" size="256" sumtext="프로그래머명"/>
  187. <Column id="telno" type="STRING" size="256" sumtext="내선전화"/>
  188. <Column id="mpphonno" type="STRING" size="256" sumtext="핸드폰번호"/>
  189. <Column id="nzone" type="STRING" size="256" sumtext="N-Zone"/>
  190. <Column id="accptyn" type="STRING" size="256" sumtext="접수권한"/>
  191. <Column id="partgubun" type="STRING" size="256" sumtext="파트구분"/>
  192. </ColumnInfo>
  193. </Dataset>
  194. <Dataset id="ds_init_chrginfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  195. <Dataset id="ds_temp_knowhowchk" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  196. <ColumnInfo>
  197. <Column id="knowhyn" type="STRING" size="256" sumtext="지식공유 Y/N"/>
  198. <Column id="kncd" type="STRING" size="256" sumtext="지식 번호"/>
  199. </ColumnInfo>
  200. </Dataset>
  201. <Dataset id="ds_hidden_prgmrinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  202. <ColumnInfo>
  203. <Column id="reqno" type="STRING" size="256" sumtext="요청번호"/>
  204. <Column id="userid" type="STRING" size="256" sumtext="요청번호"/>
  205. <Column id="usernm" type="STRING" size="256" sumtext="요청번호"/>
  206. </ColumnInfo>
  207. </Dataset>
  208. <Dataset id="ds_send_save" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  209. </Objects>
  210. <Bind>
  211. <BindItem id="item0" compid="cmb_reqgb" propid="value" datasetid="ds_main_aprvmsglist" columnid="reqgb"/>
  212. <BindItem id="item1" compid="cmb_chgrid" propid="value" datasetid="ds_main_aprvmsglist" columnid="chrgid"/>
  213. <BindItem id="item5" compid="ipt_chrgtelno" propid="value" datasetid="ds_main_aprvmsglist" columnid="chrgtelno"/>
  214. <BindItem id="item6" compid="ipt_knowhyn" propid="value" datasetid="ds_temp_knowhowchk" columnid="knowhyn"/>
  215. <BindItem id="item7" compid="ta_reply_desc" propid="value" datasetid="ds_main_aprvmsglist" columnid="reply"/>
  216. <BindItem id="item8" compid="ipt_eststartdd_a" propid="value" datasetid="ds_main_aprvmsglist" columnid="eststartdd"/>
  217. <BindItem id="item9" compid="ipt_estenddd_a" propid="value" datasetid="ds_main_aprvmsglist" columnid="estenddd"/>
  218. <BindItem id="item10" compid="cmb_priority" propid="value" datasetid="ds_main_aprvmsglist" columnid="priority"/>
  219. <BindItem id="item11" compid="ipt_devcntinpt" propid="value" datasetid="ds_main_aprvmsglist" columnid="devcnt"/>
  220. <BindItem id="item12" compid="ipt_newdevcntinpt" propid="value" datasetid="ds_main_aprvmsglist" columnid="newdevcnt"/>
  221. <BindItem id="item13" compid="ipt_mdfydevcntinpt" propid="value" datasetid="ds_main_aprvmsglist" columnid="mdfydevcnt"/>
  222. <BindItem id="item14" compid="ipt_statdevcntinpt" propid="value" datasetid="ds_main_aprvmsglist" columnid="statdevcnt"/>
  223. <BindItem id="item15" compid="ta_aprvmsg1" propid="value" datasetid="ds_main_aprvmsglist" columnid="aprvmsg1"/>
  224. <BindItem id="item16" compid="ta_aprvmsg2" propid="value" datasetid="ds_main_aprvmsglist" columnid="aprvmsg2"/>
  225. <BindItem id="item124" compid="ipt_work1" propid="text" datasetid="ds_main_aprvmsglist" columnid="worknm1"/>
  226. <BindItem id="item22" compid="ipt_work1" propid="tooltiptext" datasetid="ds_main_aprvmsglist" columnid="worknm1"/>
  227. <BindItem id="item126" compid="ipt_work2" propid="text" datasetid="ds_main_aprvmsglist" columnid="worknm2"/>
  228. <BindItem id="item21" compid="ipt_work2" propid="tooltiptext" datasetid="ds_main_aprvmsglist" columnid="worknm2"/>
  229. <BindItem id="item2" compid="ipt_work3" propid="text" datasetid="ds_main_aprvmsglist" columnid="worknm3"/>
  230. <BindItem id="item3" compid="ipt_work3" propid="tooltiptext" datasetid="ds_main_aprvmsglist" columnid="worknm3"/>
  231. <BindItem id="item4" compid="ta_aprvmsg3" propid="value" datasetid="ds_main_aprvmsglist" columnid="aprvmsg3"/>
  232. </Bind>
  233. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  234. * System Name :
  235. * Job Name :
  236. * Creator :
  237. * Make Date : 2014-12-09
  238. * Description :
  239. *---------------------------------------------------------------------------------------
  240. * Modify Date Modifier Modify Description
  241. *---------------------------------------------------------------------------------------
  242. * 2014-12-09 Live Converter TF->XP
  243. *
  244. *---------------------------------------------------------------------------------------
  245. ****************************************************************************************/
  246. include "com_commonxp::comm_main.xjs";
  247. include "mis_miscommonxp::MIS.xjs";
  248. function SPZHA20200_oninit(obj:Form, e:InitEventInfo)
  249. {
  250. frmf_initForm(obj);
  251. }
  252. function SPZHA20200_onload(obj:Form, e:LoadEventInfo)
  253. {
  254. grdf_setRowTypeIcon(grd_prgmr, 0);
  255. if(frmf_checkOpener()){
  256. try {
  257. ds_param.copyData(arg_ds_param);
  258. } catch(e) {
  259. }
  260. var gubun = ds_param.getColumn(0, "gubun");
  261. var reqno = ds_param.getColumn(0, "reqno");
  262. var apprline = ds_param.getColumn(0, "apprline");
  263. ta_aprvmsg1.enable = false;
  264. ta_aprvmsg2.enable = false;
  265. ta_aprvmsg3.enable = false;
  266. cmb_reqgb.enable = false;
  267. ipt_work1.enable = false;
  268. ipt_work2.enable = false;
  269. ipt_work3.enable = false;
  270. cmb_chgrid.enable = false;
  271. ipt_chrgtelno.enable = false;
  272. ta_reply_desc.readonly = true;
  273. ipt_eststartdd_a.enable = false;
  274. ipt_estenddd_a.enable = false;
  275. cmb_priority.enable = false;
  276. btn_prgmradd.enable = false;
  277. btn_prgmrdel.enable = false;
  278. if(gubun == "A1"){
  279. ta_aprvmsg1.enable = true;
  280. }else if(gubun == "A3"){
  281. ta_aprvmsg3.enable = true;
  282. if(apprline == "일괄" || apprline == "부재") ta_aprvmsg2.enable = true;
  283. }else if(gubun == "A2"){
  284. ta_aprvmsg2.enable = true;
  285. if(apprline == "일괄" || apprline == "부재") ta_aprvmsg3.enable = true;
  286. }else if(gubun == "A0"){
  287. cmb_reqgb.enable = true;
  288. ipt_work1.enable = true;
  289. ipt_work2.enable = true;
  290. ipt_work3.enable = true;
  291. cmb_chgrid.enable = true;
  292. ipt_chrgtelno.enable = true;
  293. ta_reply_desc.readonly = false;
  294. ipt_eststartdd_a.enable = true;
  295. ipt_estenddd_a.enable = true;
  296. cmb_priority.enable = true;
  297. btn_prgmradd.enable = true;
  298. btn_prgmrdel.enable = true;
  299. }else if(gubun == "P0"){
  300. cmb_reqgb.enable = true;
  301. ipt_work1.enable = true;
  302. ipt_work2.enable = true;
  303. ipt_work3.enable = true;
  304. cmb_chgrid.enable = true;
  305. ipt_chrgtelno.enable = true;
  306. ta_reply_desc.readonly = false;
  307. ipt_eststartdd_a.enable = true;
  308. ipt_estenddd_a.enable = true;
  309. cmb_priority.enable = true;
  310. btn_prgmradd.enable = false;
  311. btn_prgmrdel.enable = false;
  312. btn_prgmrsave.visible = true;
  313. btn_aprv1.visible = false;
  314. btn_cancel.visible = false;
  315. cmb_chgrid.enable = false;
  316. }
  317. ds_send_search.setColumn(0, "reqno", reqno);
  318. var oParam = {};
  319. oParam.id = "TRZHA20201";
  320. oParam.service = "reqprgmapp.ReqPrgm";
  321. oParam.method = "reqGetAprvmsg";
  322. oParam.inds = "req=ds_send_search";
  323. oParam.outds = "ds_main_aprvmsglist=aprvmsglist ds_main_reqprgmrlist=reqprgmrlist";
  324. oParam.async = true;
  325. oParam.callback = "cf_TRZHA20201";
  326. tranf_submit(oParam);
  327. //프로그래머정보가져오기
  328. ds_send_prgmrlist.setColumn(0, "reqdd", utlf_getCurrentDate());
  329. var oParam = {};
  330. oParam.id = "TRZHA20008";
  331. oParam.service = "reqprgmapp.ReqPrgm";
  332. oParam.method = "reqGetPrgmr";
  333. oParam.inds = "req=ds_send_prgmrlist";
  334. oParam.outds = "ds_init_prgmrinfo=prgmrlist";
  335. oParam.async = true;
  336. oParam.callback = "cf_TRZHA20008";
  337. tranf_submit(oParam);
  338. // 지식공유 등록 여부 check
  339. var oParam = {};
  340. oParam.id = "TRZHA20210";
  341. oParam.service = "reqprgmapp.ReqPrgm";
  342. oParam.method = "reqGetKnowhowChk";
  343. oParam.inds = "req=ds_send_search";
  344. oParam.outds = "ds_temp_knowhowchk=knowhowchk";
  345. oParam.async = true;
  346. tranf_submit(oParam);
  347. }
  348. }
  349. function cf_TRZHA20201(sSvcId, nErrorCode, sErrorMsg) {
  350. if(nErrorCode < 0) return;
  351. var gubun = ds_main_aprvmsglist.getColumn(0, "gubun");
  352. if(gubun == "01"){
  353. misfComboComCdList("C0114" ,cmb_reqgb, "N"); // 프로그램개발요청구분
  354. ds_init_cmb_reqgb_comcodelist.deleteRow(1);
  355. ds_init_cmb_reqgb_comcodelist.applyChange();
  356. }else if(gubun == "02"){
  357. misfComboComCdList("C0113" ,cmb_reqgb, "N"); // 통계요청구분
  358. }
  359. }
  360. function cf_TRZHA20008(sSvcId, nErrorCode, sErrorMsg) {
  361. if(nErrorCode < 0) return;
  362. ds_init_prgmrinfo.enableevent = false;
  363. ds_init_prgmrinfo.filter("accptyn == 'Y'");
  364. ds_init_chrginfo.copyData(ds_init_prgmrinfo, true); // 담당자 정보
  365. ds_init_prgmrinfo.filter("");
  366. ds_init_prgmrinfo.enableevent = true;
  367. }
  368. function ipt_work_onclick(obj:Button, e:ClickEventInfo)
  369. {
  370. fGetHierWork_local();
  371. }
  372. function cmb_chgrid_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  373. {
  374. ds_main_aprvmsglist.setColumn(0, "chrgtelno", ds_init_chrginfo.lookup("userid", ds_main_aprvmsglist.getColumn(0, "chrgid"), "telno"));
  375. }
  376. function button5_onclick(obj:Button, e:ClickEventInfo)
  377. {
  378. fOpenknowhow();
  379. }
  380. function fGetHierWork_local(){
  381. frmf_modal("SPZHA20301", "SPZHA20301", null, null, null, null, null, null, null, null, null, null, "P");
  382. if(!utlf_isNull(frmf_getParameter("SPZHA20301_PARM_setno3"))){
  383. ds_main_aprvmsglist.setColumn(0, "workcd1", frmf_getParameter("SPZHA20301_PARM_setno1"));
  384. ds_main_aprvmsglist.setColumn(0, "workcd2", frmf_getParameter("SPZHA20301_PARM_setno2"));
  385. ds_main_aprvmsglist.setColumn(0, "workcd3", frmf_getParameter("SPZHA20301_PARM_setno3"));
  386. ds_main_aprvmsglist.setColumn(0, "worknm1", frmf_getParameter("SPZHA20301_PARM_setnm1"));
  387. ds_main_aprvmsglist.setColumn(0, "worknm2", frmf_getParameter("SPZHA20301_PARM_setnm2"));
  388. ds_main_aprvmsglist.setColumn(0, "worknm3", frmf_getParameter("SPZHA20301_PARM_setnm3"));
  389. }
  390. }
  391. // 지식공유 등록 여부 체크 - 2013.05.27_손성훈
  392. function fKnowhowchk(){
  393. if(ds_main_aprvmsglist.getColumn(0, "gubun") == "02") { // 통계.
  394. // 지식공유 프로그램에서 통계자료 입력여부 확인/제어.(2013.05.24 기반기술_손성훈)
  395. var sReqgb = ds_main_aprvmsglist.getColumn(0, "reqgb");
  396. var sResult = sReqgb.substring(0,1);
  397. if (sResult == "0" && ds_param.getColumn(0, "gubun") == "A0"){ // 담당결제일 때만 지식 공유 여부 확인
  398. var oParam = {};
  399. oParam.id = "TRZHA20210";
  400. oParam.service = "reqprgmapp.ReqPrgm";
  401. oParam.method = "reqGetKnowhowChk";
  402. oParam.inds = "req=ds_send_search";
  403. oParam.outds = "ds_temp_knowhowchk=knowhowchk";
  404. oParam.async = false;
  405. tranf_submit(oParam);
  406. if (ds_temp_knowhowchk.getColumn(0, "knowhyn") == "N"){
  407. if (sysf_messageBox( "지식공유 등록되지 않은 '통계'건 입니다.\n지식공유 시스템에 ", "Q014") == "6"){
  408. fOpenknowhow();
  409. return false;
  410. }
  411. }
  412. }
  413. }
  414. return true;
  415. }
  416. function fOpenknowhow(){
  417. var sKnowhyn = ds_temp_knowhowchk.getColumn(0, "knowhyn");
  418. var sKncd = ds_temp_knowhowchk.getColumn(0, "kncd");
  419. var sReqno = ds_send_search.getColumn(0, "reqno");
  420. if (sKnowhyn == "Y"){
  421. frmf_setParameter("SMZHI10100_PARM_GUBUN", "SRCH");
  422. frmf_setParameter("SMZHI10100_PARM_kncd", sKncd);
  423. }else if (sKnowhyn === "N"){
  424. frmf_setParameter("SMZHI10100_PARM_GUBUN", "INS");
  425. frmf_setParameter("SMZHI10100_PARM_REQNO", sReqno);
  426. }
  427. frmf_modal("SMZHI10100", "SMZHI10100", null, null, null, null, null, null, null, null, null, null, "M");
  428. var oParam = {};
  429. oParam.id = "TRZHA20210";
  430. oParam.service = "reqprgmapp.ReqPrgm";
  431. oParam.method = "reqGetKnowhowChk";
  432. oParam.inds = "req=ds_send_search";
  433. oParam.outds = "ds_temp_knowhowchk=knowhowchk";
  434. oParam.async = true;
  435. tranf_submit(oParam);
  436. }
  437. function btn_prgmradd_onclick(obj:Button, e:ClickEventInfo)
  438. {
  439. ds_hidden_prgmrinfo.clearData();
  440. ds_hidden_prgmrinfo.addRow();
  441. var recv_list = "userid,usernm";
  442. misfOpenPopUpList("70", ds_hidden_prgmrinfo, "", recv_list, sysf_getUserInfo("posinstcd"), "instcd");
  443. var userid = ds_hidden_prgmrinfo.getColumn(0, "userid");
  444. var usernm = ds_hidden_prgmrinfo.getColumn(0, "usernm");
  445. if(!utlf_isNull(userid)){
  446. var findRow = ds_main_reqprgmrlist.findRow("userid", userid);
  447. if(findRow > -1){
  448. sysf_messageBox("중복된 데이터가 ","I010");
  449. return false;
  450. }
  451. var row = ds_main_reqprgmrlist.addRow();
  452. ds_main_reqprgmrlist.setColumn(row, "userid", userid);
  453. ds_main_reqprgmrlist.setColumn(row, "usernm", usernm);
  454. ds_main_reqprgmrlist.setColumn(row, "reqno", ds_main_aprvmsglist.getColumn(0, "reqno"));
  455. }
  456. }
  457. function btn_prgmrdel_onclick(obj:Button, e:ClickEventInfo)
  458. {
  459. if(ds_main_reqprgmrlist.rowcount < 1){
  460. sysf_messageBox("삭제할","E013");
  461. return false;
  462. }
  463. var row = ds_main_reqprgmrlist.rowposition;
  464. var status = ds_main_reqprgmrlist.getRowType(row);
  465. if(status == 2){
  466. ds_main_reqprgmrlist.deleteRow(row);
  467. }else{
  468. var arrPostion = new Array();
  469. arrPostion[0] = row;
  470. grdf_setStatus(grd_prgmr, "D", arrPostion);
  471. }
  472. }
  473. function ipt_newdevcntinpt_onkeyup(obj:MaskEdit, e:KeyEventInfo)
  474. {
  475. obj.updateToDataset();
  476. fDevcntint();
  477. }
  478. function btn_aprv1_onclick(obj:Button, e:ClickEventInfo)
  479. {
  480. // 요청구분 체크
  481. var reqgb = ds_main_aprvmsglist.getColumn(0, "reqgb");
  482. if(utlf_isNull(reqgb) || utlf_isNull(reqgb.getTrim()))
  483. {
  484. sysf_messageBox("요청구분은 ", "I003");
  485. cmb_reqgb.setFocus();
  486. return;
  487. }
  488. // 업무구분 체크
  489. var worknm1 = ds_main_aprvmsglist.getColumn(0, "worknm1");
  490. if(utlf_isNull(worknm1) || utlf_isNull(worknm1.getTrim()))
  491. {
  492. sysf_messageBox("업무구분은 ", "I003");
  493. return;
  494. }
  495. // 담당자전화 체크
  496. var chrgtelno = ds_main_aprvmsglist.getColumn(0, "chrgtelno");
  497. if(utlf_isNull(chrgtelno) || utlf_isNull(chrgtelno.getTrim()))
  498. {
  499. sysf_messageBox("담당자전화는 ", "I003");
  500. ipt_chrgtelno.setFocus();
  501. return;
  502. }
  503. if("A0" == ds_param.getColumn(0, "gubun")){
  504. // 착수예정일자 체크
  505. var eststartdd = ds_main_aprvmsglist.getColumn(0, "eststartdd");
  506. if(utlf_isNull(eststartdd) || utlf_isNull(eststartdd.getTrim()))
  507. {
  508. sysf_messageBox("착수예정일자는 ", "I003");
  509. return;
  510. }
  511. // 착수예정일자 체크
  512. var estenddd = ds_main_aprvmsglist.getColumn(0, "estenddd");
  513. if(utlf_isNull(estenddd) || utlf_isNull(estenddd.getTrim()))
  514. {
  515. sysf_messageBox("완료예정일자는 ", "I003");
  516. return;
  517. }
  518. if (eststartdd > estenddd){
  519. sysf_messageBox("'완료예정일자'는 '착수예정일자' 이전일 수 ", "I004");
  520. ipt_estenddd_a.setFocus();
  521. return;
  522. }
  523. }
  524. // 개발자목록
  525. if(ds_main_reqprgmrlist.rowcount < 1){
  526. sysf_messageBox("개발자목록은 최소 1명 이상이 ","I003");
  527. return;
  528. }
  529. //fChrgAprv("A0");
  530. ds_send_save.copyData(ds_main_aprvmsglist);
  531. dsf_createDs("ds_send_save_prgmrlist");
  532. var oDsUpdate = grdf_getGridUpdateData(grd_prgmr);
  533. grdf_setStatusColumn(oDsUpdate, "sm");
  534. ds_send_save_prgmrlist.copyData(oDsUpdate);
  535. ds_send_save.setColumn(0, "gubun", ds_param.getColumn(0, "gubun"));
  536. ds_send_save.addColumn("apprusers", "string");
  537. ds_send_save.setColumn(0, "apprusers", ds_param.getColumn(0, "apprusers")); // 팀장, 과장 결재 라인
  538. if ( !fCntCheckinpt() ){ //건수 자동계산 + 건수 확인안내 + 건수 입력 체크
  539. return;
  540. }
  541. if (fKnowhowchk()){
  542. var oParam = {};
  543. oParam.id = "TXZHA20201";
  544. oParam.service = "reqprgmapp.ReqPrgm";
  545. oParam.method = "reqSetAprvmsg";
  546. oParam.inds = "req=ds_send_save prgmrlist=ds_send_save_prgmrlist";
  547. oParam.async = false;
  548. oParam.callback = "cf_TXZHA20201";
  549. tranf_submit(oParam);
  550. }
  551. }
  552. function cf_TXZHA20201(sSvcId, nErrorCode, sErrorMsg) {
  553. if(nErrorCode < 0) return;
  554. // 부서장 결제 시 바로 화면 종료
  555. var apprusers = ds_param.getColumn(0, "apprusers");
  556. sysf_trace("1 : " + apprusers);
  557. if(ds_param.getColumn(0, "gubun") == "A2" || (!utlf_isNull(apprusers) && (apprusers.indexOf("A2") > -1))) {
  558. sysf_trace("2 : " + apprusers);
  559. //sysf_messageBox("정상적으로 ","I001");
  560. this.close("direct_close");
  561. } else {
  562. sysf_trace("3 : " + apprusers);
  563. opener.fSearch();
  564. sysf_messageBox("정상적으로 ","I001");
  565. this.close();
  566. }
  567. }
  568. function fDevcntint(){
  569. var newdevcnt = ds_main_aprvmsglist.getColumn(0, "newdevcnt");
  570. var mdfydevcnt = ds_main_aprvmsglist.getColumn(0, "mdfydevcnt");
  571. var statdevcnt = ds_main_aprvmsglist.getColumn(0, "statdevcnt");
  572. var devcnt = parseInt(newdevcnt) + parseInt(mdfydevcnt) + parseInt(statdevcnt);
  573. ds_main_aprvmsglist.setColumn(0, "devcnt", devcnt);
  574. }
  575. function fCntCheckinpt(){
  576. // 개발건수 입력값 자동 계산.
  577. fDevcntint();
  578. // 개발/수정/통계 외 건수 확인 안내
  579. if(ds_main_aprvmsglist.getColumn(0, "devcnt") > 0 ){
  580. var rtnValue = sysf_messageBox("정확한 '개발/통계 건 수' 집계를 위해\n입력하신 실적건수가 구분별로 정확한지 확인 바랍니다!\n\n입력한 건수 정보가 정확하면 통과: 예(Y)\n입력한 건수 정보 수정이 필요하면 취소: 아니오(N) ", "Q");
  581. if (rtnValue == 7){
  582. return false;
  583. }
  584. }
  585. // 개발건수 입력 체크.
  586. if (ds_main_aprvmsglist.getColumn(0, "devcnt") < 1 ){
  587. sysf_messageBox("실적건수가 입력되지 않았습니다.\n'신규 개발건/수정 개발건/통계 외 건' 입력 후 저장하십시요", "E");
  588. return false;
  589. }
  590. return true;
  591. }
  592. function btn_cancel_onclick(obj:Button, e:ClickEventInfo)
  593. {
  594. this.close();
  595. }]]></Script>
  596. </Form>
  597. </FDL>