SPICU01600_인건비계획.xrw 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>인건비계획</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <list>
  11. <grid1>
  12. <usernm/>
  13. <userid/>
  14. <sosok/>
  15. <rrgstno1/>
  16. <rrgstno2/>
  17. <bankcd/>
  18. <acntno/>
  19. <depor/>
  20. <workplceaddr/>
  21. <cmpytelno/>
  22. <email/>
  23. <subjid/>
  24. <instcd/>
  25. <enddd/>
  26. <userseqno/>
  27. <subjid/>
  28. <instcd/>
  29. <userkind/>
  30. <execdt/>
  31. <conreseryn/>
  32. </grid1>
  33. </list>
  34. <list2>
  35. <grid2>
  36. <chk/>
  37. <paydd/>
  38. <payamt/>
  39. <cretdg/>
  40. <cmt/>
  41. <crccaprvyn/>
  42. <execflag/>
  43. <subjid/>
  44. <instcd/>
  45. <userid/>
  46. <cretdg/>
  47. <conreseryn/>
  48. </grid2>
  49. </list2>
  50. <list3>
  51. <grid3>
  52. <userid/>
  53. <usernm/>
  54. <paydd/>
  55. <payamt/>
  56. <cretdg/>
  57. <cmt/>
  58. <crccaprvyn/>
  59. <execflag/>
  60. <subjid/>
  61. <instcd/>
  62. <conreseryn/>
  63. </grid3>
  64. </list3>
  65. </main>
  66. <send>
  67. <data>
  68. <subjid/>
  69. <instcd/>
  70. <apprvyn/>
  71. </data>
  72. <data1>
  73. <subjid/>
  74. <instcd/>
  75. <userid/>
  76. </data1>
  77. <startdd/>
  78. <enddd/>
  79. <data2>
  80. <subjid/>
  81. <instcd/>
  82. <detlitemexpendcd/>
  83. </data2>
  84. <grid2/>
  85. </send>
  86. <senddata>
  87. <execdata>
  88. <prsnpaydetl/>
  89. <saveflag/>
  90. <subjid/>
  91. <userid/>
  92. <paydd/>
  93. <instcd/>
  94. <appdg/>
  95. <conreseryn/>
  96. </execdata>
  97. <grid1/>
  98. </senddata>
  99. <init>
  100. <cmb_info>
  101. <initbank>
  102. <cdid/>
  103. <cdnm/>
  104. </initbank>
  105. </cmb_info>
  106. <balanceinfo>
  107. <bal/>
  108. </balanceinfo>
  109. <appdg/>
  110. <expendcdinfo>
  111. <expendcdlist>
  112. <detlitemexpendcd/>
  113. <detlitemexpendnm/>
  114. <itemexpendcd/>
  115. </expendcdlist>
  116. </expendcdinfo>
  117. </init>
  118. <hidden>
  119. <source>
  120. <seqno/>
  121. </source>
  122. </hidden>
  123. <costinput>
  124. <detlitemexpendcd/>
  125. <confpurcusedd/>
  126. <payflagcd>2</payflagcd>
  127. <costuserid/>
  128. <costusernm/>
  129. <rcpttypecd/>
  130. <bizmngrgstno/>
  131. <totcost/>
  132. <suplamtincmtax/>
  133. <amtresdntax/>
  134. <bankcd/>
  135. <acntno/>
  136. <depor/>
  137. <cmt/>
  138. <natiforgnflagcd/>
  139. <itemexpendcd/>
  140. <subjid/>
  141. <appdg/>
  142. <instcd/>
  143. <seqno/>
  144. <iudgb/>
  145. <nm/>
  146. <detlitemexpendnm/>
  147. <silamt/>
  148. <needrate>80</needrate>
  149. <needcost/>
  150. <taxrate>20</taxrate>
  151. <incomeamt/>
  152. <supcost/>
  153. <addtax/>
  154. </costinput>
  155. </root>
  156. </instance>
  157. <script type="javascript" ev:event="xforms-ready">
  158. <![CDATA[
  159. zbcfGetCodeList( new Array("R0001"), new Array("/root/init/cmb_info/initbank") );
  160. submit("TRZBC00101", false);
  161. submit("TRICU01101", false);
  162. model.removeNodeset("/root/main/list/grid1");
  163. model.removeNodeset("/root/main/list2/grid2");
  164. model.removeNodeset("/root/main/list3/grid3");
  165. submit("TRICU01601", false);
  166. submit("TRICU01603", false);
  167. if (model.getValue("/root/send/data/apprvyn") != "T"){
  168. btn_save.disabled = true;
  169. }
  170. model.setValue("/root/send/data2/instcd", model.getValue("/root/send/data/instcd"));
  171. model.setValue("/root/send/data2/subjid", model.getValue("/root/send/data/subjid"));
  172. model.setValue("/root/send/data2/detlitemexpendcd", '10002');
  173. submit("TRICU01103");
  174. model.refresh();
  175. ]]>
  176. </script>
  177. <submission id="TRICU01101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data1" replace="instance" resultref="/root/init/expendcdinfo"/>
  178. <submission id="TRICU01601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/main/list"/>
  179. <submission id="TRICU01602" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data1" replace="instance" resultref="/root/main/list2"/>
  180. <submission id="TRICU01603" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/init/appdg"/>
  181. <submission id="TXICU01601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/senddata/execdata" replace="instance" resultref="/root/hidden/source"/>
  182. <submission id="TXICU01604" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/senddata/execdata" replace="instance" resultref="/root/hidden/source"/>
  183. <submission id="TRICU01103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data2" replace="instance" resultref="/root/init/balanceinfo"/>
  184. <submission id="TRZBC00101"/>
  185. <submission id="TXICU01602" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/grid2" replace="instance"/>
  186. <submission id="TXICU01603" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/senddata/grid1" resultref="/root/main/list"/>
  187. </model>
  188. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  189. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  190. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  191. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  192. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  193. <script type="javascript" src="../../../com/zipcodeweb/js/ZBP001.js"/>
  194. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  195. <script type="javascript">
  196. <![CDATA[
  197. function readfunc(){
  198. model.removeNodeset("/root/main/list2/grid2");
  199. submit("TRICU01602");
  200. for (var i = 1; i < datagrid1.rows; i ++){
  201. if (model.getValue("/root/main/list2/grid2[" + i + "]/crccaprvyn") == "Y" || model.getValue("/root/main/list2/grid2[" + (datagrid1.row-1) + "]/execfalg") == "Y"){
  202. datagrid1.isReadOnly(i, datagrid1.colRef("payamt")) = true;
  203. datagrid1.isReadOnly(i, datagrid1.colRef("cmt")) = true;
  204. }else{
  205. datagrid1.isReadOnly(i, datagrid1.colRef("payamt")) = false;
  206. datagrid1.isReadOnly(i, datagrid1.colRef("cmt")) = false;
  207. }
  208. }
  209. for(var i = 1; i <= datagrid1.rows; i++)
  210. {
  211. if(model.getValue("/root/main/list2/grid2[" + i + "]/execflag") == "E")
  212. {
  213. datagrid1.cellAttribute("editable", i, 2, i, 2) = false;
  214. datagrid1.isReadOnly(i, 1) = true;
  215. }
  216. // ***** kjw 추가(2009.11.24, 그리드 2번째의 계약연구원 처리) *****
  217. if (i < datagrid1.rows)
  218. model.makeValue("/root/main/list2/grid2[" + i + "]/conreseryn", model.getValue("/root/main/list/grid1["+ datagrid3.row +"]/conreseryn"));
  219. }
  220. if (datagrid1.rows> 1 ){
  221. for (var i = 1; i < datagrid1.rows; i ++){
  222. if(model.getValue("/root/main/list2/grid2[" + i + "]/chk") == "Y" && model.getValue("/root/main/list2/grid2[" + i + "]/execflag") == "E")
  223. {
  224. datagrid1.isReadOnly(i, 1) = true;
  225. datagrid1.isReadOnly(i, 2) = true;
  226. datagrid1.isReadOnly(i, 3) = true;
  227. datagrid1.isReadOnly(i, 4) = true;
  228. datagrid1.isReadOnly(i, 5) = true;
  229. datagrid1.isReadOnly(i, 6) = true;
  230. datagrid1.isReadOnly(i, 7) = true;
  231. } else {
  232. datagrid1.isReadOnly(i, 1) = false;
  233. datagrid1.isReadOnly(i, 2) = false;
  234. datagrid1.isReadOnly(i, 3) = false;
  235. datagrid1.isReadOnly(i, 4) = false;
  236. datagrid1.isReadOnly(i, 5) = false;
  237. datagrid1.isReadOnly(i, 6) = true;
  238. datagrid1.isReadOnly(i, 7) = true;
  239. }
  240. }
  241. }
  242. model.refresh();
  243. }
  244. function Execdata(){
  245. if (datacheck() == false){
  246. return;
  247. }
  248. model.refresh();
  249. var update = getGridUpdateData(datagrid1);
  250. model.setValue("/root/senddata/execdata/prsnpaydetl", update);
  251. if (submit("TXICU01601")){
  252. readfunc();
  253. if (datagrid1.rows> 1 ){
  254. for (var i = 1; i < datagrid1.rows; i ++){
  255. if(model.getValue("/root/main/list2/grid2[" + i + "]/chk") == "Y" && model.getValue("/root/main/list2/grid2[" + i + "]/execflag") == "E")
  256. {
  257. datagrid1.isReadOnly(i, 1) = true;
  258. datagrid1.isReadOnly(i, 2) = true;
  259. datagrid1.isReadOnly(i, 3) = true;
  260. datagrid1.isReadOnly(i, 4) = true;
  261. datagrid1.isReadOnly(i, 5) = true;
  262. datagrid1.isReadOnly(i, 6) = true;
  263. datagrid1.isReadOnly(i, 7) = true;
  264. } else {
  265. datagrid1.isReadOnly(i, 1) = false;
  266. datagrid1.isReadOnly(i, 2) = false;
  267. datagrid1.isReadOnly(i, 3) = false;
  268. datagrid1.isReadOnly(i, 4) = false;
  269. datagrid1.isReadOnly(i, 5) = true;
  270. datagrid1.isReadOnly(i, 6) = true;
  271. }
  272. }
  273. }
  274. }
  275. }
  276. function datacheck(){
  277. for (var i = 1; i < datagrid1.rows; i ++){
  278. var syymm = model.getValue("/root/main/list2/grid2[" + i + "]/paydd");
  279. /* if ((parseInt(syymm.substring(5, 7)) < 0) || (parseInt(syymm.substring(5, 7)) > 12)){
  280. messageBox(i + "번째 지급일의 월이 잘못 입력되었습니다.", "E999");
  281. return false;
  282. }
  283. if (syymm == ""){
  284. messageBox(i + "번째 지급일은 필수 입력항목입니다.", "E999");
  285. return false;
  286. } */
  287. if (model.getValue("/root/main/list2/grid2[" + i + "]/payamt") == "" || model.getValue("/root/main/list2/grid2[" + i + "]/payamt") == "0"){
  288. messageBox(i + "번째 지급액은 필수 입력항목입니다.", "E999");
  289. return false;
  290. }
  291. var j = parseInt(i) + 1;
  292. if (j != datagrid1.rows){
  293. for (var k = j; k < datagrid1.rows; k ++){
  294. var syymm1 = model.getValue("/root/main/list2/grid2[" + k + "]/paydd");
  295. if (syymm1 == syymm ){
  296. messageBox(k + "번째 지급일이 중복 입력되었습니다.", "E999");
  297. return false;
  298. }
  299. }
  300. }
  301. }
  302. /* if (model.getXPathValue("sum(/root/main/list2/grid2/payamt)") > model.getValue("/root/init/balanceinfo/bal")){
  303. messageBox("인건비총액은 잔액보다 클 수 없습니다.", "E999");
  304. return false;
  305. } */
  306. }
  307. function trim(data){
  308. return data.replace(/(^\s*)|(\s*$)/g, "");
  309. }
  310. ]]>
  311. </script>
  312. </xhtml:head>
  313. <xhtml:body pagewidth="880" pageheight="780" guideline="1,1195;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  314. <caption id="caption1" class="tit_2" style="left:0px; top:11px; width:185px; height:13px; ">인건비 지급계획</caption>
  315. <button id="button3" class="btn2_letter3" navindex="32" style="left:805px; top:745px; width:53px; height:19px; ">
  316. <caption>닫기</caption>
  317. <script type="javascript" ev:event="DOMActivate">
  318. <![CDATA[
  319. window.close();
  320. ]]>
  321. </script>
  322. </button>
  323. <button id="btn_save" class="btn5_letter3" disabled="true" navindex="30" _auth="X" style="left:805px; top:259px; width:53px; height:19px; ">
  324. <caption>저장</caption>
  325. <script type="javascript" ev:event="DOMActivate">
  326. <![CDATA[
  327. for(var i = 1; i <= datagrid1.row ; i++)
  328. {
  329. if(model.getValue("/root/main/list2/grid2[" + i + "]/chk") == "Y" && model.getValue("/root/main/list2/grid2[" + i + "]/execflag") != "E")
  330. {
  331. model.setValue("/root/main/list2/grid2[" + i + "]/execflag", "Y");
  332. if(datagrid1.rowStatus(i) == 0) datagrid1.addStatus(i, "update");
  333. }
  334. }
  335. model.setValue("/root/senddata/execdata/saveflag", "P"); // 연구비 신청 E, 저장 P
  336. Execdata();
  337. // 계약연구원은 수정 불가(2009.11.24)
  338. datagrid1.colDisabled(datagrid1.colRef("conreseryn")) = true;
  339. ]]>
  340. </script>
  341. </button>
  342. <datagrid id="datagrid3" nodeset="/root/main/list/grid1" caption="역할^ID^성명^사번^계약연구원^소속^주민등록번호^주민등록번호^은행명^계좌번호^예금주^주소(실제우편물 수신처)^연락처^이메일" colsep="^" colwidth="126, 83, 78, 0, 72, 75, 58, 60, 120, 138, 78, 275, 131, 168, 100, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:5px; top:30px; width:855px; height:180px; ">
  343. <col disabled="true" ref="userkind" type="combo">
  344. <choices>
  345. <item>
  346. <label>책임</label>
  347. <value>1</value>
  348. </item>
  349. <item>
  350. <label>공동</label>
  351. <value>2</value>
  352. </item>
  353. <item>
  354. <label>코디네이터</label>
  355. <value>3</value>
  356. </item>
  357. <item>
  358. <label>관리약사</label>
  359. <value>4</value>
  360. </item>
  361. </choices>
  362. </col>
  363. <col ref="userid"/>
  364. <col ref="usernm" type="input"/>
  365. <col ref="userid"/>
  366. <col checkvalue="Y,N" disabled="true" ref="conreseryn" type="checkbox"/>
  367. <col ref="sosok" type="input"/>
  368. <col ref="rrgstno1" type="input" maxlength="6"/>
  369. <col ref="rrgstno2" type="input" maxlength="7"/>
  370. <col class="gridcombo" ref="bankcd" type="combo">
  371. <choices>
  372. <itemset nodeset="/root/init/cmb_info/initbank/R0001">
  373. <label ref="cdnm"/>
  374. <value ref="cdid"/>
  375. </itemset>
  376. </choices>
  377. </col>
  378. <col class="gridinput" ref="acntno" type="input"/>
  379. <col class="gridinput" ref="depor" type="input"/>
  380. <col class="gridinput" ref="workplceaddr" type="input" maxlength="150"/>
  381. <col class="gridinput" ref="cmpytelno" type="input"/>
  382. <col class="gridinput" ref="email" type="input"/>
  383. <col ref="subjid" visibility="hidden"/>
  384. <col ref="instcd" visibility="hidden"/>
  385. <col ref="enddd" visibility="hidden"/>
  386. <col ref="userseqno" visibility="hidden"/>
  387. <col ref="subjid" visibility="hidden"/>
  388. <col ref="instcd" visibility="hidden"/>
  389. <script type="javascript" ev:event="onclick">
  390. <![CDATA[
  391. //스크롤 조작시 온클릭 이벤트 안타도록
  392. if( isDataCell() ){
  393. if ( datagrid3.col == datagrid3.colRef("usernm") ) {
  394. datagrid3.editCell();
  395. //return;
  396. }
  397. if ( datagrid3.col == datagrid3.colRef("rrgstno1") ) {
  398. datagrid3.editCell();
  399. //return;
  400. }
  401. if ( datagrid3.col == datagrid3.colRef("rrgstno2") ) {
  402. datagrid3.editCell();
  403. //return;
  404. }
  405. if ( datagrid3.col == datagrid3.colRef("sosok") ) {
  406. datagrid3.editCell();
  407. //return;
  408. }
  409. if ( datagrid3.col == datagrid3.colRef("workplceaddr") ) {
  410. datagrid3.editCell();
  411. //return;
  412. }
  413. if ( datagrid3.col == datagrid3.colRef("cmpytelno") ) {
  414. datagrid3.editCell();
  415. //return;
  416. }
  417. if ( datagrid3.col == datagrid3.colRef("email") ) {
  418. datagrid3.editCell();
  419. //return;
  420. }
  421. if ( datagrid3.col == datagrid3.colRef("depor") ) {
  422. datagrid3.editCell();
  423. //return;
  424. }
  425. if ( datagrid3.col == datagrid3.colRef("bankcd") ) {
  426. datagrid3.editCell();
  427. //return;
  428. }
  429. if ( datagrid3.col == datagrid3.colRef("acntno") ) {
  430. datagrid3.editCell();
  431. //return;
  432. }
  433. model.setValue("/root/send/data1/subjid", model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/subjid"));
  434. model.setValue("/root/send/data1/instcd", model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/instcd"));
  435. model.setValue("/root/send/data1/userid", model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/userid"));
  436. model.setValue("/root/send/enddd", model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/enddd"));
  437. readfunc();
  438. if (datagrid3.rows > 0){
  439. button1.disabled = false;
  440. button2.disabled = false;
  441. btn_save.disabled = false;
  442. }
  443. }
  444. for(var j=1; j<datagrid2.rows; j++){
  445. for(var i=1; i<datagrid1.rows; i++){
  446. if ( model.getValue("/root/main/list2/grid2["+ i +"]/userid")== model.getValue("/root/main/list3/grid3["+ j +"]/userid") &&
  447. model.getValue("/root/main/list2/grid2["+ i +"]/paydd") == model.getValue("/root/main/list3/grid3["+ j +"]/paydd")) {
  448. model.setValue("/root/main/list2/grid2["+ i +"]/chk","Y");
  449. }
  450. }
  451. }
  452. // 계약연구원은 수정 불가(2009.11.24)
  453. datagrid1.colDisabled(datagrid1.colRef("conreseryn")) = true;
  454. model.refresh();
  455. ]]>
  456. </script>
  457. </datagrid>
  458. <datagrid id="datagrid1" nodeset="/root/main/list2/grid2" caption="선택^지급일^계약연구원^지급액^차수^비고^승인여부^생성여부^생성일자^caption1^caption2^caption3" colsep="^" colwidth="39, 100, 72, 100, 35, 318, 69, 64, 85, 25, 22, 26, 100" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:5px; top:280px; width:855px; height:220px; ">
  459. <col checkvalue="Y,N" disabled="false" ref="chk" type="checkbox"/>
  460. <col disabled="true" ref="paydd" type="inputdate" format="yyyy-mm-dd" style="text-align:center; "/>
  461. <col checkvalue="Y,N" disabled="true" ref="conreseryn" type="checkbox"/>
  462. <col ref="payamt" type="input" format="(-)#,###" style="text-align:right; "/>
  463. <col ref="cretdg" style="text-align:center; "/>
  464. <col ref="cmt" type="input" style="text-align:left; "/>
  465. <col disabled="true" ref="crccaprvyn" type="combo">
  466. <choices>
  467. <item>
  468. <label>승인</label>
  469. <value>Y</value>
  470. </item>
  471. <item>
  472. <label>미승인</label>
  473. <value>N</value>
  474. </item>
  475. <item>
  476. <label>반려</label>
  477. <value>R</value>
  478. </item>
  479. <item>
  480. <label>보류</label>
  481. <value>H</value>
  482. </item>
  483. </choices>
  484. </col>
  485. <col disabled="true" ref="execflag" type="combo">
  486. <choices>
  487. <item>
  488. <label>생성</label>
  489. <value>E</value>
  490. </item>
  491. <item>
  492. <label>미생성</label>
  493. <value>Y</value>
  494. </item>
  495. <item>
  496. <label>미생성</label>
  497. <value>N</value>
  498. </item>
  499. </choices>
  500. </col>
  501. <col ref="execdt" format="yyyy-mm-dd"/>
  502. <col ref="subjid" visibility="hidden"/>
  503. <col ref="instcd" visibility="hidden"/>
  504. <col ref="userid" visibility="hidden"/>
  505. <col ref="cretdg" visibility="hidden"/>
  506. <script type="javascript" ev:event="xforms-value-changed">
  507. <![CDATA[
  508. if ( model.getValue("/root/main/list/grid1[" + datagrid3.row +"]/usernm") == "" ){
  509. messageBox("인건비생성 대상자를 선택하십시요.", "E999");
  510. return;
  511. }
  512. if ( (model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/rrgstno1") + model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/rrgstno2")).length != 13 ) {
  513. messageBox(model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/usernm")+
  514. "님 주민번호 입력은 필수입니다." , "E999");
  515. return;
  516. }
  517. if ( model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/bankcd")=="" ||
  518. model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/acntno")=="" ||
  519. model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/depor")=="" ) {
  520. messageBox(model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/usernm")+
  521. "님 은행명,계좌번호,예금주 입력은 필수입니다." , "E999");
  522. return;
  523. }
  524. if ( model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/workplceaddr") == "" ) {
  525. messageBox(model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/usernm")+
  526. "님 주소(실제우편물수령지) 입력은 필수입니다." , "E999");
  527. return;
  528. }
  529. if ( (datagrid1.rows-datagrid1.fixedRows) > 0 ) {
  530. model.setValue("/root/send/startdd", model.getValue("/root/main/list2/grid2["+(datagrid1.rows-1)+"]/paydd"));
  531. }
  532. for(var i=1; i<datagrid1.rows; i++){
  533. if ( datagrid1.valueMatrix(i, datagrid1.colRef("chk")) == 'Y' && model.getValue("/root/main/list2/grid2["+ i +"]/execflag") != 'E') {
  534. model.setValue("/root/main/list2/grid2["+ i +"]/execflag", "Y");
  535. } else if(model.getValue("/root/main/list2/grid2["+ i +"]/execflag") != 'E') {
  536. model.setValue("/root/main/list2/grid2["+ i +"]/execflag", "N");
  537. }
  538. }
  539. if ( datagrid1.col == datagrid1.colRef("chk") && model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/chk") == "Y") {
  540. datagrid2.addRow();
  541. model.setValue("/root/main/list3/grid3["+(datagrid2.rows-1)+"]/userid", model.getValue("/root/main/list/grid1["+datagrid3.row+"]/userid"));
  542. model.setValue("/root/main/list3/grid3["+(datagrid2.rows-1)+"]/usernm", model.getValue("/root/main/list/grid1["+datagrid3.row+"]/usernm"));
  543. model.setValue("/root/main/list3/grid3["+(datagrid2.rows-1)+"]/paydd", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/paydd"));
  544. model.setValue("/root/main/list3/grid3["+(datagrid2.rows-1)+"]/payamt", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/payamt"));
  545. model.setValue("/root/main/list3/grid3["+(datagrid2.rows-1)+"]/cretdg", model.getValue("/root/init/appdg/item/appdg"));
  546. model.setValue("/root/main/list3/grid3["+(datagrid2.rows-1)+"]/cmt", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/cmt"));
  547. model.setValue("/root/main/list3/grid3["+(datagrid2.rows-1)+"]/crccaprvyn", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/crccaprvyn"));
  548. model.setValue("/root/main/list3/grid3["+(datagrid2.rows-1)+"]/execflag", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/execflag"));
  549. model.setValue("/root/main/list3/grid3["+(datagrid2.rows-1)+"]/subjid", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/subjid"));
  550. model.setValue("/root/main/list3/grid3["+(datagrid2.rows-1)+"]/instcd", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/instcd"));
  551. // ***** kjw 추가(2009.11.24, 계약연구원 항목 추가) *****
  552. model.setValue("/root/main/list3/grid3["+(datagrid2.rows-1)+"]/conreseryn", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/conreseryn"));
  553. datagrid2.colDisabled(datagrid2.colRef("conreseryn")) = true;
  554. // ***** 2009.11.24 끝 *****
  555. model.refresh();
  556. } else if ( datagrid1.col == datagrid1.colRef("chk") && model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/chk") == "N") {
  557. for(var j=1; j<datagrid2.rows; j++){
  558. if ( model.getValue("/root/main/list2/grid2["+ datagrid1.row +"]/userid")== model.getValue("/root/main/list3/grid3["+ j +"]/userid") &&
  559. model.getValue("/root/main/list2/grid2["+ datagrid1.row +"]/paydd") == model.getValue("/root/main/list3/grid3["+ j +"]/paydd")) {
  560. datagrid2.deleteRow( j );
  561. }
  562. }
  563. datagrid2.refresh();
  564. }
  565. var sumamt=0;
  566. for(var i=1; i<datagrid2.rows; i++){
  567. sumamt = sumamt + parseInt(model.getValue("/root/main/list3/grid3["+i+"]/payamt"));
  568. }
  569. model.setValue("/root/costinput/totcost", sumamt);
  570. model.refresh();
  571. ]]>
  572. </script>
  573. <script type="javascript" ev:event="onclick">
  574. <![CDATA[
  575. model.setValue("/root/senddata/execdata/subjid", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/subjid"));
  576. model.setValue("/root/senddata/execdata/instcd", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/instcd"));
  577. model.setValue("/root/senddata/execdata/userid", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/userid"));
  578. model.setValue("/root/senddata/execdata/paydd", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/paydd"));
  579. // ***** kjw 추가(2009.11.26 계약연구원 일 때 조회 팝업창 호출) *****
  580. if (datagrid1.col== 4)
  581. {
  582. if (model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/conreseryn") == "Y")
  583. {
  584. datagrid1.col = 1;
  585. window.load("SPICU02000_퇴직급여충당금.xrw","modal","stdycost01", "left:100; top:100; ");
  586. if (getParameter("payamt") != "")
  587. model.setValue("/root/main/list2/grid2["+ +datagrid1.row +"]/payamt", getParameter("payamt"));
  588. }
  589. else
  590. {
  591. if ( datagrid1.col == datagrid1.colRef("payamt") ) {
  592. datagrid1.editCell();
  593. }
  594. }
  595. }
  596. // ***** 2009.11.26 *****
  597. ]]>
  598. </script>
  599. </datagrid>
  600. <button id="button1" class="btn2_letter3" disabled="false" navindex="21" _auth="X" style="left:678px; top:259px; width:53px; height:19px; ">
  601. <caption>행추가</caption>
  602. <script type="javascript" ev:event="onclick">
  603. <![CDATA[
  604. datagrid1.addRow();
  605. var irow = datagrid1.row;
  606. model.setValue("/root/main/list2/grid2[" + irow + "]/subjid", model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/subjid"));
  607. model.setValue("/root/main/list2/grid2[" + irow + "]/instcd", model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/instcd"));
  608. model.setValue("/root/main/list2/grid2[" + irow + "]/userid", model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/userid"));
  609. model.setValue("/root/main/list2/grid2[" + irow + "]/conreseryn", model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/conreseryn"));
  610. model.setValue("/root/main/list2/grid2[" + irow + "]/crccaprvyn", "N");
  611. model.setValue("/root/main/list2/grid2[" + irow + "]/execflag", "N");
  612. datagrid1.colDisabled(datagrid1.colRef("crccaprvyn")) = true;
  613. datagrid1.colDisabled(datagrid1.colRef("conreseryn")) = true;
  614. datagrid1.refresh();
  615. return;
  616. if ( (model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/rrgstno1") + model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/rrgstno2")).length != 13 ) {
  617. messageBox(model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/usernm")+
  618. "님 주민번호 입력은 필수입니다." , "E999");
  619. return;
  620. }
  621. if ( model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/bankcd")=="" ||
  622. model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/acntno")=="" ||
  623. model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/depor")=="" ) {
  624. messageBox(model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/usernm")+
  625. "님 은행명,계좌번호,예금주 입력은 필수입니다." , "E999");
  626. return;
  627. }
  628. if ( model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/workplceaddr") == "" ) {
  629. messageBox(model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/usernm")+
  630. "님 주소(실제우편물수령지) 입력은 필수입니다." , "E999");
  631. return;
  632. }
  633. var rrgs = model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/rrgstno1") + model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/rrgstno2");
  634. if(!isResidentNo(rrgs)){ // 주민번호 유효성 체크
  635. messageBox(model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/usernm") + "님의 주민번호는 잘못된 주민번호","E008");
  636. return false;
  637. }
  638. datagrid1.addRow();
  639. var irow = datagrid1.row;
  640. model.setValue("/root/main/list2/grid2[" + irow + "]/subjid", model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/subjid"));
  641. model.setValue("/root/main/list2/grid2[" + irow + "]/instcd", model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/instcd"));
  642. model.setValue("/root/main/list2/grid2[" + irow + "]/userid", model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/userid"));
  643. model.setValue("/root/main/list2/grid2[" + irow + "]/conreseryn", model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/conreseryn"));
  644. model.setValue("/root/main/list2/grid2[" + irow + "]/crccaprvyn", "N");
  645. model.setValue("/root/main/list2/grid2[" + irow + "]/execflag", "N");
  646. datagrid1.colDisabled(datagrid1.colRef("crccaprvyn")) = true;
  647. datagrid1.colDisabled(datagrid1.colRef("conreseryn")) = true;
  648. datagrid1.refresh();
  649. ]]>
  650. </script>
  651. </button>
  652. <button id="button2" class="btn2_letter3" disabled="true" navindex="22" _auth="X" style="left:735px; top:259px; width:53px; height:19px; ">
  653. <caption>행삭제</caption>
  654. <script type="javascript" ev:event="onclick">
  655. <![CDATA[
  656. if (model.getValue("/root/main/list2/grid2[" +datagrid1.row + "]/execflag") == "E"){
  657. messageBox("승인된 자료는 행삭제할 수 없습니다.", "E999");
  658. return;
  659. }
  660. datagrid1.deleteItem(datagrid1.row);
  661. ]]>
  662. </script>
  663. </button>
  664. <button id="button4" class="btn2_letter5" disabled="false" navindex="21" _auth="X" style="left:590px; top:259px; width:75px; height:19px; ">
  665. <caption>일괄복사</caption>
  666. <script type="javascript" ev:event="onclick">
  667. <![CDATA[
  668. if ( (datagrid1.rows-datagrid1.fixedRows) == 0 ) {
  669. messageBox("한 줄 이상 입력되어야 합니다.(복사기준은 마지막 줄의 내용입니다.)", "E999");
  670. return;
  671. }
  672. for(var i = 1; i <= datagrid1.rows-1 ; i++)
  673. { if (model.getValue("/root/main/list2/grid2[" + i + "]/paydd") == '' ) {
  674. alert('i:' +i+' '+model.getValue("/root/main/list2/grid2[" + i + "]/paydd"));
  675. messageBox("지급일입력은 필수입니다.", "I999");
  676. return;
  677. }
  678. }
  679. var startdate = model.getValue("/root/main/list2/grid2["+(datagrid1.rows-1)+"]/paydd");
  680. var payamt = model.getValue("/root/main/list2/grid2["+(datagrid1.rows-1)+"]/payamt");
  681. if ( (payamt == 0 )||(payamt =='' )||(startdate == '') ) {
  682. messageBox("선택된 인건비내역의 지급일과 지급금액 입력은 필수입니다.", "I999");
  683. return;
  684. }
  685. var subjid = model.getValue("/root/main/list2/grid2["+(datagrid1.rows-1)+"]/subjid");
  686. var instcd = model.getValue("/root/main/list2/grid2["+(datagrid1.rows-1)+"]/instcd");
  687. var userid = model.getValue("/root/main/list2/grid2["+(datagrid1.rows-1)+"]/userid");
  688. var exMonth = (startdate).toDate("YYYYMMDD").getMonth();
  689. for ( var i= 0 ; (((startdate).toDate("YYYYMMDD")).getAddDate(i+1,"M")).getDateFormat("YYYYMMDD")<= model.getValue("/root/send/enddd") ; i++){
  690. datagrid1.addRow(true);
  691. var currentMonth = (startdate).toDate("YYYYMMDD").getAddDate(i+1,"M").getMonth();
  692. var currentDay;
  693. if(parseInt(exMonth) == 12 && parseInt(currentMonth) == 2)
  694. {
  695. currentDay = ((((startdate).toDate("YYYYMMDD")).getAddDate(i+1,"M")).getDateFormat("YYYYMMDD"));
  696. currentDay = currentDay.substring(1, 4) + "0131";
  697. }
  698. else if(parseInt(currentMonth) - parseInt(exMonth) > 1)
  699. {
  700. var tempYM = startdate.toDate("YYYYMMDD").getAddDate(i+1,"M").getAddDate(-10, "D");
  701. currentDay = tempYM.getDateFormat("YYYYMM") + (tempYM).getMonthDay();
  702. }
  703. else
  704. {
  705. currentDay = (((startdate).toDate("YYYYMMDD")).getAddDate(i+1,"M")).getDateFormat("YYYYMMDD");
  706. }
  707. exMonth = currentMonth;
  708. model.setValue("/root/main/list2/grid2["+(datagrid1.rows-1)+"]/paydd", currentDay);
  709. model.setValue("/root/main/list2/grid2["+(datagrid1.rows-1)+"]/payamt", payamt);
  710. model.setValue("/root/main/list2/grid2["+(datagrid1.rows-1)+"]/crccaprvyn", 'N');
  711. model.setValue("/root/main/list2/grid2["+(datagrid1.rows-1)+"]/execflag", 'N');
  712. model.setValue("/root/main/list2/grid2["+(datagrid1.rows-1)+"]/subjid", subjid);
  713. model.setValue("/root/main/list2/grid2["+(datagrid1.rows-1)+"]/instcd", instcd);
  714. model.setValue("/root/main/list2/grid2["+(datagrid1.rows-1)+"]/userid", userid);
  715. }
  716. //datagrid1.refresh();
  717. model.refresh();
  718. ]]>
  719. </script>
  720. </button>
  721. <input id="input1" ref="/root/send/enddd" class="input_default" inputtype="date" style="left:470px; top:259px; width:110px; height:19px; "/>
  722. <caption id="caption2" style="left:450px; top:259px; width:20px; height:15px; ">~</caption>
  723. <input id="output1" ref="/root/send/startdd" class="input_default" inputtype="date" format="yyyy-mm-dd" appearance="input" style="left:330px; top:259px; width:115px; height:19px; "/>
  724. <input id="input7" ref="/root/init/balanceinfo/bal" class="input_default" disabled="true" navindex="27" visibility="hidden" format="(-)#,###" appearance="input" style="left:108px; top:259px; width:100px; height:19px; text-align:right; "/>
  725. <caption id="caption43" class="cell_1" visibility="hidden" style="left:5px; top:257px; width:100px; height:23px; text-align:center; vertical-align:middle; ">인건비잔액</caption>
  726. <button id="button5" class="btn5_letter5" _auth="X" style="left:783px; top:504px; width:75px; height:19px; ">
  727. <caption>인건비생성</caption>
  728. <script type="javascript" ev:event="DOMActivate">
  729. <![CDATA[
  730. /*
  731. if ( model.getValue("/root/main/list2/grid2[" + datagrid1.row +"]/execflag") == "E" ) {
  732. messageBox("이미 인건비생성이된 인건비계획입니다.", "E999");
  733. return;
  734. }
  735. var chkCnt = 0;
  736. for(var i = 1; i <= datagrid1.rows ; i++)
  737. {
  738. if(model.getValue("/root/main/list2/grid2[" + i + "]/chk") == "Y" && model.getValue("/root/main/list2/grid2[" + i + "]/execflag") != "E")
  739. {
  740. chkCnt++;
  741. }
  742. }
  743. if(model.getValue("/root/main/list2/grid2[" + datagrid1.row + "]/chk") != "Y" ) {
  744. messageBox("지급내역 인건비생성 내역을 체크하여 선택을하십시요 ", "E999");
  745. return;
  746. }
  747. if (( model.getValue("/root/main/list2/grid2[" + datagrid1.row +"]/paydd") == "" )||
  748. ( model.getValue("/root/main/list2/grid2[" + datagrid1.row +"]/payamt") == "" )||
  749. ( model.getValue("/root/main/list2/grid2[" + datagrid1.row +"]/payamt") == "0" )) {
  750. messageBox("필수입력인 지급일과 지급금액을 확인바랍니다.", "E999");
  751. return;
  752. }
  753. if(chkCnt > 1)
  754. {
  755. messageBox("생성은 한번에 하나씩만 가능합니다.", "E999");
  756. chkCnt = 0;
  757. return false;
  758. }*/
  759. if (parseInt(model.getValue("/root/costinput/totcost")) > parseInt(model.getValue("/root/init/balanceinfo/bal"))){
  760. messageBox("지급총액은 잔액보다 클 수 없습니다.", "E999", "");
  761. return false;
  762. }
  763. chkCnt = 0;
  764. for(var i = 1; i < datagrid2.rows ; i++)
  765. {
  766. model.setValue("/root/main/list3/grid3[" + i + "]/execflag", "E");
  767. if(datagrid2.rowStatus(i) == 0) datagrid2.addStatus(i, "update");
  768. model.setValue("/root/senddata/execdata/paydd", model.getValue("/root/main/list3/grid3[" + i + "]/paydd"));
  769. }
  770. model.setValue("/root/senddata/execdata/saveflag", "E");
  771. model.setValue("/root/senddata/execdata/subjid", model.getValue("/root/send/data1/subjid"));
  772. model.setValue("/root/senddata/execdata/userid", model.getValue("/root/send/data1/userid"));
  773. model.setValue("/root/senddata/execdata/appdg", model.getValue("/root/init/appdg/item/appdg"));
  774. model.setValue("/root/senddata/execdata/conreseryn", model.getValue("/root/main/list3/grid3/conreseryn")); // 2009.11.25 추가(계약연구원 여부 체크)
  775. var update = getGridUpdateData(datagrid2);
  776. model.setValue("/root/senddata/execdata/prsnpaydetl", update);
  777. submit("TXICU01604");
  778. readfunc();
  779. messageBox("신규차수로 인건보조비가 생성되었습니다.", "I999");
  780. model.dispatch("xforms-ready");
  781. model.setValue("/root/costinput/totcost", "0");
  782. model.refresh();
  783. ]]>
  784. </script>
  785. <hint>
  786. <![CDATA[자동차수 생성되어 신청됨]]>
  787. </hint>
  788. </button>
  789. <line id="line1" class="line_3" style="x1:5px; y1:212px; x2:860px; y2:212px; "/>
  790. <button id="button6" class="btn5_letter3" navindex="30" _auth="X" style="left:805px; top:9px; width:53px; height:19px; ">
  791. <caption>저장</caption>
  792. <script type="javascript" ev:event="DOMActivate">
  793. <![CDATA[
  794. if ( (model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/rrgstno1") + model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/rrgstno2")).length != 13 ) {
  795. messageBox(model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/usernm")+
  796. "님 주민번호 입력은 필수입니다." , "E999");
  797. return;
  798. }
  799. var rrgs = model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/rrgstno1") + model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/rrgstno2");
  800. if(!isResidentNo(rrgs)){ // 주민번호 유효성 체크
  801. messageBox(model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/usernm") + "님의 주민번호는 잘못된 주민번호","E008");
  802. return false;
  803. }
  804. if ( model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/bankcd")=="" ||
  805. model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/acntno")=="" ||
  806. model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/depor")=="" ) {
  807. messageBox(model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/usernm")+
  808. "님 은행명,계좌번호,예금주 입력은 필수입니다." , "E999");
  809. return;
  810. }
  811. if ( model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/workplceaddr") == "" ) {
  812. messageBox(model.getValue("/root/main/list/grid1[" + datagrid3.row + "]/usernm")+
  813. "님 주소(실제우편물수령지) 입력은 필수입니다." , "E999");
  814. return;
  815. }
  816. var update = getGridUpdateData(datagrid3);
  817. model.setValue("/root/senddata/grid1", update);
  818. if (submit("TXICU01603")){
  819. model.dispatch("xforms-ready");
  820. messageBox("저장이 성공적으로 이루어졌습니다.","I999");
  821. }
  822. ]]>
  823. </script>
  824. </button>
  825. <caption id="caption3" style="left:10px; top:215px; width:615px; height:20px; ">대상자 확인(성명,주민번호,소속,주민번호,은행명,계좌번호,예금주,주소) → 대상자 선택("역할컬럼" 클릭) →</caption>
  826. <input id="input2" visibility="hidden" style="left:485px; top:5px; width:100px; height:20px; "/>
  827. <caption id="caption4" style="left:10px; top:235px; width:850px; height:20px; ">"행추가"버튼 클릭 → 지급일,지급액 필수입력 ( 일괄복사시 끝일자를 선택하여 "일괄복사") → "저장" 클릭 → 계획생성. 실제 인건비는 아래 인건비생성필요.</caption>
  828. <datagrid id="datagrid2" nodeset="/root/main/list3/grid3" caption="ID^성명^계약연구원^지급일^지급액^차수^비고^승인여부^생성여부^caption1^caption2" colsep="^" colwidth="87, 75, 72, 100, 100, 35, 276, 69, 64, 25, 22" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:5px; top:525px; width:855px; height:215px; ">
  829. <col ref="userid"/>
  830. <col ref="usernm"/>
  831. <col checkvalue="Y,N" disabled="true" ref="conreseryn" type="checkbox"/>
  832. <col disabled="true" ref="paydd" type="inputdate" format="yyyy-mm-dd" style="text-align:center; "/>
  833. <col editable="false" ref="payamt" type="input" format="(-)#,###" style="text-align:right; "/>
  834. <col ref="cretdg" style="text-align:center; "/>
  835. <col ref="cmt" type="input" style="text-align:left; "/>
  836. <col disabled="true" ref="crccaprvyn" type="combo">
  837. <choices>
  838. <item>
  839. <label>승인</label>
  840. <value>Y</value>
  841. </item>
  842. <item>
  843. <label>미승인</label>
  844. <value>N</value>
  845. </item>
  846. <item>
  847. <label>반려</label>
  848. <value>R</value>
  849. </item>
  850. <item>
  851. <label>보류</label>
  852. <value>H</value>
  853. </item>
  854. </choices>
  855. </col>
  856. <col disabled="true" ref="execflag" type="combo">
  857. <choices>
  858. <item>
  859. <label>생성</label>
  860. <value>E</value>
  861. </item>
  862. <item>
  863. <label>미생성</label>
  864. <value>Y</value>
  865. </item>
  866. <item>
  867. <label>미생성</label>
  868. <value>N</value>
  869. </item>
  870. </choices>
  871. </col>
  872. <col ref="subjid" visibility="hidden"/>
  873. <col ref="instcd" visibility="hidden"/>
  874. <script type="javascript" ev:event="xforms-value-changed">
  875. <![CDATA[
  876. if ( (datagrid1.rows-datagrid1.fixedRows) > 0 ) {
  877. model.setValue("/root/send/startdd", model.getValue("/root/main/list2/grid2["+(datagrid1.rows-1)+"]/paydd"));
  878. }
  879. for(var i=1; i<datagrid1.rows; i++){
  880. if ( datagrid1.valueMatrix(i, datagrid1.colRef("chk")) == 'Y' && model.getValue("/root/main/list2/grid2["+ i +"]/execflag") != 'E') {
  881. model.setValue("/root/main/list2/grid2["+ i +"]/execflag", "Y");
  882. } else if(model.getValue("/root/main/list2/grid2["+ i +"]/execflag") != 'E') {
  883. model.setValue("/root/main/list2/grid2["+ i +"]/execflag", "N");
  884. }
  885. }
  886. ]]>
  887. </script>
  888. <script type="javascript" ev:event="onclick">
  889. <![CDATA[
  890. model.setValue("/root/senddata/execdata/subjid", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/subjid"));
  891. model.setValue("/root/senddata/execdata/instcd", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/instcd"));
  892. model.setValue("/root/senddata/execdata/userid", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/userid"));
  893. model.setValue("/root/senddata/execdata/paydd", model.getValue("/root/main/list2/grid2["+datagrid1.row+"]/paydd"));
  894. ]]>
  895. </script>
  896. </datagrid>
  897. <caption id="caption5" style="left:10px; top:505px; width:765px; height:20px; ">위의 인건비 계획에서 선택 체크 → 모든 생성할 인건비 선택완료후 "인건비생성" 클릭</caption>
  898. <caption id="caption14" class="cell_1" style="left:5px; top:742px; width:105px; height:23px; text-align:center; vertical-align:middle; ">항목별잔액</caption>
  899. <input id="input3" ref="/root/init/balanceinfo/bal" class="input_default" disabled="true" navindex="2" editable="true" format="(-)#,###" style="left:113px; top:744px; width:120px; height:19px; text-align:right; "/>
  900. <caption id="caption7" class="cell_1" style="left:245px; top:743px; width:87px; height:23px; text-align:center; vertical-align:middle; ">지급총액</caption>
  901. <input id="input5" ref="/root/costinput/totcost" class="input_default" disabled="true" navindex="10" editable="true" format="(-)#,###" style="left:335px; top:745px; width:105px; height:19px; text-align:right; "/>
  902. </xhtml:body>
  903. </xhtml:html>