SMRWP10100_직종별인건비현황.xrw 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330
  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. <payrwpdympylist>
  11. <payym/>
  12. <saldfrayflag/>
  13. <groupflag/>
  14. <flagnm/>
  15. <amt/>
  16. <cnt/>
  17. </payrwpdympylist>
  18. </main>
  19. <init/>
  20. <send>
  21. <payym/>
  22. <payinst/>
  23. <paytoym/>
  24. <saldfrayflag/>
  25. </send>
  26. <hidden/>
  27. <grid>
  28. <targetgrid/>
  29. </grid>
  30. </root>
  31. </instance>
  32. <script type="javascript" ev:event="xforms-ready">
  33. <![CDATA[
  34. misfMsterDetailSet(datagrid1, null, "TRRWP10101" ,"N");
  35. misfGridInit(datagrid1);
  36. // .deleteRow(grd_payrwpdympylist.fixedRows, false);
  37. misfComboComCdList("Z0007", cmb_payinst);
  38. misfComboComCdListMulti("R0112","cmb_SalDfrayFlag");
  39. var today = getCurrentDate();
  40. var cur_yymm = parseInt(today.substring(0, 6));
  41. model.setValue("/root/send/payym", cur_yymm);
  42. model.setValue("/root/send/paytoym", cur_yymm);
  43. model.setValue("/root/send/payinst", getUserInfo("dutplceinstcd")); // 기관 설정
  44. model.setValue("/root/send/saldfrayflag", "1");
  45. misfGetUserAuth();
  46. if (DUTY_PAY_YN == "Y" ) {
  47. cmb_payinst.disabled = false;
  48. }
  49. else {
  50. cmb_payinst.disabled = true;
  51. }
  52. model.refresh();
  53. ]]>
  54. </script>
  55. <submission id="TRRWP10101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/payrwpdympylist"/>
  56. </model>
  57. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  58. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  59. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  60. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  61. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  62. <script type="javascript" src="../../../mis/paybnusmngtweb/js/RWP001.js"/>
  63. <script type="javascript">
  64. <![CDATA[
  65. function setGrid()
  66. {
  67. //Start 그리드 초기화 작업. 노드고 뭐고 싹~!!! 다지워~!!
  68. for (var i = datagrid1.cols - 1; i >= 1 ; i--)
  69. {
  70. datagrid1.removeColumn(false);
  71. }
  72. misfGridInit(grd_payrwpdympylist);
  73. //End 그리드 초기화 작업. 노드고 뭐고 싹~!!! 다지워~!!
  74. //그리드 노드,컬럼,로우 설정.
  75. var node = instance1.selectNodes("/root/main/*");
  76. var rowtemp = model.getValue("/root/main/payrwpdympylist[1]/prntseq");
  77. var colreftemp ='';
  78. var tempcaption = '';
  79. //col 추가
  80. for(var i = 1; i <= node.length; i++)
  81. {
  82. if(rowtemp == model.getValue("/root/main/payrwpdympylist["+ i +"]/prntseq"))
  83. {
  84. grd_payrwpdympylist.addColumn("ref:" + model.getValue("/root/main/payrwpdympylist["+ i +"]/flagnm") + "; format:" + "(-)#,###;" + " style:" + "text-align:right;");
  85. tempcaption += "^"+model.getValue("/root/main/payrwpdympylist["+ i +"]/flagnm");
  86. }else{
  87. break;
  88. }
  89. }
  90. //인원수 1 Row 입력
  91. grd_payrwpdympylist.addRow(false);
  92. for(var i = 1; i <= grd_payrwpdympylist.cols; i++ )
  93. {
  94. grd_payrwpdympylist.valueMatrix(grd_payrwpdympylist.row, grd_payrwpdympylist.colRef( model.getValue("/root/main/payrwpdympylist["+ i +"]/flagnm") ) ) = model.getValue("/root/main/payrwpdympylist["+ i +"]/cnt");
  95. }
  96. //row 추가
  97. rowtemp = 'x';
  98. for(var i = 1; i <= node.length; i++)
  99. {
  100. if(rowtemp != model.getValue("/root/main/payrwpdympylist["+ i +"]/prntseq"))
  101. {
  102. grd_payrwpdympylist.addRow(false);
  103. grd_payrwpdympylist.valueMatrix(grd_payrwpdympylist.row, grd_payrwpdympylist.colRef("prntbasenm")) = model.getValue("/root/main/payrwpdympylist["+ i +"]/prntbasenm");
  104. rowtemp = model.getValue("/root/main/payrwpdympylist["+ i +"]/prntseq");
  105. }
  106. //colreftemp = model.getValue("/root/main/payrwpdympylist["+ i +"]/flagnm");
  107. grd_payrwpdympylist.valueMatrix(grd_payrwpdympylist.row, grd_payrwpdympylist.colRef( model.getValue("/root/main/payrwpdympylist["+ i +"]/flagnm") ) ) = model.getValue("/root/main/payrwpdympylist["+ i +"]/amt");
  108. }
  109. grd_payrwpdympylist.caption = tempcaption;
  110. grd_payrwpdympylist.fixedCols = 1;
  111. //fCalculationSet();
  112. grd_payrwpdympylist.rebuild();
  113. }
  114. //Load Data의 추가 계산 로직...
  115. function fCalculationSet()
  116. {
  117. //상여금(GR),상여금(NT),건강보험,건강(법정) Row Search
  118. var fRowGR = null;
  119. var fRowNT = null;
  120. var fRowHG = null;
  121. var fRowHC = null;
  122. var fColGR = grd_payrwpdympylist.fixedCols-1;
  123. for(var i = grd_payrwpdympylist.fixedRows; i < grd_payrwpdympylist.rows; i++)
  124. {
  125. if(grd_payrwpdympylist.labelMatrix(i, fColGR) == "상여금(GR)" )
  126. {
  127. fRowGR = i;
  128. if( (fRowGR != null) && (fRowNT != null) && (fRowHG != null) && (fRowHC != null) )
  129. {
  130. break;
  131. }
  132. }
  133. if(grd_payrwpdympylist.labelMatrix(i, fColGR) == "상여금(NT)" )
  134. {
  135. fRowNT = i;
  136. if( (fRowGR != null) && (fRowNT != null) && (fRowHG != null) && (fRowHC != null) )
  137. {
  138. break;
  139. }
  140. }
  141. if(grd_payrwpdympylist.labelMatrix(i, fColGR) == "건강보험" )
  142. {
  143. fRowHG = i;
  144. if( (fRowGR != null) && (fRowNT != null) && (fRowHG != null) && (fRowHC != null) )
  145. {
  146. break;
  147. }
  148. }
  149. if(grd_payrwpdympylist.labelMatrix(i, fColGR) == "건강(법정)" )
  150. {
  151. fRowHC = i;
  152. if( (fRowGR != null) && (fRowNT != null) && (fRowHG != null) && (fRowHC != null) )
  153. {
  154. break;
  155. }
  156. }
  157. }
  158. //데이터 넘겨주기....GR -> NT [레지던트,인턴,전공의계]
  159. grd_payrwpdympylist.valueMatrix(fRowNT, grd_payrwpdympylist.colRef("레지던트")) = grd_payrwpdympylist.valueMatrix(fRowGR, grd_payrwpdympylist.colRef("레지던트"));
  160. grd_payrwpdympylist.valueMatrix(fRowNT, grd_payrwpdympylist.colRef("인턴")) = grd_payrwpdympylist.valueMatrix(fRowGR, grd_payrwpdympylist.colRef("인턴"));
  161. grd_payrwpdympylist.valueMatrix(fRowNT, grd_payrwpdympylist.colRef("전공의계")) = grd_payrwpdympylist.valueMatrix(fRowGR, grd_payrwpdympylist.colRef("전공의계"));
  162. //grd_payrwpdympylist.valueMatrix(fRowNT, grd_payrwpdympylist.colRef("수도")) = grd_payrwpdympylist.valueMatrix(fRowGR, grd_payrwpdympylist.colRef("수도"));
  163. grd_payrwpdympylist.valueMatrix(fRowGR, grd_payrwpdympylist.colRef("레지던트")) = 0;
  164. grd_payrwpdympylist.valueMatrix(fRowGR, grd_payrwpdympylist.colRef("인턴")) = 0;
  165. grd_payrwpdympylist.valueMatrix(fRowGR, grd_payrwpdympylist.colRef("전공의계")) = 0;
  166. //grd_payrwpdympylist.valueMatrix(fRowGR, grd_payrwpdympylist.colRef("수도")) = 0;
  167. //데이터 넘겨주기.....GR -> NT [교환직~비정규직]
  168. if( (parseInt(ipt_payym.value.substr(4,2)) == 1) || (parseInt(ipt_payym.value.substr(4,2)) == 2) || (parseInt(ipt_payym.value.substr(4,2)) == 8) )
  169. {
  170. for(var i = grd_payrwpdympylist.colRef("사무직"); i <= grd_payrwpdympylist.colRef("비정규직"); i++ )
  171. {
  172. grd_payrwpdympylist.valueMatrix(fRowNT, i) = grd_payrwpdympylist.valueMatrix(fRowGR, i);
  173. grd_payrwpdympylist.valueMatrix(fRowGR, i) = 0;
  174. }
  175. }
  176. //데이터 넘겨주기....건강보험의 60%를 건강(법정)으로 계산된 값을 설정......건강보험 -> 건강(법정)
  177. for(var i = grd_payrwpdympylist.fixedCols; i < grd_payrwpdympylist.cols; i++)
  178. {
  179. grd_payrwpdympylist.valueMatrix(fRowHC, i) = (parseInt(grd_payrwpdympylist.valueMatrix(fRowHG, i)) * 0.6);
  180. }
  181. //NT 합계 계산.
  182. var fTotal = 0;
  183. for(var i = grd_payrwpdympylist.fixedCols; i < grd_payrwpdympylist.cols; i++)
  184. {
  185. if( (grd_payrwpdympylist.colAttribute(i, "ref") == "교원계") ||
  186. (grd_payrwpdympylist.colAttribute(i, "ref") == "전공의계") ||
  187. (grd_payrwpdympylist.colAttribute(i, "ref") == "직원계") ||
  188. (grd_payrwpdympylist.colAttribute(i, "ref") == "합계") )
  189. {
  190. continue;
  191. }
  192. fTotal += parseInt(grd_payrwpdympylist.valueMatrix(fRowNT, i));
  193. }
  194. // NT,GT 합계 입력
  195. grd_payrwpdympylist.valueMatrix(fRowNT, grd_payrwpdympylist.colRef("합계")) = fTotal;
  196. grd_payrwpdympylist.valueMatrix(fRowGR, grd_payrwpdympylist.colRef("합계")) -= fTotal;
  197. }
  198. ]]>
  199. </script>
  200. </xhtml:head>
  201. <xhtml:body style="margin-left:8; margin-right:8; ">
  202. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  203. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">직종별인건비현황</caption>
  204. </group>
  205. <group id="group2" scroll="auto" style="left:0px; top:40px; width:1195px; height:740px; ">
  206. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1193px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  207. <button id="btn_search" class="btn1_letter2" style="left:1130px; top:17px; width:56px; height:22px; ">
  208. <caption>조회</caption>
  209. <script type="javascript" ev:event="DOMActivate">
  210. <![CDATA[
  211. submit("TRRWP10101");
  212. //setGrid();
  213. ]]>
  214. </script>
  215. </button>
  216. <line id="line13" class="line_4" style="x1:1120px; y1:10px; x2:1120px; y2:44px; "/>
  217. <caption id="cap_payinst" class="search_name" style="left:8px; top:19px; width:86px; height:17px; ">기 관 :</caption>
  218. <select1 id="cmb_payinst" ref="/root/send/payinst" class="combo_s_essential" navindex="1" appearance="minimal" style="left:91px; top:18px; width:169px; height:19px; text-align:center; ">
  219. <choices>
  220. <itemset>
  221. <label/>
  222. <value/>
  223. </itemset>
  224. </choices>
  225. </select1>
  226. <caption id="caption22" class="search_name" style="left:321px; top:19px; width:94px; height:17px; ">조회년월 :</caption>
  227. <input id="ipt_payym" ref="/root/send/payym" class="input_s_essential" navindex="2" inputtype="date" format="yyyy-mm" style="left:410px; top:18px; width:94px; height:19px; text-align:center; vertical-align:middle; "/>
  228. <caption id="caption28" class="tit_2" style="left:5px; top:58px; width:144px; height:13px; ">인건비현황</caption>
  229. <line id="line193" class="line_1" style="x1:2px; y1:71px; x2:1192px; y2:71px; "/>
  230. <button id="btn_saveexcel" class="btn5_letter4" style="left:1127px; top:51px; width:64px; height:19px; ">
  231. <caption>엑셀저장</caption>
  232. <script type="javascript" ev:event="DOMActivate">
  233. <![CDATA[
  234. var fileName = window.fileDialog ("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  235. if (fileName != "")
  236. {
  237. datagrid1.fixedCols = 0;
  238. datagrid1.saveExcel(fileName,"sheetname:sheet1");
  239. datagrid1.fixedCols = 1;
  240. }
  241. ]]>
  242. </script>
  243. </button>
  244. <input id="ipt_paytoym" ref="/root/send/paytoym" class="input_s_essential" navindex="3" inputtype="date" format="yyyy-mm" style="left:515px; top:18px; width:94px; height:19px; text-align:center; vertical-align:middle; "/>
  245. <caption id="caption1" style="left:505px; top:18px; width:10px; height:19px; ">-</caption>
  246. <caption id="caption21" class="search_name" style="left:665px; top:19px; width:86px; height:17px; ">급여종류:</caption>
  247. <select1 id="cmb_SalDfrayFlag" ref="/root/send/saldfrayflag" class="combo_s_essential" appearance="minimal" style="left:746px; top:18px; width:125px; height:19px; ">
  248. <choices>
  249. <itemset>
  250. <label/>
  251. <value/>
  252. </itemset>
  253. </choices>
  254. <script type="javascript" ev:event="xforms-value-changed">
  255. <![CDATA[
  256. /*
  257. if (DUTY_PAY_YN == "Y" || cmb_SalDfrayFlag.value == "2") {
  258. cmb_instcd.disabled = false;
  259. }
  260. else {
  261. cmb_instcd.disabled = true;
  262. model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  263. model.refresh();
  264. }
  265. */
  266. ]]>
  267. </script>
  268. </select1>
  269. <datagrid id="datagrid1" nodeset="/root/main/payrwpdympylist" caption="지급년월^급여종류^직종코드^직종명^급여총액^인원수" colsep="^" colwidth="123, 160, 125, 282, 234, 139" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowsep="|" style="left:2px; top:75px; width:1190px; height:662px; ">
  270. <col ref="payym" format="yyyy-mm" style="text-align:center; "/>
  271. <col ref="saldfrayflag" style="text-align:left; "/>
  272. <col ref="groupflag" style="text-align:center; "/>
  273. <col ref="flagnm" style="text-align:left; "/>
  274. <col ref="amt" format="(-)#,###" style="text-align:right; "/>
  275. <col ref="cnt" format="#,###" style="text-align:center; "/>
  276. </datagrid>
  277. </group>
  278. <group id="grp_btn" scroll="auto" style="left:0px; top:13px; width:1195px; height:25px; "/>
  279. </xhtml:body>
  280. </xhtml:html>