SMANT02200_직원식급식실천표.xrw 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607
  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. <gnrldish>
  11. <appdd/>
  12. <mealflag/>
  13. <menuflag/>
  14. <dishtableflag/>
  15. <dishtablenm/>
  16. <dishcd/>
  17. <dishnm/>
  18. <foodcd/>
  19. <foodnm/>
  20. <plceordexchbase/>
  21. <foodqty/>
  22. <h_foodqty/>
  23. <psnno1/>
  24. <h_psnno1/>
  25. <totalqty/>
  26. <foodunit/>
  27. <dishrem/>
  28. <psnnor1/>
  29. </gnrldish>
  30. <gnrlfood>
  31. <appdd/>
  32. <mealflag/>
  33. <menuflag/>
  34. <foodcd/>
  35. <foodnm/>
  36. <plceordexchbase/>
  37. <dishcd/>
  38. <dishnm/>
  39. <foodqty/>
  40. <h_foodqty/>
  41. <psnno1/>
  42. <h_psnno1/>
  43. <totalqty/>
  44. <foodunit/>
  45. <dishrem/>
  46. <psnnor1/>
  47. </gnrlfood>
  48. </main>
  49. <send>
  50. <searchitem>
  51. <appdd/>
  52. <menuflag/>
  53. <mealflag/>
  54. <psnnodd/>
  55. <pastyn/>
  56. </searchitem>
  57. <req>
  58. <dish/>
  59. </req>
  60. </send>
  61. <temp>
  62. <ret>
  63. <count/>
  64. </ret>
  65. </temp>
  66. <init>
  67. <basecode>
  68. <meal>
  69. <A0055>
  70. <cdid/>
  71. <cdnm/>
  72. </A0055>
  73. </meal>
  74. <diettable>
  75. <A0417>
  76. <cdid/>
  77. <cdnm/>
  78. </A0417>
  79. </diettable>
  80. </basecode>
  81. <miscode>
  82. <plceordunit>
  83. <cdid/>
  84. <cdnm/>
  85. </plceordunit>
  86. </miscode>
  87. </init>
  88. </root>
  89. </instance>
  90. <script type="javascript" ev:event="xforms-ready">
  91. <![CDATA[
  92. finit();
  93. submit("TRANT02503"); //식재료 발주단위 조회
  94. btn_search.disabled = !checkAuth("R");
  95. btn_save.disabled = !checkAuth("X");
  96. //btn_excel.disabled = !checkAuth("P");
  97. // 2010.12.29 c y w 과거데이터조회여부에 따라 예정식수일자 조회조건 visible 셋팅.
  98. if( model.getValue("/root/send/searchitem/pastyn" ) == "Y"){
  99. caption1.visible = false;
  100. ipt_psnnodd.visible = false;
  101. btn_beforedd2.visible = false;
  102. btn_nextdd2.visible = false;
  103. }else{
  104. caption1.visible = true;
  105. ipt_psnnodd.visible = true;
  106. btn_beforedd2.visible = true;
  107. btn_nextdd2.visible = true;
  108. }
  109. ]]>
  110. </script>
  111. <script type="javascript">
  112. <![CDATA[
  113. function finit() {
  114. // 화면open시 공통코드 setting
  115. zbcfGetCodeList( new Array( "A0055", "A0417" ), new Array("/root/init/basecode/meal", "/root/init/basecode/diettable") );
  116. model.resetInstanceNode("/root/main");
  117. model.resetInstanceNode("/root/send");
  118. model.removeNodeset("/root/main");
  119. //model.setFocus("ipt_pid");
  120. model.setValue("/root/send/searchitem/appdd", getCurrentDate());
  121. model.setValue("/root/send/searchitem/psnnodd", getCurrentDate());
  122. model.setValue("/root/send/searchitem/menuflag", "Q3"); //직원식
  123. model.setValue("/root/send/searchitem/mealflag", "0");
  124. btn_dish.dispatch("DOMActivate");
  125. model.refresh();
  126. }
  127. //식단명별로 식수인원,비고 컬럼 셀병합
  128. function fmerge() {
  129. if ( grd_empdish.rows <= grd_empdish.fixedRows + 1)
  130. return;
  131. var dishnmColNum = grd_empdish.colRef("dishnm");
  132. var psnnoColNum = grd_empdish.colRef("psnno1");
  133. var psnnorColNum = grd_empdish.colRef("psnnor1");
  134. var dishremColNum = grd_empdish.colRef("dishrem");
  135. var sflag = grd_empdish.colRef("dishtableflag");
  136. var tmpStr1 = grd_empdish.valueMatrix(grd_empdish.fixedRows, dishnmColNum);
  137. var tmpStr2 = "";
  138. var tmpStr11 = grd_empdish.valueMatrix(grd_empdish.fixedRows, sflag);
  139. var tmpStr21 = "";
  140. var tmpNum = grd_empdish.fixedRows;
  141. for ( i = grd_empdish.fixedRows; i < grd_empdish.rows; i++ ) {
  142. if ( i + 1 <= grd_empdish.rows ) {
  143. tmpStr2 = grd_empdish.valueMatrix(i + 1, dishnmColNum);
  144. tmpStr21 = grd_empdish.valueMatrix(i + 1, sflag);
  145. } else if ( i + 1 == grd_empdish.rows ) {
  146. tmpStr2 = "";
  147. tmpStr21 = "";
  148. }
  149. if ( (tmpStr11 != tmpStr21) || (tmpStr1 != tmpStr2 && tmpStr11 == tmpStr21) ) {
  150. grd_empdish.mergeByFree(tmpNum, psnnoColNum, i, psnnoColNum);
  151. grd_empdish.mergeByFree(tmpNum, psnnorColNum, i, psnnorColNum);
  152. grd_empdish.mergeByFree(tmpNum, dishremColNum, i, dishremColNum);
  153. tmpStr1 = tmpStr2;
  154. tmpStr11 = tmpStr21;
  155. tmpNum = i + 1;
  156. }
  157. }
  158. }
  159. ]]>
  160. </script>
  161. <submission id="TRZBC00101"/>
  162. <submission id="TRANT01601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchitem" resultref="/root/main"/>
  163. <submission id="TRANT01602" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchitem" resultref="/root/temp"/>
  164. <submission id="TXANT01601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/req"/>
  165. <submission id="TRANT02503" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/init/miscode"/>
  166. </model>
  167. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  168. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  169. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  170. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  171. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  172. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  173. </xhtml:head>
  174. <xhtml:body guideline="1,1195;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  175. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  176. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:150px; height:14px; ">직원식급식실천표</caption>
  177. </group>
  178. <group id="grp_biz" scroll="auto" style="left:0px; top:13px; width:1195px; height:744px; ">
  179. <group id="grp_sea" style="left:0px; top:10px; width:1194px; height:35px; vertical-align:top; ">
  180. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:35px; background-color:#fffbf2; "/>
  181. <caption id="caption2" class="search_name" style="left:471px; top:9px; width:125px; height:17px; ">급식실천표일자 :</caption>
  182. <line id="line13" class="line_4" style="x1:1100px; y1:6px; x2:1100px; y2:28px; "/>
  183. <button id="btn_beforedd1" class="icon_pre" style="left:693px; top:10px; width:13px; height:15px; ">
  184. <caption/>
  185. <script type="javascript" ev:event="onclick">
  186. <![CDATA[
  187. var dd = model.getValue("/root/send/searchitem/appdd");
  188. dd = dd.toDate().getAddDate(-1, "D");
  189. dd = dd.getDateFormat();
  190. model.setValue("/root/send/searchitem/appdd", dd);
  191. model.refresh();
  192. ]]>
  193. </script>
  194. </button>
  195. <button id="btn_nextdd1" class="icon_next" style="left:706px; top:10px; width:13px; height:15px; ">
  196. <caption/>
  197. <script type="javascript" ev:event="onclick">
  198. <![CDATA[
  199. var dd = model.getValue("/root/send/searchitem/appdd");
  200. dd = dd.toDate().getAddDate(1, "D");
  201. dd = dd.getDateFormat();
  202. model.setValue("/root/send/searchitem/appdd", dd);
  203. model.refresh();
  204. ]]>
  205. </script>
  206. </button>
  207. <input id="ipt_appdd" ref="/root/send/searchitem/appdd" class="input_search" inputtype="date" style="left:597px; top:8px; width:90px; height:19px; "/>
  208. <button id="btn_search" class="btn1_letter2" style="left:1118px; top:7px; width:56px; height:22px; ">
  209. <caption>조회</caption>
  210. <script type="javascript" ev:event="DOMActivate">
  211. <![CDATA[
  212. submit("TRANT01601");
  213. model.removeNodeset("/root/send/req/savemealflag");
  214. //식단명별로 식수인원,비고 컬럼 셀병합
  215. fmerge();
  216. // btn_dish.selected = true;
  217. // model.toggle("case1");
  218. //과거데이터조회가 아닐경우 row status가 null이기 때문에 무조건 'insert'로 초기화한다.
  219. //if ( model.getValue("/root/send/searchitem/pastyn") == "" ) {
  220. for ( i=1; i<grd_empdish.rows; i++) {
  221. grd_empdish.addStatus(i, "insert");
  222. }
  223. //}
  224. ]]>
  225. </script>
  226. </button>
  227. <caption id="caption4" class="search_name" style="left:46px; top:9px; width:60px; height:17px; ">끼니 :</caption>
  228. <select1 id="cmb_mealflag" ref="/root/send/searchitem/mealflag" class="combo_s_essential" appearance="minimal" style="left:108px; top:8px; width:67px; height:19px; ">
  229. <choices>
  230. <item>
  231. <label>전체</label>
  232. <value>0</value>
  233. </item>
  234. <item>
  235. <label>조식</label>
  236. <value>1</value>
  237. </item>
  238. <item>
  239. <label>중식</label>
  240. <value>2</value>
  241. </item>
  242. <item>
  243. <label>석식</label>
  244. <value>3</value>
  245. </item>
  246. <item>
  247. <label>야식</label>
  248. <value>4</value>
  249. </item>
  250. </choices>
  251. </select1>
  252. <button id="btn_beforedd2" class="icon_pre" style="left:1023px; top:10px; width:13px; height:15px; ">
  253. <caption/>
  254. <script type="javascript" ev:event="onclick">
  255. <![CDATA[
  256. var dd = model.getValue("/root/send/searchitem/psnnodd");
  257. dd = dd.toDate().getAddDate(-1, "D");
  258. dd = dd.getDateFormat();
  259. model.setValue("/root/send/searchitem/psnnodd", dd);
  260. model.refresh();
  261. ]]>
  262. </script>
  263. </button>
  264. <caption id="caption1" class="search_name" style="left:811px; top:9px; width:114px; height:17px; ">예정식수일자 :</caption>
  265. <button id="btn_nextdd2" class="icon_next" style="left:1036px; top:10px; width:13px; height:15px; ">
  266. <caption/>
  267. <script type="javascript" ev:event="onclick">
  268. <![CDATA[
  269. var dd = model.getValue("/root/send/searchitem/psnnodd");
  270. dd = dd.toDate().getAddDate(1, "D");
  271. dd = dd.getDateFormat();
  272. model.setValue("/root/send/searchitem/psnnodd", dd);
  273. model.refresh();
  274. ]]>
  275. </script>
  276. </button>
  277. <input id="ipt_psnnodd" ref="/root/send/searchitem/psnnodd" class="input_search" inputtype="date" style="left:927px; top:8px; width:90px; height:19px; "/>
  278. <select id="chk_pastyn" ref="/root/send/searchitem/pastyn" class="checkbox_search" overflow="visible" appearance="full" style="left:250px; top:9px; width:150px; height:20px; ">
  279. <choices>
  280. <item>
  281. <label>과거데이터조회여부</label>
  282. <value>Y</value>
  283. </item>
  284. </choices>
  285. <script type="javascript" ev:event="xforms-value-changed">
  286. <![CDATA[
  287. // 2010.12.29 c y w 과거데이터조회여부에 따라 예정식수일자 조회조건 visible 셋팅.
  288. if( model.getValue("/root/send/searchitem/pastyn" ) == "Y"){
  289. caption1.visible = false;
  290. ipt_psnnodd.visible = false;
  291. btn_beforedd2.visible = false;
  292. btn_nextdd2.visible = false;
  293. }else{
  294. caption1.visible = true;
  295. ipt_psnnodd.visible = true;
  296. btn_beforedd2.visible = true;
  297. btn_nextdd2.visible = true;
  298. }
  299. ]]>
  300. </script>
  301. </select>
  302. </group>
  303. <button id="btn_dish" class="btn_sw" group="tab" selected="true" style="left:0px; top:49px; width:80px; height:22px; ">
  304. <caption>식단별</caption>
  305. <script type="javascript" ev:event="DOMActivate">
  306. <![CDATA[
  307. model.toggle("case1");
  308. ]]>
  309. </script>
  310. </button>
  311. <button id="btn_food" class="btn_sw" group="tab" style="left:80px; top:49px; width:95px; height:22px; ">
  312. <caption>식품(재료)별</caption>
  313. <script type="javascript" ev:event="DOMActivate">
  314. <![CDATA[
  315. model.toggle("case2");
  316. ]]>
  317. </script>
  318. </button>
  319. <switch id="switch2" style="left:0px; top:70px; width:1194px; height:670px; ">
  320. <case id="case1" selected="true">
  321. <datagrid id="grd_empdish" nodeset="/root/main/gnrldish" caption="적용일자^끼니^식단구분^분류^분류명^식단코드^식단명^재료코드^재료명(식품명)^1인량^h_1인량^식수(과거)^식수(조절)^h_식수(명)^발주량^단위^비고" colsep="^" colwidth="10, 10, 10, 100, 10, 10, 100, 10, 110, 70, 10, 90, 90, 10, 70, 60, 150" dataheight="25" mergecells="byrestriccol" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:0px; top:0px; width:1192px; height:668px; ">
  322. <col ref="appdd" visibility="hidden"/>
  323. <col ref="mealflag" visibility="hidden"/>
  324. <col ref="menuflag" visibility="hidden"/>
  325. <col disabled="true" ref="dishtableflag" type="combo">
  326. <choices>
  327. <itemset nodeset="/root/init/basecode/diettable/A0417">
  328. <label ref="cdnm"/>
  329. <value ref="cdid"/>
  330. </itemset>
  331. </choices>
  332. </col>
  333. <col ref="dishtablenm" visibility="hidden"/>
  334. <col ref="dishcd" visibility="hidden"/>
  335. <col ref="dishnm"/>
  336. <col ref="foodcd" visibility="hidden"/>
  337. <col ref="foodnm"/>
  338. <col ref="foodqty" type="input" style="text-align:right; "/>
  339. <col ref="h_foodqty" visibility="hidden"/>
  340. <col ref="psnnor1" type="input" format="#,###" style="text-align:right; "/>
  341. <col ref="psnno1" type="input" format="#,###" style="text-align:right; "/>
  342. <col ref="h_psnno1" visibility="hidden"/>
  343. <col ref="totalqty" type="input" style="text-align:right; "/>
  344. <col disabled="true" ref="foodunit" type="combo" style="text-align:center; ">
  345. <choices>
  346. <itemset nodeset="/root/init/miscode/plceordunit">
  347. <label ref="cdnm"/>
  348. <value ref="cdid"/>
  349. </itemset>
  350. </choices>
  351. </col>
  352. <col ref="dishrem" type="input">
  353. <script type="javascript" ev:event="onendedit">
  354. <![CDATA[
  355. var dishrem = model.getValue("/root/main/gnrldish[" + grd_empdish.row + "]/dishrem");
  356. for ( k=grd_empdish.row; k<grd_empdish.rows; k++) {
  357. var dishtableflag = model.getValue("/root/main/gnrldish[" + k + "]/dishtableflag");
  358. var dishcd = model.getValue("/root/main/gnrldish[" + k + "]/dishcd");
  359. var dishtableflag2 = model.getValue("/root/main/gnrldish[" + (k+1) + "]/dishtableflag");
  360. var dishcd2 = model.getValue("/root/main/gnrldish[" + (k+1) + "]/dishcd");
  361. if ( (dishtableflag != dishtableflag2) || (dishcd != dishcd2) ) {
  362. break;
  363. } else {
  364. model.setValue("/root/main/gnrldish[" + (k+1) + "]/dishrem", dishrem);
  365. }
  366. }
  367. ]]>
  368. </script>
  369. </col>
  370. </datagrid>
  371. <button id="btn_recalc1" class="btn2_letter3" style="left:950px; top:4px; width:53px; height:19px; ">
  372. <caption>재계산</caption>
  373. <script type="javascript" ev:event="DOMActivate">
  374. <![CDATA[
  375. for ( i=1; i<grd_empdish.rows; i++) {
  376. var i_foodqty = model.getValue("/root/main/gnrldish[" + i + "]/foodqty");
  377. var i_hfoodqty = model.getValue("/root/main/gnrldish[" + i + "]/h_foodqty");
  378. var i_psnno = model.getValue("/root/main/gnrldish[" + i + "]/psnno1");
  379. var i_hpsnno = model.getValue("/root/main/gnrldish[" + i + "]/h_psnno1");
  380. var totalqty;
  381. //1인량만 수정된 경우
  382. if ( (i_foodqty != i_hfoodqty) && (i_psnno == i_hpsnno) ) {
  383. if ( i_psnno == "" ) { i_psnno = 0; }
  384. var i_plceordexchbase = model.getValue("/root/main/gnrldish[" + i + "]/plceordexchbase");
  385. totalqty = parseFloat(i_foodqty) * parseInt(i_psnno) / parseFloat(i_plceordexchbase);
  386. totalqty = totalqty.toString().getRound(-2, "HALF_UP");
  387. model.setValue("/root/main/gnrldish[" + i + "]/totalqty", parseFloat(totalqty));
  388. model.setValue("/root/main/gnrldish[" + i + "]/h_foodqty", parseFloat(i_foodqty));
  389. }
  390. //식수가 수정된 경우
  391. else if ( i_psnno != i_hpsnno ) {
  392. for ( k=i; k<grd_empdish.rows; k++) {
  393. if ( i_psnno == "" ) {
  394. i_psnno = 0;
  395. model.setValue("/root/main/gnrldish[" + i + "]/totalqty", "0");
  396. }
  397. var k_foodqty = model.getValue("/root/main/gnrldish[" + k + "]/foodqty");
  398. var k_plceordexchbase = model.getValue("/root/main/gnrldish[" + k + "]/plceordexchbase");
  399. totalqty = parseFloat(k_foodqty) * parseInt(i_psnno) / parseFloat(k_plceordexchbase);
  400. totalqty = totalqty.toString().getRound(-2, "HALF_UP");
  401. model.setValue("/root/main/gnrldish[" + k + "]/totalqty", parseFloat(totalqty));
  402. model.setValue("/root/main/gnrldish[" + k + "]/h_foodqty", parseFloat(k_foodqty));
  403. model.setValue("/root/main/gnrldish[" + k + "]/psnno1", parseInt(i_psnno));
  404. model.setValue("/root/main/gnrldish[" + k + "]/h_psnno1", parseInt(i_psnno));
  405. var dishtableflag = model.getValue("/root/main/gnrldish[" + k + "]/dishtableflag");
  406. var dishcd = model.getValue("/root/main/gnrldish[" + k + "]/dishcd");
  407. var dishtableflag2 = model.getValue("/root/main/gnrldish[" + (k+1) + "]/dishtableflag");
  408. var dishcd2 = model.getValue("/root/main/gnrldish[" + (k+1) + "]/dishcd");
  409. if ( (dishtableflag != dishtableflag2) || (dishcd != dishcd2) ) {
  410. break;
  411. }
  412. }
  413. }
  414. }
  415. model.refresh();
  416. ]]>
  417. </script>
  418. </button>
  419. </case>
  420. <case id="case2">
  421. <datagrid id="grd_empfood" nodeset="/root/main/gnrlfood" caption="적용일자^끼니^식단구분^재료코드^재료명(식품명)^식단코드^식단명^1인량^h_1인량^식수(명) 계산량^식수(명) 조절량^h_식수(명)^발주량^단위^비고" colsep="^" colwidth="10, 10, 10, 10, 100, 10, 110, 70, 10, 100, 100, 10, 70, 60, 150" dataheight="25" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:2px; top:0px; width:1192px; height:668px; ">
  422. <col ref="appdd" visibility="hidden"/>
  423. <col ref="mealflag" visibility="hidden"/>
  424. <col ref="menuflag" visibility="hidden"/>
  425. <col ref="foodcd" visibility="hidden"/>
  426. <col ref="foodnm"/>
  427. <col ref="dishcd" visibility="hidden"/>
  428. <col ref="dishnm"/>
  429. <col ref="foodqty" type="input" style="text-align:right; "/>
  430. <col ref="h_foodqty" visibility="hidden"/>
  431. <col ref="psnnor1" format="#,###" style="text-align:right; "/>
  432. <col ref="psnno1" type="input" format="#,###" style="text-align:right; "/>
  433. <col ref="h_psnno1" visibility="hidden"/>
  434. <col ref="totalqty" type="input" style="text-align:right; "/>
  435. <col disabled="true" ref="foodunit" type="combo" style="text-align:center; ">
  436. <choices>
  437. <itemset nodeset="/root/init/miscode/plceordunit">
  438. <label ref="cdnm"/>
  439. <value ref="cdid"/>
  440. </itemset>
  441. </choices>
  442. </col>
  443. <col ref="dishrem"/>
  444. </datagrid>
  445. <button id="btn_recalc2" class="btn2_letter3" style="left:950px; top:4px; width:53px; height:19px; ">
  446. <caption>재계산</caption>
  447. <script type="javascript" ev:event="DOMActivate">
  448. <![CDATA[
  449. for ( i=1; i<grd_empfood.rows; i++) {
  450. var foodqty = model.getValue("/root/main/gnrlfood[" + i + "]/foodqty");
  451. var hfoodqty = model.getValue("/root/main/gnrlfood[" + i + "]/h_foodqty");
  452. var psnno1 = model.getValue("/root/main/gnrlfood[" + i + "]/psnno1");
  453. var hpsnno1 = model.getValue("/root/main/gnrlfood[" + i + "]/h_psnno1");
  454. var plceordexchbase = model.getValue("/root/main/gnrlfood[" + i + "]/plceordexchbase");
  455. if ( (foodqty != hfoodqty) || (psnno1 != hpsnno1) ) {
  456. if ( psnno1 == "" ) { psnno1 = 0; }
  457. var totalqty = parseFloat(foodqty) * parseInt(psnno1) / parseFloat(plceordexchbase);
  458. totalqty = totalqty.toString().getRound(-2, "HALF_UP");
  459. model.setValue("/root/main/gnrlfood[" + i + "]/totalqty", parseFloat(totalqty));
  460. model.setValue("/root/main/gnrlfood[" + i + "]/h_foodqty", parseFloat(foodqty));
  461. model.setValue("/root/main/gnrlfood[" + i + "]/h_psnno1", parseInt(psnno1));
  462. }
  463. }
  464. model.refresh();
  465. ]]>
  466. </script>
  467. </button>
  468. </case>
  469. </switch>
  470. </group>
  471. <group id="grp_btn" style="left:0px; top:757px; width:1195px; height:27px; ">
  472. <button id="btn_print" class="btn6_letter2" style="left:5px; top:5px; width:56px; height:22px; ">
  473. <caption>출력</caption>
  474. <script type="javascript" ev:event="DOMActivate">
  475. <![CDATA[
  476. var appdd = model.getValue("/root/send/searchitem/appdd");
  477. var menu = '직원식';
  478. var meal = cmb_mealflag.label;
  479. var yy = appdd.substr(0,4);
  480. var mm = appdd.substr(4,2);
  481. var dd = appdd.substr(6,2);
  482. var dw = getDateTime(appdd.toDate(), 'W');
  483. //식단별 탭화면일때
  484. if ( btn_dish.selected ) {
  485. if ( grd_empdish.rows-1 > 0 ) {
  486. if ( messageBox(menu+" "+dd+"일 "+meal+" 입니다.", "Q003") == 6 ) {
  487. //분류항목 코드를 코드명으로 전환
  488. for ( i = 1; i < grd_empdish.rows; i++ ) {
  489. var dishtableflag = model.getValue("/root/main/gnrldish["+ i +"]/dishtableflag");
  490. var dishtablenm = model.getValue("/root/init/basecode/diettable/A0417[cdid='"+ dishtableflag +"']/cdnm");
  491. model.setValue("/root/main/gnrldish["+ i +"]/dishtablenm", dishtablenm);
  492. }
  493. model.makeNode("/root/main/gnrldish[1]/menu");
  494. model.setValue("/root/main/gnrldish[1]/menu", menu);
  495. model.setValue("/root/main/gnrldish[1]/mealflag", meal);
  496. model.setValue("/root/main/gnrldish[1]/appdd", yy+"년 "+mm+"월 "+dd+"일 "+dw+"요일");
  497. exeReportPreview("RPANT01601", "XMLSTR", "/root/main/gnrldish");
  498. } else { return; }
  499. } else {
  500. messageBox("출력할 데이터가", "I004")
  501. return;
  502. }
  503. }
  504. //식품(재료)별 탭화면일때
  505. else if ( btn_food.selected ) {
  506. if ( grd_empfood.rows-1 > 0 ) {
  507. if ( messageBox(menu+" "+dd+"일 "+meal+" 입니다.", "Q003") == 6 ) {
  508. model.makeNode("/root/main/gnrlfood[1]/menu");
  509. model.setValue("/root/main/gnrlfood[1]/menu", menu);
  510. model.setValue("/root/main/gnrlfood[1]/mealflag", meal);
  511. model.setValue("/root/main/gnrlfood[1]/appdd", yy+"년 "+mm+"월 "+dd+"일 "+dw+"요일");
  512. exeReportPreview("RPANT01602", "XMLSTR", "/root/main/gnrlfood");
  513. } else { return; }
  514. } else {
  515. messageBox("출력할 데이터가", "I004")
  516. return;
  517. }
  518. }
  519. ]]>
  520. </script>
  521. </button>
  522. <button id="btn_reset" class="btn4_letter3" style="left:1060px; top:5px; width:68px; height:22px; ">
  523. <caption>초기화</caption>
  524. <script type="javascript" ev:event="DOMActivate">
  525. <![CDATA[
  526. finit();
  527. ]]>
  528. </script>
  529. </button>
  530. <button id="btn_save" class="btn4_letter2" style="left:1133px; top:5px; width:56px; height:22px; ">
  531. <caption>저장</caption>
  532. <script type="javascript" ev:event="DOMActivate">
  533. <![CDATA[
  534. var appdd = model.getValue("/root/send/searchitem/appdd");
  535. var menu = '직원식';
  536. var meal = cmb_mealflag.label;
  537. var yy = appdd.substr(0,4);
  538. var mm = appdd.substr(4,2);
  539. var dd = appdd.substr(6,2);
  540. if ( grd_empdish.rows-1 > 0 ) {
  541. if ( messageBox(menu+" "+mm+"월 "+dd+"일 "+meal+" 급식실천표를", "Q002") == 6 ) {
  542. var appdd = model.getValue("/root/send/searchitem/appdd");
  543. //필수입력항목 체크
  544. for ( i=1; i<grd_empdish.rows; i++) {
  545. if ( (model.getValue("/root/main/gnrldish[" + i + "]/foodqty") == "") ||
  546. (model.getValue("/root/main/gnrldish[" + i + "]/psnno1") == "") ||
  547. (model.getValue("/root/main/gnrldish[" + i + "]/totalqty") == "") ) {
  548. messageBox("1인량,식수,발주량 항목은", "I003");
  549. return;
  550. }
  551. //저장할 날짜를 급식실천표일자로 setting
  552. model.setValue("/root/main/gnrldish[" + i + "]/appdd", appdd);
  553. }
  554. model.setValue("/root/send/req/dish", grd_empdish.getUpdateData());
  555. // 데이터 존재여부 체크
  556. submit("TRANT01602");
  557. model.makeValue("/root/send/req/savemealflag", cmb_mealflag.value);
  558. if ( model.getValue("/root/temp/ret/count") > 0 ) {
  559. // messageBox(menu+" "+mm+"월 "+dd+"일 "+meal+" 급식실천표가 이미 존재하여 재저장", "E001");
  560. // return;
  561. if ( messageBox("데이터가 이미 존재합니다. 다시", "Q002") == 6 ) {
  562. submit("TXANT01601");
  563. btn_search.dispatch("DOMActivate"); //저장후 재조회
  564. } else { return; }
  565. } else {
  566. submit("TXANT01601");
  567. btn_search.dispatch("DOMActivate"); //저장후 재조회
  568. }
  569. } else { return; }
  570. } else {
  571. messageBox("저장할 데이터가", "I004");
  572. return;
  573. }
  574. ]]>
  575. </script>
  576. </button>
  577. </group>
  578. </xhtml:body>
  579. </xhtml:html>