SMRSO03100_출고관리(영양팀).xrw 77 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/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. <nutrdelive>
  12. <nutrdelivelist/>
  13. <nutrmaxdeliveno/>
  14. </nutrdelive>
  15. <close>
  16. <closelist/>
  17. </close>
  18. </list>
  19. <item/>
  20. </main>
  21. <send>
  22. <save>
  23. <nutrdelivelist/>
  24. <closelist/>
  25. </save>
  26. <nutrdelive>
  27. <instcd/>
  28. <goodflag/>
  29. <delivedd/>
  30. <deliveno/>
  31. <delivedeptcd/>
  32. <delivedeptnm/>
  33. <iokindcd/>
  34. <windeptcd/>
  35. <windeptnm/>
  36. <delivepsn/>
  37. <delivepsnnm/>
  38. <tmp_goodcd/>
  39. <tmp_goodnm/>
  40. <goodcd/>
  41. <goodnm/>
  42. </nutrdelive>
  43. <untrclose>
  44. <instcd/>
  45. <goodflag/>
  46. <delivefrdd/>
  47. <delivetodd/>
  48. <deliveno/>
  49. <delivedeptcd/>
  50. <delivedeptnm/>
  51. <iokindcd/>
  52. <windeptcd/>
  53. <windeptnm/>
  54. <delivepsn/>
  55. <delivepsnnm/>
  56. <tmp_goodcd/>
  57. <tmp_goodnm/>
  58. <goodcd/>
  59. <goodnm/>
  60. <sumflag/>
  61. <endcnfmyn/>
  62. <endcnfmdd/>
  63. </untrclose>
  64. </send>
  65. <init>
  66. <deliveqty/>
  67. <deliveamt/>
  68. <deliveqty_close/>
  69. <deliveamt_close/>
  70. </init>
  71. <hidden>
  72. <sumflag>
  73. <cd>N</cd>
  74. <nm>개별</nm>
  75. </sumflag>
  76. <sumflag>
  77. <cd>Y</cd>
  78. <nm>합산</nm>
  79. </sumflag>
  80. <endcnfmyn>
  81. <cd/>
  82. <nm>전체</nm>
  83. </endcnfmyn>
  84. <endcnfmyn>
  85. <cd>N</cd>
  86. <nm>마감전</nm>
  87. </endcnfmyn>
  88. <endcnfmyn>
  89. <cd>Y</cd>
  90. <nm>마감후</nm>
  91. </endcnfmyn>
  92. <G/>
  93. <T/>
  94. <S/>
  95. <N/>
  96. <list>
  97. <untrclose>
  98. <untrcloselist/>
  99. </untrclose>
  100. </list>
  101. </hidden>
  102. <temp/>
  103. <copynode/>
  104. </root>
  105. </instance>
  106. <bind id="delivedeptqty" ref="/root/main/list/nutrdelive/nutrdelivelist/delivedeptqty" calculate="../patmealdeliveqty +../curemealdeliveqty + ../empmealdeliveqty +../empnigtmealdeliveqty"/>
  107. <bind id="deliveamt" ref="/root/main/list/nutrdelive/nutrdelivelist/deliveamt" calculate="../delivedeptqty * ../goodunitcost"/>
  108. <script type="javascript" ev:event="xforms-ready">
  109. <![CDATA[
  110. //화면 Control을 초기화한다
  111. fCheckAuth();
  112. fInitialize();
  113. ]]>
  114. </script>
  115. <submission id="TRRSO03102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/nutrdelive" resultref="/root/main/list/nutrdelive"/>
  116. <submission id="TXRSO03102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp">"</submission>
  117. <submission id="TRRSO03103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/untrclose" resultref="/root/main/list/close"/>
  118. <submission id="TXRSO03103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/temp"/>
  119. </model>
  120. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  121. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  122. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  123. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  124. <script type="javascript" src="../../../mis/miscommonweb/js/RSZ001.js"/>
  125. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  126. <script type="javascript">
  127. <![CDATA[
  128. function fInitialize() {
  129. misfGridInit(grd_nutrdelive);
  130. grd_nutrdelive.rowHeight(0) = "20";
  131. grd_nutrdelive.rowHeight(1) = "20";
  132. grd_nutrclose.rowHeight(0) = "20";
  133. grd_nutrclose.rowHeight(1) = "20";
  134. model.resetInstanceNode("/root/send");
  135. rszfUserGoodFlagList(cmb_goodflag,getUserInfo("userid"));
  136. //rszfUserInstList(cmb_instcd,getUserInfo("userid"));
  137. misfComboComCdList("Z0007", cmb_instcd, "N");
  138. misfComboComCdList("Z0007", cmb_instcd_close, "N");
  139. misfGridInit(grd_nutrdelive);
  140. misfGridInit(grd_nutrclose);
  141. misfMsterDetailSet(grd_nutrdelive,null, "TRRSO03102" ,"Y");
  142. //misfMsterDetailSet(grd_nutrclose,null, "TRRSO03103" ,"Y");
  143. model.setValue(ipt_delivedd.attribute("ref") , getCurrentDate());
  144. model.setValue(ipt_delivefrdd.attribute("ref") , getCurrentDate());
  145. model.setValue(ipt_delivetodd.attribute("ref") , getCurrentDate());
  146. model.setValue(ipt_endcnfmdd.attribute("ref") , getCurrentDate());
  147. model.setValue(ipt_sumdeliveqty.attribute("ref"),0);
  148. model.setValue(opt_sumdeliveamt.attribute("ref"),0);
  149. // hidden col
  150. // [2010.08.26]AS-IS 코드 TO_BE 코드 전환을 위한 물품구분 변경 (goodflag= S) => (goodflag= SF)
  151. model.setValue(cmb_goodflag.attribute("ref"),'SF');
  152. //getUserInfo("dutplceinstcd")
  153. model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  154. model.setValue(cmb_instcd_close.attribute("ref") , getUserInfo("dutplceinstcd"));
  155. //model.setValue(ipt_delivedeptcd.attribute("ref") , getUserInfo("dutplcecd"));
  156. //model.setValue("/root/send/nutrdelive/windeptcd" , '3251000000');
  157. //model.setValue("/root/send/nutrdelive/delivedeptcd" , '3251000000');
  158. //model.setValue("/root/send/untrclose/delivedeptcd" , '3251000000');
  159. model.setValue("/root/send/nutrdelive/windeptcd" , getUserInfo("dutplcecd"));
  160. model.setValue("/root/send/nutrdelive/delivedeptcd" , getUserInfo("dutplcecd"));
  161. model.setValue("/root/send/untrclose/delivedeptcd" , getUserInfo("dutplcecd"));
  162. rdo_endflag.select(0);
  163. model.setValue(ipt_delivepsn.attribute("ref") , getUserInfo("userid"));
  164. model.setValue(opt_delivepsnnm.attribute("ref") , getUserInfo("usernm"));
  165. model.setValue(ipt_delivepsn_close.attribute("ref") , getUserInfo("userid"));
  166. model.setValue(opt_delivepsnnm_close.attribute("ref") , getUserInfo("usernm"));
  167. rszfGetPurcIOFlagList(cmb_iokindcd, model.getValue(cmb_instcd.attribute("ref")) , "O","N","","E","");
  168. rszfGetPurcIOFlagList(cmb_iokindcd_close, model.getValue(cmb_instcd.attribute("ref")) , "O","N","","E","");
  169. // if(cmb_iokindcd.length> 0) cmb_iokindcd.selectedindex= 0;
  170. grd_nutrdelive.selectionmode = "free";
  171. grd_nutrclose.selectionmode = "free";
  172. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("windd")) = false;
  173. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("winseqno")) = false;
  174. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("goodcd")) = true;
  175. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("goodnm")) = true;
  176. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("orgloc")) = false;
  177. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("goodunitcost")) = false;
  178. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("winunit")) = false;
  179. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("exchqty")) = false;
  180. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("patmealstocqty")) = false;
  181. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("curemealstocqty")) = false;
  182. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("empmealstocqty")) = false;
  183. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("empnigtmealstocqty")) = false;
  184. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("patmealdeliveqty_sum")) = false;
  185. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("patmealdeliveqty_input")) = false;
  186. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("patmealdeliveqty")) = false;
  187. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("curemealdeliveqty_sum")) = false;
  188. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("curemealdeliveqty_input")) = false;
  189. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("curemealdeliveqty")) = false;
  190. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("empmealdeliveqty_sum")) = false;
  191. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("empmealdeliveqty_input")) = false;
  192. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("empmealdeliveqty")) = false;
  193. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("empnigtmealdeliveqty_sum")) = false;
  194. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("empnigtmealdeliveqty_input")) = false;
  195. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("empnigtmealdeliveqty")) = false;
  196. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("deliveamt")) = false;
  197. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("instcd")) = false;
  198. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("goodflag")) = false;
  199. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("delivedd")) = false;
  200. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("deliveno")) = false;
  201. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("deliveseqno")) = false;
  202. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("iokindcd")) = false;
  203. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("delivedeptcd")) = false;
  204. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("delivepsn")) = false;
  205. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("windeptcd")) = false;
  206. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("reqflag")) = false;
  207. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("delivedeptqty")) = false;
  208. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("deliveunit")) = false;
  209. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("deliveunitcost")) = false;
  210. grd_nutrdelive.mergeCol(grd_nutrdelive.colRef("winno")) = false;
  211. cmb_iokindcd.value = '2D';
  212. // cmb_iokindcd.dispatch("xforms-value-changed");
  213. // btn_delive.dispatch("onclick");
  214. model.setValue("/root/send/untrclose/sumflag", "N");
  215. model.refresh();
  216. }
  217. function fCheckAuth() {
  218. btn_search.disabled = !checkAuth("R") ;
  219. btn_save.disabled = !checkAuth("X") ;
  220. }
  221. function fCheckRetrieveData(pmsg)
  222. {
  223. if(swt_1.selected == 0 && model.getValue(cmb_instcd.attribute("ref")).length== 0 || swt_1.selected == 1 && model.getValue(cmb_instcd_close.attribute("ref")).length== 0)
  224. {
  225. if(pmsg == true)
  226. {
  227. messageBox("기관코드를 " ,"C002");
  228. model.setFocus("cmb_instcd");
  229. }
  230. return false;
  231. }
  232. if(swt_1.selected == 0 && model.getValue(cmb_goodflag.attribute("ref")).length== 0 || swt_1.selected == 1 && model.getValue(cmb_goodflag_close.attribute("ref")).length== 0)
  233. {
  234. if(pmsg == true)
  235. {
  236. messageBox("물품구분을 " ,"C002");
  237. model.setFocus("cmb_goodflag");
  238. }
  239. return false;
  240. }
  241. if(swt_1.selected == 0 && model.getValue(ipt_delivefrdd.attribute("ref")).length== 0 || swt_1.selected == 1 && model.getValue(ipt_delivefrdd.attribute("ref")).length== 0 || swt_1.selected == 0 && model.getValue(ipt_delivetodd.attribute("ref")).length== 0 || swt_1.selected == 1 && model.getValue(ipt_delivetodd.attribute("ref")).length== 0)
  242. {
  243. if(pmsg == true)
  244. {
  245. messageBox("출고일자를 " ,"C001");
  246. model.setFocus("ipt_delivedd");
  247. }
  248. return false;
  249. }
  250. if(swt_1.selected == 0 && model.getValue(ipt_delivedeptcd.attribute("ref")).length== 0 || swt_1.selected == 1 && model.getValue(ipt_delivedeptcd_close.attribute("ref")).length== 0)
  251. {
  252. if(pmsg == true)
  253. {
  254. messageBox("출고부서를 " ,"C001");
  255. model.setFocus("ipt_delivedeptcd");
  256. }
  257. return false;
  258. }
  259. if(swt_1.selected == 0 && model.getValue(cmb_iokindcd.attribute("ref")).length== 0 || swt_1.selected == 1 && model.getValue(cmb_iokindcd_close.attribute("ref")).length== 0)
  260. {
  261. if(pmsg == true)
  262. {
  263. messageBox("출고유형을 " ,"C001");
  264. model.setFocus("cmb_iokindcd");
  265. }
  266. return false;
  267. }
  268. if(swt_1.selected == 0 && model.getValue(ipt_delivepsn.attribute("ref")).length== 0 || swt_1.selected == 1 && model.getValue(ipt_delivepsn_close.attribute("ref")).length== 0)
  269. {
  270. if(pmsg == true)
  271. {
  272. messageBox("출고담당자를 " ,"C001");
  273. model.setFocus("ipt_delivepsn");
  274. }
  275. return false;
  276. }
  277. return true;
  278. }
  279. function fDefaultSetting(prow)
  280. {
  281. model.setValue(grd_nutrdelive.nodeset+"["+prow+"]/instcd",model.getValue("/root/send/nutrdelive/instcd"));
  282. model.setValue(grd_nutrdelive.nodeset+"["+prow+"]/goodflag",model.getValue("/root/send/nutrdelive/goodflag"));
  283. model.setValue(grd_nutrdelive.nodeset+"["+prow+"]/delivedd",model.getValue("/root/send/nutrdelive/delivedd"));
  284. model.setValue(grd_nutrdelive.nodeset+"["+prow+"]/delivedeptcd",model.getValue("/root/send/nutrdelive/delivedeptcd"));
  285. model.setValue(grd_nutrdelive.nodeset+"["+prow+"]/iokindcd",model.getValue("/root/send/nutrdelive/iokindcd"));
  286. model.setValue(grd_nutrdelive.nodeset+"["+prow+"]/delivepsn",model.getValue("/root/send/nutrdelive/delivepsn"));
  287. model.setValue(grd_nutrdelive.nodeset+"["+prow+"]/deliveseqno",fGetmaxdeliveseqno());
  288. model.setValue(grd_nutrdelive.nodeset+"["+prow+"]/delivedeptqty",0);
  289. }
  290. function fGetmaxdeliveseqno()
  291. {
  292. var maxdeliveseqno = "";
  293. for(var currow = grd_nutrdelive.fixedRows ; currow < grd_nutrdelive.rows; currow++)
  294. {
  295. if(maxdeliveseqno < grd_nutrdelive.valueMatrix(currow , grd_nutrdelive.colRef("deliveseqno")))
  296. maxdeliveseqno = grd_nutrdelive.valueMatrix(currow , grd_nutrdelive.colRef("deliveseqno"));
  297. }
  298. if(maxdeliveseqno.length == 0)maxdeliveseqno = "001";
  299. else maxdeliveseqno = parseInt(maxdeliveseqno) + 1;
  300. maxdeliveseqno = "" + maxdeliveseqno;
  301. return maxdeliveseqno.getLeftPad(3,"0");
  302. }
  303. function fSettingGoodList(pnode, nodename, userqtynm){
  304. var codynode = instance1.selectNodes(pnode + "/*");
  305. var addRow = grd_nutrdelive.rows - grd_nutrdelive.fixedRows;
  306. if(model.getValue(grd_nutrdelive.nodeset + "[" + addRow + "]/goodcd").length > 0)addRow = addRow + 1;
  307. for (var j = 1; j <= codynode.length ; j++) {
  308. if(addRow > grd_nutrdelive.rows - grd_nutrdelive.fixedRows)
  309. {
  310. misfGridIUD(grd_nutrdelive,"A");
  311. addRow = grd_nutrdelive.rows - grd_nutrdelive.fixedRows;
  312. fDefaultSetting(addRow );
  313. }
  314. model.setValue(grd_nutrdelive.nodeset + "[" + addRow + "]/goodcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodcd"));
  315. model.setValue(grd_nutrdelive.nodeset + "[" + addRow + "]/goodnm" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodnm"));
  316. // model.setValue(grd_nutrdelive.nodeset + "[" + addRow + "]/patmealdeliveqty",model.getValue(pnode +"/" + nodename + "[" + j + "]/" + userqtynm));
  317. // model.setValue(grd_nutrdelive.nodeset + "[" + addRow + "]/curemealdeliveqty",model.getValue(pnode +"/" + nodename + "[" + j + "]/" + userqtynm));
  318. // model.setValue(grd_nutrdelive.nodeset + "[" + addRow + "]/empmealdeliveqty",model.getValue(pnode +"/" + nodename + "[" + j + "]/" + userqtynm));
  319. // model.setValue(grd_nutrdelive.nodeset + "[" + addRow + "]/empnigtmealdeliveqty",model.getValue(pnode +"/" + nodename + "[" + j + "]/" + userqtynm));
  320. model.setValue(grd_nutrdelive.nodeset + "[" + addRow + "]/deliveunit",model.getValue(pnode +"/" + nodename + "[" + j + "]/purcunit"));
  321. model.setValue(grd_nutrdelive.nodeset + "[" + addRow + "]/goodunitcost",model.getValue(pnode +"/" + nodename + "[" + j + "]/goodunitcost"));
  322. model.setValue(grd_nutrdelive.nodeset + "[" + addRow + "]/exchqty",model.getValue(pnode +"/" + nodename + "[" + j + "]/exchqty"));
  323. model.setValue(grd_nutrdelive.nodeset + "[" + addRow + "]/patmealstocqty",model.getValue(pnode +"/" + nodename + "[" + j + "]/stocqty"));
  324. model.setValue(grd_nutrdelive.nodeset + "[" + addRow + "]/curemealstocqty",model.getValue(pnode +"/" + nodename + "[" + j + "]/curemealstocqty"));
  325. model.setValue(grd_nutrdelive.nodeset + "[" + addRow + "]/empmealstocqty",model.getValue(pnode +"/" + nodename + "[" + j + "]/empmealstocqty"));
  326. model.setValue(grd_nutrdelive.nodeset + "[" + addRow + "]/empnigtmealstocqty",model.getValue(pnode +"/" + nodename + "[" + j + "]/empnigtmealstocqty"));
  327. model.setValue(grd_nutrdelive.nodeset + "[" + addRow + "]/orgloc",model.getValue(pnode +"/" + nodename + "[" + j + "]/orgloc"));
  328. addRow = addRow + 1;
  329. }
  330. model.recalculate();
  331. model.refresh();
  332. }
  333. function fCheckSaveData()
  334. {
  335. if(model.getValue(cmb_instcd.attribute("ref")).length== 0 )
  336. {
  337. messageBox("기관코드를 " ,"C002");
  338. model.setFocus("cmb_instcd");
  339. return false;
  340. }
  341. if(model.getValue(cmb_goodflag.attribute("ref")).length== 0 )
  342. {
  343. messageBox("물품구분을 " ,"C002");
  344. model.setFocus("cmb_goodflag");
  345. return false;
  346. }
  347. if(model.getValue(ipt_delivedd.attribute("ref")).length== 0 )
  348. {
  349. messageBox("출고일자를 " ,"C001");
  350. model.setFocus("ipt_delivedd");
  351. return false;
  352. }
  353. if(model.getValue(ipt_delivedeptcd.attribute("ref")).length== 0 )
  354. {
  355. messageBox("출고부서를 " ,"C001");
  356. model.setFocus("ipt_delivedeptcd");
  357. return false;
  358. }
  359. if(model.getValue(cmb_iokindcd.attribute("ref")).length== 0 )
  360. {
  361. messageBox("출고유형을 " ,"C001");
  362. model.setFocus("cmb_iokindcd");
  363. return false;
  364. }
  365. if(model.getValue(ipt_delivepsn.attribute("ref")).length== 0 )
  366. {
  367. messageBox("출고담당자를 " ,"C001");
  368. model.setFocus("ipt_delivepsn");
  369. return false;
  370. }
  371. for(var currow = grd_nutrdelive.fixedRows ; currow < grd_nutrdelive.rows ; currow++)
  372. {
  373. if(grd_nutrdelive.valueMatrix(currow , grd_nutrdelive.colRef("goodcd")).length == 0)
  374. {
  375. messageBox((currow -1)+ " 번째 물품코드를 " ,"C001");
  376. grd_nutrdelive.row = currow;
  377. grd_nutrdelive.col= grd_nutrdelive.colRef("goodcd");
  378. grd_nutrdelive.editCell();
  379. return false;
  380. }
  381. else
  382. {
  383. for(srcrow = currow + 1 ; srcrow < grd_nutrdelive.rows ; srcrow++)
  384. {
  385. if(grd_nutrdelive.valueMatrix(currow , grd_nutrdelive.colRef("goodcd")) == grd_nutrdelive.valueMatrix(srcrow , grd_nutrdelive.colRef("goodcd")))
  386. {
  387. // messageBox("동일 물품코드가 [" + (currow - grd_nutrdelive.fixedRows + 1)+ "," + (srcrow - grd_nutrdelive.fixedRows + 1) + "->" + grd_nutrdelive.valueMatrix(currow , grd_nutrdelive.colRef("goodcd")) + "] 존재하여 저장 " ,"E001");
  388. // return false;
  389. }
  390. }
  391. }
  392. }
  393. return true;
  394. }
  395. function fAfterRetrieve()
  396. {
  397. var delivedeptqty = 0;
  398. var deliveamt = 0;
  399. for(var currow = grd_nutrdelive.fixedRows ; currow < grd_nutrdelive.rows ; currow++)
  400. {
  401. if(grd_nutrdelive.valueMatrix(currow , grd_nutrdelive.colRef("deliveamt"))>0)
  402. {
  403. delivedeptqty = delivedeptqty + 1;
  404. deliveamt = deliveamt + 0 + parseFloat(grd_nutrdelive.valueMatrix(currow , grd_nutrdelive.colRef("deliveamt")));
  405. }
  406. }
  407. model.setValue(ipt_sumdeliveqty.attribute("ref"),delivedeptqty);
  408. model.setValue(opt_sumdeliveamt.attribute("ref"),deliveamt);
  409. model.setValue(ipt_deliveno.attribute("ref"),model.getValue("/root/main/list/nutrdelive/nutrmaxdeliveno/deliveno"));
  410. model.refresh();
  411. }
  412. function fAfterRetrieve_close()
  413. {
  414. var delivedeptqty = 0;
  415. var deliveamt = 0;
  416. var Gamt = 0;
  417. var Tamt = 0;
  418. var Samt = 0;
  419. var Namt = 0;
  420. for(var currow = grd_nutrclose.fixedRows ; currow < grd_nutrclose.rows ; currow++)
  421. {
  422. if(grd_nutrclose.valueMatrix(currow , grd_nutrclose.colRef("deliveamt"))>0)
  423. {
  424. delivedeptqty = delivedeptqty + 1;
  425. deliveamt = deliveamt + parseFloat(grd_nutrclose.valueMatrix(currow , grd_nutrclose.colRef("deliveamt")));
  426. }
  427. vPatmealdeliveqty = grd_nutrclose.valueMatrix(currow , grd_nutrclose.colRef("patmealdeliveqty"));
  428. vCuremealdeliveqty = grd_nutrclose.valueMatrix(currow , grd_nutrclose.colRef("curemealdeliveqty"));
  429. vEmpmealdeliveqty = grd_nutrclose.valueMatrix(currow , grd_nutrclose.colRef("empmealdeliveqty"));
  430. vEmpnigtmealdeliveqty = grd_nutrclose.valueMatrix(currow , grd_nutrclose.colRef("empnigtmealdeliveqty"));
  431. if(vPatmealdeliveqty == 0)vPatmealdeliveqty = 0;
  432. if(vCuremealdeliveqty == 0)vCuremealdeliveqty = 0;
  433. if(vEmpmealdeliveqty == 0)vEmpmealdeliveqty = 0;
  434. if(vEmpnigtmealdeliveqty == 0)vEmpnigtmealdeliveqty = 0;
  435. Gamt = Gamt + parseFloat(vPatmealdeliveqty);
  436. Tamt = Tamt + parseFloat(vCuremealdeliveqty);
  437. Samt = Samt + parseFloat(vEmpmealdeliveqty);
  438. Namt = Namt + parseFloat(vEmpnigtmealdeliveqty);
  439. }
  440. model.setValue(ipt_sumdeliveqty_close.attribute("ref"),delivedeptqty);
  441. model.setValue(opt_sumdeliveamt_close.attribute("ref"),deliveamt);
  442. model.setValue(opt_G.attribute("ref"),Gamt);
  443. model.setValue(opt_T.attribute("ref"),Tamt);
  444. model.setValue(opt_S.attribute("ref"),Samt);
  445. model.setValue(opt_N.attribute("ref"),Namt);
  446. model.refresh();
  447. }
  448. function fgridDeliveCountSetting(sumdeliveValue, stockValue, deliveValue)
  449. {
  450. var deliveCnt = parseFloat(grd_nutrdelive.valueMatrix(grd_nutrdelive.row, grd_nutrdelive.colRef(sumdeliveValue)));
  451. var stocCnt = 0;
  452. //alert(deliveCnt);
  453. if(deliveCnt != 0)
  454. {
  455. var prev_goodcode = grd_nutrdelive.valueMatrix(grd_nutrdelive.row, grd_nutrdelive.colRef("goodcd"));
  456. var next_goodcode = ""
  457. for(var i = grd_nutrdelive.row ; i < grd_nutrdelive.rows ; i ++)
  458. {
  459. var next_goodcode = grd_nutrdelive.valueMatrix(i, grd_nutrdelive.colRef("goodcd"));
  460. if(prev_goodcode == next_goodcode)
  461. {
  462. //alert(parseFloat(grd_nutrdelive.valueMatrix(i, grd_nutrdelive.colRef(stockValue))));
  463. stocCnt = stocCnt + parseFloat(grd_nutrdelive.valueMatrix(i, grd_nutrdelive.colRef(stockValue)))
  464. }
  465. }
  466. }
  467. //alert(deliveCnt + ">" + stocCnt);
  468. if(deliveCnt > stocCnt)
  469. {
  470. messageBox("출고량이 재고량보다 많습니다." ,"I000");
  471. grd_nutrdelive.valueMatrix(grd_nutrdelive.row, grd_nutrdelive.colRef(sumdeliveValue)) = 0;
  472. return false;
  473. }
  474. if(deliveCnt != 0)
  475. {
  476. var prev_goodcode = grd_nutrdelive.valueMatrix(grd_nutrdelive.row, grd_nutrdelive.colRef("goodcd"));
  477. var next_goodcode = "";
  478. for(var i = grd_nutrdelive.row ; i < grd_nutrdelive.rows ; i ++)
  479. {
  480. var next_goodcode = grd_nutrdelive.valueMatrix(i, grd_nutrdelive.colRef("goodcd"));
  481. if(prev_goodcode == next_goodcode)
  482. {
  483. if(deliveCnt > parseFloat(grd_nutrdelive.valueMatrix(i, grd_nutrdelive.colRef(stockValue))))
  484. {
  485. grd_nutrdelive.valueMatrix(i, grd_nutrdelive.colRef(deliveValue))
  486. = parseFloat(grd_nutrdelive.valueMatrix(i, grd_nutrdelive.colRef(stockValue)));
  487. deliveCnt = deliveCnt - parseFloat(grd_nutrdelive.valueMatrix(i, grd_nutrdelive.colRef(stockValue)));
  488. if(deliveCnt == 0)return;
  489. }
  490. else
  491. { //alert(parseFloat(grd_nutrdelive.valueMatrix(grd_nutrdelive.row, grd_nutrdelive.colRef(stockValue))));
  492. grd_nutrdelive.valueMatrix(i, grd_nutrdelive.colRef(deliveValue)) = deliveCnt;
  493. return;
  494. }
  495. }
  496. else
  497. {
  498. return;
  499. }
  500. }
  501. }
  502. }
  503. function finsertionSetting()
  504. {
  505. for(var i = 1 ; i <= model.instance1.selectNodes(grd_nutrdelive.nodeset).length ; i++)
  506. {
  507. vPatmealdeliveqty = model.getValue(grd_nutrdelive.nodeset + "[" + i + "]/patmealdeliveqty");
  508. vCuremealdeliveqty = model.getValue(grd_nutrdelive.nodeset + "[" + i + "]/curemealdeliveqty");
  509. vEmpmealdeliveqty = model.getValue(grd_nutrdelive.nodeset + "[" + i + "]/empmealdeliveqty");
  510. vEmpnigtmealdeliveqty = model.getValue(grd_nutrdelive.nodeset + "[" + i + "]/empnigtmealdeliveqty");
  511. if(vPatmealdeliveqty == "")vPatmealdeliveqty = 0;
  512. if(vCuremealdeliveqty == "")vCuremealdeliveqty = 0;
  513. if(vEmpmealdeliveqty == "")vEmpmealdeliveqty = 0;
  514. if(vEmpnigtmealdeliveqty == "")vEmpnigtmealdeliveqty = 0;
  515. var vDelivedeptqty = parseFloat(vPatmealdeliveqty)
  516. + parseFloat(vCuremealdeliveqty)
  517. + parseFloat(vEmpmealdeliveqty)
  518. + parseFloat(vEmpnigtmealdeliveqty);
  519. model.setValue(grd_nutrdelive.nodeset + "[" + i + "]/iokindcd", cmb_iokindcd.value);
  520. model.setValue(grd_nutrdelive.nodeset + "[" + i + "]/deliveno", ipt_deliveno.value);
  521. model.setValue(grd_nutrdelive.nodeset + "[" + i + "]/delivedeptqty", vDelivedeptqty);
  522. vDelivedeptqty = 0;
  523. }
  524. for(var i = grd_nutrdelive.fixedRows ; i < grd_nutrdelive.rows ; i++)
  525. {
  526. if(parseFloat(grd_nutrdelive.valueMatrix(i, grd_nutrdelive.colRef("deliveamt"))) > 0)
  527. {
  528. grd_nutrdelive.rowStatus(i) = 1;
  529. }
  530. else
  531. {
  532. grd_nutrdelive.rowStatus(i) = 0;
  533. }
  534. }
  535. }
  536. function finsertionSetting_close()
  537. {
  538. // for(var i = 1 ; i <= model.instance1.selectNodes(grd_nutrclose.nodeset).length ; i++)
  539. // {
  540. // alert(i);
  541. // model.setValue(grd_nutrclose.nodeset + "[" + i + "]/endcnfmyn", "Y");
  542. // }
  543. for(var i = grd_nutrclose.fixedRows ; i < grd_nutrclose.rows ; i++)
  544. {
  545. grd_nutrclose.valueMatrix(i, grd_nutrclose.colRef("endcnfmyn")) = "Y";
  546. grd_nutrclose.rowStatus(i) = 2;
  547. }
  548. }
  549. function fsumQTYsetting()
  550. {
  551. var curr_goodcode = grd_nutrdelive.valueMatrix(grd_nutrdelive.fixedRows, grd_nutrdelive.colRef("goodcd"));
  552. var next_goodcode = '';
  553. var set_row = grd_nutrdelive.fixedRows;
  554. var sum_patmealdeliveqty = 0;
  555. var sum_curemealdeliveqty = 0;
  556. var sum_empmealdeliveqty = 0;
  557. var sum_empnigtmealdeliveqty = 0;
  558. for(var i = grd_nutrdelive.fixedRows; i < grd_nutrdelive.rows ; i++)
  559. {
  560. next_goodcode = grd_nutrdelive.valueMatrix(i+1, grd_nutrdelive.colRef("goodcd"));
  561. sum_patmealdeliveqty = sum_patmealdeliveqty + parseFloat(grd_nutrdelive.valueMatrix(i, grd_nutrdelive.colRef("patmealstocqty")));
  562. sum_curemealdeliveqty = sum_curemealdeliveqty + parseFloat(grd_nutrdelive.valueMatrix(i, grd_nutrdelive.colRef("curemealstocqty")));
  563. sum_empmealdeliveqty = sum_empmealdeliveqty + parseFloat(grd_nutrdelive.valueMatrix(i, grd_nutrdelive.colRef("empmealstocqty")));
  564. sum_empnigtmealdeliveqty = sum_empnigtmealdeliveqty + parseFloat(grd_nutrdelive.valueMatrix(i, grd_nutrdelive.colRef("empnigtmealstocqty")));
  565. if(curr_goodcode != next_goodcode)
  566. {
  567. grd_nutrdelive.valueMatrix(set_row, grd_nutrdelive.colRef("patmealdeliveqty_sum")) = sum_patmealdeliveqty;
  568. grd_nutrdelive.valueMatrix(set_row, grd_nutrdelive.colRef("curemealdeliveqty_sum")) = sum_curemealdeliveqty;
  569. grd_nutrdelive.valueMatrix(set_row, grd_nutrdelive.colRef("empmealdeliveqty_sum")) = sum_empmealdeliveqty;
  570. grd_nutrdelive.valueMatrix(set_row, grd_nutrdelive.colRef("empnigtmealdeliveqty_sum")) = sum_empnigtmealdeliveqty;
  571. sum_patmealdeliveqty = 0;
  572. sum_curemealdeliveqty = 0;
  573. sum_empmealdeliveqty = 0;
  574. sum_empnigtmealdeliveqty = 0;
  575. set_row = i+1;
  576. }
  577. curr_goodcode = next_goodcode;
  578. }
  579. }
  580. ]]>
  581. </script>
  582. </xhtml:head>
  583. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  584. <group id="grp_tle" style="left:0px; top:0px; width:1191px; height:13px; ">
  585. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:243px; height:14px; ">출고관리</caption>
  586. </group>
  587. <switch id="swt_1" class="sw_box" style="left:0px; top:25px; width:1195px; height:759px; border-style:solid; ">
  588. <case id="case1" selected="true">
  589. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:10px; width:1193px; height:61px; "/>
  590. <line id="line1" class="line_1" style="x1:0px; y1:96px; x2:1193px; y2:96px; "/>
  591. <input id="ipt_delivedd" ref="/root/send/nutrdelive/delivedd" class="input_s_essential" inputtype="date" style="left:459px; top:18px; width:105px; height:19px; ">
  592. <script type="javascript" ev:event="xforms-value-changed">
  593. <![CDATA[
  594. btn_search.dispatch("DOMActivate");
  595. ]]>
  596. </script>
  597. </input>
  598. <select1 id="cmb_goodflag" ref="/root/send/nutrdelive/goodflag" class="combo_default" visibility="hidden" appearance="minimal" style="left:1080px; top:15px; width:27px; height:19px; ">
  599. <choices>
  600. <itemset nodeset="/root/init/goodflag">
  601. <label ref="cdnm"/>
  602. <value ref="cdid"/>
  603. </itemset>
  604. </choices>
  605. <script type="javascript" ev:event="xforms-value-changed">
  606. <![CDATA[
  607. btn_search.dispatch("DOMActivate");
  608. ]]>
  609. </script>
  610. </select1>
  611. <select1 id="cmb_instcd" ref="/root/send/nutrdelive/instcd" class="combo_s_essential" appearance="minimal" style="left:119px; top:18px; width:192px; height:19px; ">
  612. <choices>
  613. <itemset nodeset="/root/init/instcd">
  614. <label ref="cdnm"/>
  615. <value ref="cdid"/>
  616. </itemset>
  617. </choices>
  618. <script type="javascript" ev:event="xforms-value-changed">
  619. <![CDATA[
  620. btn_search.dispatch("DOMActivate");
  621. ]]>
  622. </script>
  623. </select1>
  624. <caption id="caption3" class="tit_2" style="left:5px; top:80px; width:118px; height:13px; ">출고내역</caption>
  625. <input id="ipt_deliveno" ref="/root/send/nutrdelive/deliveno" class="input_default" editable="false" style="left:569px; top:18px; width:67px; height:19px; ">
  626. <script type="javascript" ev:event="onkeyup">
  627. <![CDATA[
  628. inputEnterKey("btn_search", "DOMActivate");
  629. ]]>
  630. </script>
  631. </input>
  632. <output id="ipt_sumdeliveqty" ref="/root/init/deliveqty" class="output_default" style="left:496px; top:74px; width:70px; height:19px; font-weight:bold; "/>
  633. <output id="opt_sumdeliveamt" ref="/root/init/deliveamt" class="output_default" format="#,###" style="left:650px; top:74px; width:125px; height:19px; font-weight:bold; "/>
  634. <select1 id="cmb_iokindcd" ref="/root/send/nutrdelive/iokindcd" class="combo_s_essential" appearance="minimal" style="left:890px; top:74px; width:170px; height:19px; ">
  635. <choices>
  636. <itemset nodeset="/root/init/ioflag">
  637. <label ref="cdnm"/>
  638. <value ref="cdid"/>
  639. </itemset>
  640. </choices>
  641. <script type="javascript" ev:event="xforms-value-changed">
  642. <![CDATA[
  643. btn_search.dispatch("DOMActivate");
  644. ]]>
  645. </script>
  646. </select1>
  647. <input id="ipt_delivedeptcd" ref="/root/send/nutrdelive/delivedeptcd" class="input_fix" visibility="hidden" appearance="input" style="left:1022px; top:15px; width:27px; height:19px; ">
  648. <script type="javascript" ev:event="xforms-value-changed">
  649. <![CDATA[
  650. misfValidationCheck("02", "", "delivedeptcd,delivedeptnm" );
  651. model.refresh();
  652. btn_search.dispatch("DOMActivate");
  653. ]]>
  654. </script>
  655. </input>
  656. <caption id="caption8" style="left:438px; top:72px; width:80px; height:23px; vertical-align:middle; ">출고건수 :</caption>
  657. <input id="ipt_delivepsn" ref="/root/send/nutrdelive/delivepsn" class="input_default" visibility="hidden" appearance="input" style="left:964px; top:15px; width:27px; height:19px; "/>
  658. <output id="opt_delivepsnnm" ref="/root/send/nutrdelive/delivepsnnm" class="output_fix" appearance="output" style="left:119px; top:44px; width:192px; height:19px; "/>
  659. <button id="btn_search" class="btn1_letter2" navindex="7" style="left:1124px; top:30px; width:56px; height:22px; text-align:left; ">
  660. <caption>조회</caption>
  661. <script type="javascript" ev:event="DOMActivate">
  662. <![CDATA[
  663. if(fCheckRetrieveData(false) == false)return;
  664. misfGridInit(grd_nutrdelive);
  665. misfMsterDetailRetrieve();
  666. //submit("TRRSO03102");
  667. fAfterRetrieve();
  668. fsumQTYsetting();
  669. grd_nutrdelive.colStyle(grd_nutrdelive.colRef("patmealdeliveqty"), "data", "background-color") = "#ffff00";
  670. grd_nutrdelive.colStyle(grd_nutrdelive.colRef("curemealdeliveqty"), "data", "background-color") = "#ffff00";
  671. grd_nutrdelive.colStyle(grd_nutrdelive.colRef("empmealdeliveqty"), "data", "background-color") = "#ffff00";
  672. grd_nutrdelive.colStyle(grd_nutrdelive.colRef("empnigtmealdeliveqty"), "data", "background-color") = "#ffff00";
  673. // 그리드의 fixedRows 가 2 row 이므로 그리드의 열인덱스 정수값은 instance 의 열 인덱스 정수값 보다 1이 많다.
  674. var prev_goodcode = '';
  675. var next_goodcode = '';
  676. for(var i = 1 ; i <= model.instance1.selectNodes(grd_nutrdelive.nodeset).length ; i++)
  677. {
  678. next_goodcode = model.getValue("/root/main/list/nutrdelive/nutrdelivelist[" + i + "]/goodcd");
  679. if(prev_goodcode == next_goodcode)
  680. {
  681. grd_nutrdelive.isReadOnly(i+1, grd_nutrdelive.colRef("patmealdeliveqty_input")) = true;
  682. grd_nutrdelive.isReadOnly(i+1, grd_nutrdelive.colRef("curemealdeliveqty_input")) = true;
  683. grd_nutrdelive.isReadOnly(i+1, grd_nutrdelive.colRef("empmealdeliveqty_input")) = true;
  684. grd_nutrdelive.isReadOnly(i+1, grd_nutrdelive.colRef("empnigtmealdeliveqty_input")) = true;
  685. grd_nutrdelive.cellStyle("background-color", i+1, grd_nutrdelive.colRef("patmealdeliveqty_input")) ="#000000";
  686. grd_nutrdelive.cellStyle("background-color", i+1, grd_nutrdelive.colRef("curemealdeliveqty_input")) ="#000000";
  687. grd_nutrdelive.cellStyle("background-color", i+1, grd_nutrdelive.colRef("empmealdeliveqty_input")) ="#000000";
  688. grd_nutrdelive.cellStyle("background-color", i+1, grd_nutrdelive.colRef("empnigtmealdeliveqty_input")) ="#000000";
  689. grd_nutrdelive.cellStyle("background-color", i+1, grd_nutrdelive.colRef("patmealdeliveqty_sum")) ="#000000";
  690. grd_nutrdelive.cellStyle("background-color", i+1, grd_nutrdelive.colRef("curemealdeliveqty_sum")) ="#000000";
  691. grd_nutrdelive.cellStyle("background-color", i+1, grd_nutrdelive.colRef("empmealdeliveqty_sum")) ="#000000";
  692. grd_nutrdelive.cellStyle("background-color", i+1, grd_nutrdelive.colRef("empnigtmealdeliveqty_sum")) ="#000000";
  693. }
  694. else
  695. {
  696. //grd_nutrdelive.cellStyle("format", i+1, grd_nutrdelive.colRef("patmealdeliveqty_input")) ="#,###.00"
  697. }
  698. prev_goodcode = next_goodcode;
  699. }
  700. model.refresh();
  701. ]]>
  702. </script>
  703. </button>
  704. <datagrid id="grd_nutrdelive" nodeset="/root/main/list/nutrdelive/nutrdelivelist" caption="입고일자^순번^물품코드*^품명^원산지^단가^단위^환산수량^환자식현재고량^환자식현재고량^직원식현재고량^직원식현재고량^환자식출고수량*^환자식출고수량*^환자식출고수량*^환자식출고수량*^환자식출고수량*^환자식출고수량*^직원식출고수량*^직원식출고수량*^직원식출고수량*^직원식출고수량*^직원식출고수량*^직원식출고수량*^출고금액|입고일자^순번^물품코드*^품명^원산지^단가^단위^환산수량^일반식^치료식^직원식^직원야식^일반식^일반식^일반식^치료식^치료식^치료식^직원식^직원식^직원식^직원야식^직원야식^직원야식^출고금액" colsep="^" colwidth="70, 33, 80, 150, 60, 55, 40, 50, 52, 48, 47, 59, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 70, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="25" extendlastcol="scroll" mergecells="bycol" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:0px; top:101px; width:1193px; height:649px; ">
  705. <col ref="windd" format="9999-99-99" style="text-align:center; "/>
  706. <col ref="winseqno" style="text-align:center; "/>
  707. <col ref="goodcd" disable="true"/>
  708. <col ref="goodnm"/>
  709. <col ref="orgloc"/>
  710. <col ref="goodunitcost" format="#,###" style="text-align:right; "/>
  711. <col ref="winunit" style="text-align:center; "/>
  712. <col ref="exchqty" style="text-align:right; "/>
  713. <col ref="patmealstocqty" format="#,###.0" style="text-align:right; "/>
  714. <col ref="curemealstocqty" format="#,###.0" style="text-align:right; "/>
  715. <col ref="empmealstocqty" format="#,###.0" style="text-align:right; "/>
  716. <col ref="empnigtmealstocqty" format="#,###.0" style="text-align:right; "/>
  717. <col ref="patmealdeliveqty_sum" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  718. <col ref="patmealdeliveqty_input" type="input" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  719. <col ref="patmealdeliveqty" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  720. <col ref="curemealdeliveqty_sum" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  721. <col ref="curemealdeliveqty_input" type="input" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  722. <col ref="curemealdeliveqty" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  723. <col ref="empmealdeliveqty_sum" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  724. <col ref="empmealdeliveqty_input" type="input" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  725. <col ref="empmealdeliveqty" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  726. <col ref="empnigtmealdeliveqty_sum" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  727. <col ref="empnigtmealdeliveqty_input" type="input" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  728. <col ref="empnigtmealdeliveqty" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  729. <col ref="deliveamt" format="#,###" style="text-align:right; "/>
  730. <col ref="instcd" visibility="hidden"/>
  731. <col ref="goodflag" visibility="hidden"/>
  732. <col ref="delivedd" visibility="hidden"/>
  733. <col ref="deliveno" visibility="hidden"/>
  734. <col ref="deliveseqno" visibility="hidden"/>
  735. <col ref="iokindcd" visibility="hidden"/>
  736. <col ref="delivedeptcd" visibility="hidden"/>
  737. <col ref="delivepsn" visibility="hidden"/>
  738. <col ref="windeptcd" visibility="hidden"/>
  739. <col ref="reqflag" visibility="hidden"/>
  740. <col ref="delivedeptqty" visibility="hidden"/>
  741. <col ref="deliveunit" visibility="hidden"/>
  742. <col ref="deliveunitcost" visibility="hidden"/>
  743. <col ref="winno" visibility="hidden"/>
  744. <script type="javascript" ev:event="onbuttonclick">
  745. <![CDATA[
  746. if (grd_nutrdelive.col == grd_nutrdelive.colRef("goodcd") && grd_nutrdelive.rowStatus(grd_nutrdelive.row) == "1" ) {//구성물품코드를 눌렀을 경우
  747. model.removenode("/root/copynode");
  748. model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  749. model.makeNode("/root/copynode");
  750. rszfOpenPopUpListByWndName(grd_nutrdelive,"","goodcd,goodnm","SPRSD00190","instcd,goodflag","cmb_instcd,cmb_goodflag");
  751. var cur_row = grd_nutrdelive.row;
  752. var status = grd_nutrdelive.valueMatrix(cur_row, grd_nutrdelive.colRef("m"));
  753. var CSV = model.getValue(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  754. setCSVToNode("/root/copynode", CSV, "nutrdelivelist");
  755. fSettingGoodList("/root/copynode", "nutrdelivelist" , "userqty");
  756. }
  757. ]]>
  758. </script>
  759. <script type="javascript" ev:event="xforms-value-changed">
  760. <![CDATA[
  761. if(grd_nutrdelive.col == grd_nutrdelive.colRef("goodcd") && grd_nutrdelive.valueMatrix(grd_nutrdelive.row, grd_nutrdelive.colRef("goodcd")).length> 0) {
  762. model.removenode("/root/copynode");
  763. model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  764. model.makeNode("/root/copynode");
  765. rszfValidationCheck("TRRSD00191", "goodlist" , "reqdeptcd,refcond,instcd,goodflag,goodcd,goodnm,indexgb,indexnm", ipt_delivedeptcd.value +",goodcd," + model.getValue(cmb_instcd.attribute("ref")) + "," +model.getValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/goodflag") + "," + model.getValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/goodcd") + ",,," ,"","goodcd,goodnm,goodmodel,prodcmpynm,purcunit,stocqty,minexch,goodunitcost",grd_nutrdelive,"SPRSD00190","instcd,goodflag","cmb_instcd," + model.getValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/goodflag"),"Y");
  766. model.refresh();
  767. if( grd_nutrdelive.valueMatrix(cur_row, grd_nutrdelive.colRef("goodnm")).length> 0)
  768. {
  769. // if(model.getValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/minexch") > 0)
  770. // {
  771. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/patmealdeliveqty",model.getValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/minexch") );
  772. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/curemealdeliveqty",model.getValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/minexch") );
  773. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/empmealdeliveqty",model.getValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/minexch") );
  774. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/empnigtmealdeliveqty",model.getValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/minexch") );
  775. // }
  776. // else
  777. // {
  778. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/patmealdeliveqty","1");
  779. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/curemealdeliveqty","1");
  780. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/empmealdeliveqty","1");
  781. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/empnigtmealdeliveqty","1");
  782. // }
  783. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/deliveunit" , model.getValue("/root/init/main/goodlist/purcunit"));
  784. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/goodunitcost" ,model.getValue("/root/init/main/goodlist/goodunitcost"));
  785. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/exchqty" ,model.getValue("/root/init/main/goodlist/exchqty"));
  786. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/patmealstocqty" ,model.getValue("/root/init/main/goodlist/stocqty"));
  787. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/curemealstocqty" ,model.getValue("/root/init/main/goodlist/curemealstocqty"));
  788. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/empmealstocqty" ,model.getValue("/root/init/main/goodlist/empmealstocqty"));
  789. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/empnigtmealstocqty" ,model.getValue("/root/init/main/goodlist/empnigtmealstocqty"));
  790. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/orgloc" ,model.getValue("/root/init/main/goodlist/orgloc"));
  791. }
  792. model.recalculate();
  793. model.refresh();
  794. var cur_row = grd_nutrdelive.row;
  795. var status = grd_nutrdelive.valueMatrix(cur_row, grd_nutrdelive.colRef("m"));
  796. var CSV = model.getValue(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  797. if(CSV.length == 0 && grd_nutrdelive.valueMatrix(cur_row, grd_nutrdelive.colRef("goodnm")).length == 0)
  798. {
  799. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/goodcd" , "");
  800. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/goodnm" , "");
  801. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/delivedeptqty" , "");
  802. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/deliveunit" , "");
  803. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/deliveamt" , "");
  804. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/orgloc" ,"");
  805. grd_nutrdelive.col = grd_nutrdelive.colRef("goodcd");
  806. grd_nutrdelive.editCell();
  807. }
  808. else if(CSV.length > 0)
  809. {
  810. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/goodcd","");
  811. setCSVToNode("/root/copynode", CSV, "nutrdelivelist");
  812. fSettingGoodList("/root/copynode", "nutrdelivelist" , "userqty");
  813. }
  814. }
  815. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  816. // 영양팀은 품목명칭에서 값을 입력할수 있다.. HBH
  817. // 입력값과 일치건이 1일경우 코드 REPLACE
  818. // 없을경우 FIND
  819. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  820. if(grd_nutrdelive.col == grd_nutrdelive.colRef("goodnm") && grd_nutrdelive.valueMatrix(grd_nutrdelive.row, grd_nutrdelive.colRef("goodnm")).length> 0
  821. && grd_nutrdelive.valueMatrix(grd_nutrdelive.row, grd_nutrdelive.colRef("goodcd")).length== 0 )
  822. {
  823. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  824. // validation을 하기 위해 임시 column 을 둔다. HBH
  825. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  826. model.setValue(tmp_goodcd.attribute("ref") ,"%" );
  827. model.setValue(tmp_goodnm.attribute("ref") ,grd_nutrdelive.valueMatrix(grd_nutrdelive.row, grd_nutrdelive.colRef("goodnm")) );
  828. model.removenode("/root/copynode");
  829. model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  830. model.makeNode("/root/copynode");
  831. rszfValidationCheck("TRRSD00191", "goodlist" , "reqdeptcd,refcond,instcd,goodflag,goodnm,goodcd,indexgb,indexnm", ipt_delivedeptcd.value + ",goodcd," + model.getValue(cmb_instcd.attribute("ref")) + "," +model.getValue(cmb_goodflag.attribute("ref")) + ","+model.getValue(tmp_goodnm.attribute("ref")) + ",,," ,"","goodcd,goodnm,goodspec,goodmodel,prodcmpynm,purcunit,stocqty,minexch,goodflag,ddavguseqty,maincustlastsuplplce,suppcustcd,goodunitcost,deliveunit,exchqty",grd_nutrdelive,"SPRSD00210","instcd,goodflag,goodnm","cmb_instcd,cmb_goodflag,tmp_goodnm","Y");
  832. model.refresh();
  833. if(grd_nutrdelive.valueMatrix(grd_nutrdelive.row, grd_nutrdelive.colRef("goodcd")).length> 0) {
  834. model.removenode("/root/copynode");
  835. model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  836. model.makeNode("/root/copynode");
  837. rszfValidationCheck("TRRSD00191", "goodlist" , "reqdeptcd,refcond,instcd,goodflag,goodcd,goodnm,indexgb,indexnm", ipt_delivedeptcd.value + ",goodcd," + model.getValue(cmb_instcd.attribute("ref")) + "," +model.getValue(cmb_goodflag.attribute("ref")) + "," + model.getValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/goodcd") + ",,,,," ,"","goodcd,goodnm,goodspec,goodmodel,prodcmpynm,purcunit,stocqty,minexch,goodflag,ddavguseqty,maincustlastsuplplce,suppcustcd,goodunitcost",grd_nutrdelive,"SPRSD00190","instcd,goodflag","cmb_instcd,cmb_goodflag","Y");
  838. model.refresh();
  839. if( grd_nutrdelive.valueMatrix(cur_row, grd_nutrdelive.colRef("goodnm")).length> 0)
  840. {
  841. // if(model.getValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/minexch") > 0)
  842. // {
  843. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/patmealdeliveqty",model.getValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/minexch") );
  844. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/curemealdeliveqty",model.getValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/minexch") );
  845. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/empmealdeliveqty",model.getValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/minexch") );
  846. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/empnigtmealdeliveqty",model.getValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/minexch") );
  847. // }
  848. // else
  849. // {
  850. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/patmealdeliveqty","1");
  851. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/curemealdeliveqty","1");
  852. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/empmealdeliveqty","1");
  853. // model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/empnigtmealdeliveqty","1");
  854. // }
  855. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/deliveunit" , model.getValue("/root/init/main/goodlist/purcunit"));
  856. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/goodunitcost" ,model.getValue("/root/init/main/goodlist/goodunitcost"));
  857. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/exchqty" ,model.getValue("/root/init/main/goodlist/exchqty"));
  858. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/patmealstocqty" ,model.getValue("/root/init/main/goodlist/stocqty"));
  859. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/curemealstocqty" ,model.getValue("/root/init/main/goodlist/curemealstocqty"));
  860. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/empmealstocqty" ,model.getValue("/root/init/main/goodlist/empmealstocqty"));
  861. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/empnigtmealstocqty" ,model.getValue("/root/init/main/goodlist/empnigtmealstocqty"));
  862. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/orgloc" ,model.getValue("/root/init/main/goodlist/orgloc"));
  863. }
  864. model.recalculate();
  865. model.refresh();
  866. var cur_row = grd_nutrdelive.row;
  867. var status = grd_nutrdelive.valueMatrix(cur_row, grd_nutrdelive.colRef("m"));
  868. var CSV = model.getValue(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  869. if(CSV.length == 0 && grd_nutrdelive.valueMatrix(cur_row, grd_nutrdelive.colRef("goodnm")).length == 0)
  870. {
  871. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/goodcd" , "");
  872. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/goodnm" , "");
  873. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/delivedeptqty" , "");
  874. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/deliveunit" , "");
  875. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/deliveamt" , "");
  876. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1) + "]/orgloc" , "");
  877. grd_nutrdelive.col = grd_nutrdelive.colRef("goodcd");
  878. grd_nutrdelive.editCell();
  879. }
  880. else if(CSV.length > 0)
  881. {
  882. model.setValue(grd_nutrdelive.nodeset + "[" + (grd_nutrdelive.row - grd_nutrdelive.fixedRows + 1)+ "]/goodcd","");
  883. setCSVToNode("/root/copynode", CSV, "nutrdelivelist");
  884. fSettingGoodList("/root/copynode", "nutrdelivelist" , "userqty");
  885. }
  886. }
  887. }
  888. ]]>
  889. </script>
  890. <script type="javascript" ev:event="onkeydown">
  891. <![CDATA[
  892. if(event.keyCode == 9)
  893. {
  894. if(event.shiftKey)
  895. {
  896. if(grd_nutrdelive.colAttribute(grd_nutrdelive.col + 1, "type").indexOf ("input") > -1)
  897. {
  898. for(curcol = grd_nutrdelive.col -1 ; curcol > -1 ; curcol--)
  899. {
  900. if(grd_nutrdelive.colAttribute(curcol, "type").indexOf ("input") > -1)
  901. {
  902. grd_nutrdelive.col = curcol;
  903. grd_nutrdelive.editCell();
  904. return;
  905. }
  906. }
  907. }
  908. }
  909. else
  910. {
  911. if(grd_nutrdelive.colAttribute(grd_nutrdelive.col, "type").indexOf ("input") == -1)
  912. {
  913. if(grd_nutrdelive.col - 1 == grd_nutrdelive.colRef("goodcd") && grd_nutrdelive.valueMatrix(grd_nutrdelive.row, grd_nutrdelive.col - 1).length == 0)
  914. {
  915. grd_nutrdelive.col = grd_nutrdelive.colRef("goodcd");
  916. grd_nutrdelive.editCell();
  917. return;
  918. }
  919. for(curcol = grd_nutrdelive.col ; curcol <grd_nutrdelive.cols ; curcol++)
  920. {
  921. if(grd_nutrdelive.colAttribute(curcol, "type").indexOf ("input") > -1)
  922. {
  923. grd_nutrdelive.col = curcol;
  924. grd_nutrdelive.editCell();
  925. return;
  926. }
  927. }
  928. }
  929. }
  930. }
  931. ]]>
  932. </script>
  933. <script type="javascript" ev:event="onendedit">
  934. <![CDATA[
  935. if(grd_nutrdelive.col == grd_nutrdelive.colRef("patmealdeliveqty_input"))
  936. {
  937. fgridDeliveCountSetting("patmealdeliveqty_input", "patmealstocqty", "patmealdeliveqty")
  938. }
  939. else if(grd_nutrdelive.col == grd_nutrdelive.colRef("curemealdeliveqty_input"))
  940. {
  941. fgridDeliveCountSetting("curemealdeliveqty_input", "curemealstocqty", "curemealdeliveqty")
  942. }
  943. else if(grd_nutrdelive.col == grd_nutrdelive.colRef("empmealdeliveqty_input"))
  944. {
  945. fgridDeliveCountSetting("empmealdeliveqty_input", "empmealstocqty", "empmealdeliveqty")
  946. }
  947. else if(grd_nutrdelive.col == grd_nutrdelive.colRef("empnigtmealdeliveqty_input"))
  948. {
  949. fgridDeliveCountSetting("empnigtmealdeliveqty_input", "empnigtmealstocqty", "empnigtmealdeliveqty")
  950. }
  951. model.recalculate();
  952. fAfterRetrieve();
  953. model.refresh();
  954. ]]>
  955. </script>
  956. </datagrid>
  957. <input id="tmp_goodcd" ref="/root/send/nutrdelive/tmp_goodcd" visibility="hidden" style="left:993px; top:15px; width:27px; height:19px; "/>
  958. <input id="tmp_goodnm" ref="/root/send/nutrdelive/tmp_goodnm" visibility="hidden" style="left:1051px; top:15px; width:27px; height:19px; "/>
  959. <line id="line2" class="line_4" style="x1:1109px; y1:15px; x2:1109px; y2:62px; "/>
  960. <caption id="caption5" class="cell_1" style="left:800px; top:75px; width:85px; height:17px; text-align:center; ">출 고 유 형</caption>
  961. <caption id="caption7" class="search_name" style="left:15px; top:19; width:120px; height:17px; ">기 관 코 드 :</caption>
  962. <caption id="caption9" class="search_name" style="left:15px; top:45px; width:99px; height:17px; ">출고담당자 :</caption>
  963. <caption id="caption11" class="search_name" style="left:353px; top:19; width:120px; height:17px; ">출 고 일 자 :</caption>
  964. <caption id="caption1" style="left:591px; top:72px; width:80px; height:23px; vertical-align:middle; ">출고합계 :</caption>
  965. <input id="ipt_goodnm" ref="/root/send/nutrdelive/goodnm" class="input_fix" appearance="input" style="left:586px; top:44px; width:139px; height:19px; ">
  966. <script type="javascript" ev:event="xforms-value-changed">
  967. <![CDATA[
  968. if(ipt_goodnm.value.length == 0)
  969. ipt_goodcd.value = "";
  970. else
  971. rszfValidationCheck("TRRSD00191", "goodlist" , "refcond,instcd,goodflag,goodnm",
  972. "goodnm," + model.getValue(cmb_instcd.attribute("ref")) + "," + model.getValue(cmb_goodflag.attribute("ref")) + "," + model.getValue(ipt_goodnm.attribute("ref")) ,"","goodcd,goodnm",
  973. ipt_goodcd,"SPRSD00210","instcd,goodflag","cmb_instcd,cmb_goodflag");
  974. model.refresh();
  975. ]]>
  976. </script>
  977. </input>
  978. <input id="ipt_goodcd" ref="/root/send/nutrdelive/goodcd" class="input_search" imemode="disabled" _chartype="upper" style="left:459px; top:44px; width:105px; height:19px; ">
  979. <script type="javascript" ev:event="xforms-value-changed">
  980. <![CDATA[
  981. if(ipt_goodcd.value.length == 0)
  982. ipt_goodnm.value = "";
  983. else
  984. rszfValidationCheck("TRRSD00191", "goodlist" , "refcond,instcd,goodflag,goodcd",
  985. "goodcd," + model.getValue(cmb_instcd.attribute("ref")) + "," + model.getValue(cmb_goodflag.attribute("ref")) + "," + model.getValue(ipt_goodcd.attribute("ref")) ,"","goodcd,goodnm",
  986. ipt_goodcd,"SPRSD00210","instcd,goodflag","cmb_instcd,cmb_goodflag");
  987. model.refresh();
  988. ]]>
  989. </script>
  990. </input>
  991. <caption id="caption16" class="search_name" style="left:353px; top:45px; width:99px; height:17px; ">식자재코드 :</caption>
  992. <button id="button10" class="icon_search" style="left:567px; top:46px; width:16px; height:16px; ">
  993. <caption/>
  994. <script type="javascript" ev:event="DOMActivate">
  995. <![CDATA[
  996. rszfOpenPopUpListByWndName(ipt_goodcd,"","goodcd,goodnm","SPRSD00210","instcd,goodflag","cmb_instcd,cmb_goodflag");
  997. model.refresh();
  998. ]]>
  999. </script>
  1000. </button>
  1001. <button id="btn_save" class="btn4_letter2" style="left:1134px; top:73px; width:56px; height:22px; ">
  1002. <caption>저장</caption>
  1003. <script type="javascript" ev:event="DOMActivate">
  1004. <![CDATA[
  1005. if(grd_nutrdelive.rows != grd_nutrdelive.fixedRows)
  1006. {
  1007. if(fCheckSaveData() == false)return;
  1008. finsertionSetting();
  1009. misfSave("TXRSO03102");
  1010. btn_search.dispatch("DOMActivate");
  1011. //if (model.getValue(gvErrorMsgPath + "/type") != "error")btn_search.dispatch("DOMActivate");
  1012. }
  1013. ]]>
  1014. </script>
  1015. </button>
  1016. <button id="button2" class="btn2_letter4" style="left:1065px; top:75px; width:64px; height:19px; ">
  1017. <caption>엑셀출력</caption>
  1018. <script type="javascript" ev:event="DOMActivate">
  1019. <![CDATA[
  1020. if(grd_excel1.rows != grd_excel1.fixedRows)
  1021. {
  1022. grd_nutrdelive.gridToInstance();
  1023. grd_excel1.rebuild();
  1024. misfSaveExcel(grd_excel1);
  1025. }
  1026. ]]>
  1027. </script>
  1028. </button>
  1029. <datagrid id="grd_excel1" nodeset="/root/main/list/nutrdelive/nutrdelivelist" visibility="hidden" caption="입고일자^순번^물품코드*^품명^원산지^단가^단위^환산수량^환자식현재고량^환자식현재고량^직원식현재고량^직원식현재고량^환자식출고수량*^환자식출고수량*^환자식출고수량*^환자식출고수량*^환자식출고수량*^환자식출고수량*^직원식출고수량*^직원식출고수량*^직원식출고수량*^직원식출고수량*^직원식출고수량*^직원식출고수량*^출고금액|입고일자^순번^물품코드*^품명^원산지^단가^단위^환산수량^일반식^치료식^직원식^직원야식^일반식^일반식^일반식^치료식^치료식^치료식^직원식^직원식^직원식^직원야식^직원야식^직원야식^출고금액" colsep="^" colwidth="70, 33, 80, 150, 60, 55, 40, 50, 52, 48, 47, 59, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 70, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:50px; top:315px; width:1098px; height:199px; ">
  1030. <col ref="windd" format="9999-99-99" style="text-align:center; "/>
  1031. <col ref="winseqno" style="text-align:center; "/>
  1032. <col ref="goodcd" disable="true"/>
  1033. <col ref="goodnm"/>
  1034. <col ref="orgloc"/>
  1035. <col ref="goodunitcost" format="#,###" style="text-align:right; "/>
  1036. <col ref="winunit" style="text-align:center; "/>
  1037. <col ref="exchqty" style="text-align:right; "/>
  1038. <col ref="patmealstocqty" format="#,###.0" style="text-align:right; "/>
  1039. <col ref="curemealstocqty" format="#,###.0" style="text-align:right; "/>
  1040. <col ref="empmealstocqty" format="#,###.0" style="text-align:right; "/>
  1041. <col ref="empnigtmealstocqty" format="#,###.0" style="text-align:right; "/>
  1042. <col ref="patmealdeliveqty_sum" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  1043. <col ref="patmealdeliveqty_input" type="input" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  1044. <col ref="patmealdeliveqty" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  1045. <col ref="curemealdeliveqty_sum" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  1046. <col ref="curemealdeliveqty_input" type="input" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  1047. <col ref="curemealdeliveqty" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  1048. <col ref="empmealdeliveqty_sum" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  1049. <col ref="empmealdeliveqty_input" type="input" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  1050. <col ref="empmealdeliveqty" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  1051. <col ref="empnigtmealdeliveqty_sum" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  1052. <col ref="empnigtmealdeliveqty_input" type="input" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  1053. <col ref="empnigtmealdeliveqty" format="#,###.0" maxlength="14.1" style="text-align:right; "/>
  1054. <col ref="deliveamt" format="#,###" style="text-align:right; "/>
  1055. </datagrid>
  1056. </case>
  1057. <case id="case2">
  1058. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:10px; width:1193px; height:59px; "/>
  1059. <line id="line3" class="line_1" style="x1:0px; y1:118px; x2:1193px; y2:118px; "/>
  1060. <input id="ipt_delivefrdd" ref="/root/send/untrclose/delivefrdd" class="input_s_essential" inputtype="date" style="left:404px; top:18px; width:95px; height:19px; ">
  1061. <script type="javascript" ev:event="xforms-value-changed">
  1062. <![CDATA[
  1063. //btn_search.dispatch("DOMActivate");
  1064. ]]>
  1065. </script>
  1066. </input>
  1067. <select1 id="cmb_goodflag_close" ref="/root/send/untrclose/goodflag" class="combo_default" visibility="hidden" appearance="minimal" style="left:223px; top:97px; width:25px; height:19px; ">
  1068. <choices>
  1069. <itemset nodeset="/root/init/goodflag">
  1070. <label ref="cdnm"/>
  1071. <value ref="cdid"/>
  1072. </itemset>
  1073. </choices>
  1074. <script type="javascript" ev:event="xforms-value-changed">
  1075. <![CDATA[
  1076. btn_search.dispatch("DOMActivate");
  1077. ]]>
  1078. </script>
  1079. </select1>
  1080. <select1 id="cmb_instcd_close" ref="/root/send/untrclose/instcd" class="combo_s_essential" appearance="minimal" style="left:114px; top:18px; width:181px; height:19px; ">
  1081. <choices>
  1082. <itemset nodeset="/root/init/instcd">
  1083. <label ref="cdnm"/>
  1084. <value ref="cdid"/>
  1085. </itemset>
  1086. </choices>
  1087. <script type="javascript" ev:event="xforms-value-changed">
  1088. <![CDATA[
  1089. btn_search.dispatch("DOMActivate");
  1090. ]]>
  1091. </script>
  1092. </select1>
  1093. <caption id="caption2" class="tit_2" style="left:5px; top:102px; width:118px; height:13px; ">마감내역</caption>
  1094. <output id="ipt_sumdeliveqty_close" ref="/root/init/deliveqty_close" class="output_default" style="left:765px; top:96px; width:70px; height:19px; font-weight:bold; "/>
  1095. <output id="opt_sumdeliveamt_close" ref="/root/init/deliveamt_close" class="output_default" format="#,###" style="left:919px; top:96px; width:125px; height:19px; font-weight:bold; "/>
  1096. <select1 id="cmb_iokindcd_close" ref="/root/send/untrclose/iokindcd" class="combo_s_essential" appearance="minimal" style="left:114px; top:43px; width:181px; height:19px; ">
  1097. <choices>
  1098. <itemset nodeset="/root/init/ioflag">
  1099. <label ref="cdnm"/>
  1100. <value ref="cdid"/>
  1101. </itemset>
  1102. </choices>
  1103. <script type="javascript" ev:event="xforms-value-changed">
  1104. <![CDATA[
  1105. btn_search_close.dispatch("DOMActivate");
  1106. ]]>
  1107. </script>
  1108. </select1>
  1109. <input id="ipt_delivedeptcd_close" ref="/root/send/untrclose/delivedeptcd" class="input_fix" visibility="hidden" appearance="input" style="left:196px; top:97px; width:25px; height:19px; ">
  1110. <script type="javascript" ev:event="xforms-value-changed">
  1111. <![CDATA[
  1112. misfValidationCheck("02", "", "delivedeptcd,delivedeptnm" );
  1113. model.refresh();
  1114. btn_search.dispatch("DOMActivate");
  1115. ]]>
  1116. </script>
  1117. </input>
  1118. <caption id="caption4" style="left:707px; top:94px; width:80px; height:23px; vertical-align:middle; ">출고건수 :</caption>
  1119. <input id="ipt_delivepsn_close" ref="/root/send/untrclose/delivepsn" class="input_default" visibility="hidden" appearance="input" style="left:115px; top:97px; width:25px; height:19px; "/>
  1120. <output id="opt_delivepsnnm_close" ref="/root/send/untrclose/delivepsnnm" class="output_fix" appearance="output" style="left:802px; top:74px; width:181px; height:19px; "/>
  1121. <button id="btn_search_close" class="btn1_letter2" navindex="7" style="left:1124px; top:30px; width:56px; height:22px; text-align:left; ">
  1122. <caption>조회</caption>
  1123. <script type="javascript" ev:event="DOMActivate">
  1124. <![CDATA[
  1125. if(fCheckRetrieveData(false) == false)return;
  1126. misfGridInit(grd_nutrclose);
  1127. submit("TRRSO03103");
  1128. fAfterRetrieve_close();
  1129. ]]>
  1130. </script>
  1131. </button>
  1132. <datagrid id="grd_nutrclose" nodeset="/root/main/list/close/closelist" caption="마감여부^출고일자^출고유형^출고번호^순번^물품코드*^품명^원산지^환자식출고수량*^환자식출고수량*^직원식출고수량*^직원식출고수량*^출고금액^출고자|마감여부^출고일자^출고유형^출고번호^순번^물품코드*^품명^원산지^일반식^치료식^직원식^직원야식^출고금액^출고자" colsep="^" colwidth="90, 88, 90, 45, 90, 250, 90, 54, 54, 54, 54, 90, 90, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:0px; top:123px; width:1193px; height:627px; ">
  1133. <col ref="endcnfmyn" style="text-align:center; "/>
  1134. <col ref="delivedd" format="9999-99-99" style="text-align:center; "/>
  1135. <col ref="iokindcd" style="text-align:center; "/>
  1136. <col ref="deliveno" style="text-align:center; "/>
  1137. <col ref="deliveseqno" style="text-align:center; "/>
  1138. <col ref="goodcd"/>
  1139. <col ref="goodnm"/>
  1140. <col ref="orgloc"/>
  1141. <col ref="patmealdeliveqty" format="#,###.#" maxlength="14.1" style="text-align:right; "/>
  1142. <col ref="curemealdeliveqty" format="#,###.#" maxlength="14.1" style="text-align:right; "/>
  1143. <col ref="empmealdeliveqty" format="#,###.#" maxlength="14.1" style="text-align:right; "/>
  1144. <col ref="empnigtmealdeliveqty" format="#,###.#" maxlength="14.1" style="text-align:right; "/>
  1145. <col ref="deliveamt" format="#,###" style="text-align:right; "/>
  1146. <col ref="delivepsn"/>
  1147. <col ref="instcd" visibility="hidden"/>
  1148. <col ref="goodflag" visibility="hidden"/>
  1149. <col ref="goodunitcost" visibility="hidden" format="#,###" style="text-align:right; "/>
  1150. <col ref="deliveunit" visibility="hidden" style="text-align:center; "/>
  1151. <col ref="exchqty" visibility="hidden" style="text-align:right; "/>
  1152. <col ref="iokindcd" visibility="hidden"/>
  1153. <col ref="delivedeptcd" visibility="hidden"/>
  1154. <col ref="windeptcd" visibility="hidden"/>
  1155. <col ref="reqflag" visibility="hidden"/>
  1156. <col ref="delivedeptqty" visibility="hidden"/>
  1157. <col ref="predelivedeptqty" visibility="hidden"/>
  1158. </datagrid>
  1159. <input id="tmp_goodcd_close" ref="/root/send/untrclose/tmp_goodcd" visibility="hidden" style="left:142px; top:97px; width:25px; height:19px; "/>
  1160. <input id="tmp_goodnm_close" ref="/root/send/untrclose/tmp_goodnm" visibility="hidden" style="left:169px; top:97px; width:25px; height:19px; "/>
  1161. <line id="line4" class="line_4" style="x1:1109px; y1:15px; x2:1109px; y2:62px; "/>
  1162. <caption id="caption10" class="search_name" style="left:15px; top:44px; width:120px; height:17px; ">출 고 유 형:</caption>
  1163. <caption id="caption12" class="search_name" style="left:15px; top:19; width:120px; height:17px; ">기 관 코 드:</caption>
  1164. <caption id="caption13" class="cell_1" style="left:706px; top:75px; width:90px; height:17px; text-align:center; ">마감담당자</caption>
  1165. <caption id="caption14" class="search_name" style="left:303px; top:19px; width:120px; height:17px; ">출 고 일 자 :</caption>
  1166. <caption id="caption15" style="left:860px; top:94px; width:80px; height:23px; vertical-align:middle; ">출고합계 :</caption>
  1167. <input id="ipt_goodnm_close" ref="/root/send/untrclose/goodnm" class="input_fix" appearance="input" style="left:521px; top:43px; width:149px; height:19px; ">
  1168. <script type="javascript" ev:event="xforms-value-changed">
  1169. <![CDATA[
  1170. if(ipt_goodnm.value.length == 0)
  1171. ipt_goodcd.value = "";
  1172. else
  1173. rszfValidationCheck("TRRSD00191", "goodlist" , "refcond,instcd,goodflag,goodnm",
  1174. "goodnm," + model.getValue(cmb_instcd_close.attribute("ref")) + "," + model.getValue(cmb_goodflag_close.attribute("ref")) + "," + model.getValue(ipt_goodnm_close.attribute("ref")) ,"","goodcd,goodnm",
  1175. ipt_goodcd,"SPRSD00210","instcd,goodflag","cmb_instcd,cmb_goodflag");
  1176. model.refresh();
  1177. ]]>
  1178. </script>
  1179. </input>
  1180. <input id="ipt_goodcd_close" ref="/root/send/untrclose/goodcd" class="input_search" _chartype="upper" style="left:404px; top:43px; width:95px; height:19px; ">
  1181. <script type="javascript" ev:event="xforms-value-changed">
  1182. <![CDATA[
  1183. if(ipt_goodcd_close.value.length == 0)
  1184. ipt_goodnm_close.value = "";
  1185. else
  1186. rszfValidationCheck("TRRSD00191", "goodlist" , "refcond,instcd,goodflag,goodcd",
  1187. "goodcd," + model.getValue(cmb_instcd_close.attribute("ref")) + "," + model.getValue(cmb_goodflag_close.attribute("ref")) + "," + model.getValue(ipt_goodcd_close.attribute("ref")) ,"","goodcd,goodnm",
  1188. ipt_goodcd_close,"SPRSD00210","instcd,goodflag","cmb_instcd,cmb_goodflag");
  1189. model.refresh();
  1190. ]]>
  1191. </script>
  1192. </input>
  1193. <button id="btn_goodcd_close" class="icon_search" style="left:502px; top:46px; width:16px; height:16px; ">
  1194. <caption/>
  1195. <script type="javascript" ev:event="DOMActivate">
  1196. <![CDATA[
  1197. rszfOpenPopUpListByWndName(ipt_goodcd_close,"","goodcd,goodnm","SPRSD00210","instcd,goodflag","cmb_instcd_close,cmb_goodflag_close");
  1198. model.refresh();
  1199. ]]>
  1200. </script>
  1201. </button>
  1202. <caption id="caption17" class="search_name" style="left:303px; top:44px; width:99px; height:17px; ">식자재코드 :</caption>
  1203. <input id="ipt_delivetodd" ref="/root/send/untrclose/delivetodd" class="input_s_essential" inputtype="date" style="left:521px; top:18px; width:95px; height:19px; ">
  1204. <script type="javascript" ev:event="xforms-value-changed">
  1205. <![CDATA[
  1206. //btn_search.dispatch("DOMActivate");
  1207. ]]>
  1208. </script>
  1209. </input>
  1210. <caption id="caption18" style="left:505px; top:20px; width:25px; height:20px; ">~</caption>
  1211. <button id="button1" class="btn4_letter2" style="left:1134px; top:95px; width:56px; height:22px; ">
  1212. <caption>저장</caption>
  1213. <script type="javascript" ev:event="DOMActivate">
  1214. <![CDATA[
  1215. if(grd_nutrclose.rows != grd_nutrclose.fixedRows)
  1216. {
  1217. if(rdo_sumflag.value == "N")
  1218. {
  1219. if(fCheckSaveData() == false)return;
  1220. finsertionSetting_close();
  1221. model.setValue("/root/send/save/closelist", grd_nutrclose.getUpdateData());
  1222. submit("TXRSO03103");
  1223. btn_search_close.dispatch("DOMActivate");
  1224. //if (model.getValue(gvErrorMsgPath + "/type") != "error")btn_search_close.dispatch("DOMActivate");
  1225. }
  1226. }
  1227. ]]>
  1228. </script>
  1229. </button>
  1230. <select1 id="rdo_sumflag" ref="/root/send/untrclose/sumflag" class="radio_search" appearance="full" cellspacing="20" cols="3" overflow="visible" style="left:780px; top:18px; width:195px; height:20px; vertical-align:middle; border-style:none; ">
  1231. <choices>
  1232. <itemset nodeset="/root/hidden/sumflag">
  1233. <label ref="nm"/>
  1234. <value ref="cd"/>
  1235. </itemset>
  1236. </choices>
  1237. </select1>
  1238. <caption id="caption19" class="search_name" style="left:690px; top:19px; width:86px; height:17px; ">구 분 :</caption>
  1239. <select1 id="rdo_endflag" ref="/root/send/untrclose/endcnfmyn" class="radio_search" appearance="full" cellspacing="20" cols="3" overflow="visible" style="left:780px; top:43px; width:310px; height:20px; vertical-align:middle; border-style:none; ">
  1240. <choices>
  1241. <itemset nodeset="/root/hidden/endcnfmyn">
  1242. <label ref="nm"/>
  1243. <value ref="cd"/>
  1244. </itemset>
  1245. </choices>
  1246. </select1>
  1247. <caption id="caption20" class="search_name" style="left:690px; top:44px; width:86px; height:17px; ">마감여부 :</caption>
  1248. <caption id="cap_S" style="left:562px; top:95px; width:25px; height:23px; font-weight:bold; vertical-align:middle; ">S :</caption>
  1249. <output id="opt_S" ref="/root/hidden/S" class="output_default" style="left:586px; top:95px; width:40px; height:19px; font-weight:bold; "/>
  1250. <caption id="cap_T" style="left:491px; top:95px; width:25px; height:23px; font-weight:bold; vertical-align:middle; ">T :</caption>
  1251. <output id="opt_T" ref="/root/hidden/T" class="output_default" style="left:515px; top:95px; width:40px; height:19px; font-weight:bold; "/>
  1252. <caption id="cap_G" style="left:416px; top:95px; width:25px; height:23px; font-weight:bold; vertical-align:middle; ">G :</caption>
  1253. <output id="opt_G" ref="/root/hidden/G" class="output_default" style="left:440px; top:95px; width:40px; height:19px; font-weight:bold; "/>
  1254. <caption id="caption21" style="left:632px; top:95px; width:25px; height:23px; font-weight:bold; vertical-align:middle; ">N :</caption>
  1255. <output id="opt_N" ref="/root/hidden/N" class="output_default" style="left:656px; top:95px; width:40px; height:19px; font-weight:bold; "/>
  1256. <input id="ipt_endcnfmdd" ref="/root/send/untrclose/endcnfmdd" class="input_s_essential" inputtype="date" style="left:1092px; top:74px; width:95px; height:19px; ">
  1257. <script type="javascript" ev:event="xforms-value-changed">
  1258. <![CDATA[
  1259. //btn_search.dispatch("DOMActivate");
  1260. ]]>
  1261. </script>
  1262. </input>
  1263. <caption id="caption22" class="cell_1" style="left:1000px; top:75px; width:85px; height:17px; text-align:center; ">마 감 일 자</caption>
  1264. <button id="btn_excel2" class="btn2_letter4" style="left:1061px; top:97px; width:64px; height:19px; ">
  1265. <caption>엑셀출력</caption>
  1266. <script type="javascript" ev:event="DOMActivate">
  1267. <![CDATA[
  1268. if(grd_excel.rows != grd_excel.fixedRows) misfSaveExcel(grd_excel2);
  1269. ]]>
  1270. </script>
  1271. </button>
  1272. <datagrid id="grd_excel2" nodeset="/root/main/list/close/closelist" visibility="hidden" caption="마감확정^출고일자^출고유형^출고번호^순번^물품코드*^품명^원산지^환자식출고수량*^환자식출고수량*^직원식출고수량*^직원식출고수량*^출고금액^출고자|마감확정^출고일자^출고유형^출고번호^순번^물품코드*^품명^원산지^일반식^치료식^직원식^직원야식^출고금액^출고자" colsep="^" colwidth="90, 88, 90, 45, 90, 250, 90, 54, 54, 54, 54, 90, 90, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:15px; top:345px; width:1165px; height:222px; ">
  1273. <col ref="endcnfmyn"/>
  1274. <col ref="delivedd" format="9999-99-99" style="text-align:center; "/>
  1275. <col ref="iokindcd" style="text-align:center; "/>
  1276. <col ref="deliveno" style="text-align:center; "/>
  1277. <col ref="deliveseqno" style="text-align:center; "/>
  1278. <col ref="goodcd"/>
  1279. <col ref="goodnm"/>
  1280. <col ref="orgloc"/>
  1281. <col ref="patmealdeliveqty" format="#,###.#" maxlength="14.1" style="text-align:right; "/>
  1282. <col ref="curemealdeliveqty" format="#,###.#" maxlength="14.1" style="text-align:right; "/>
  1283. <col ref="empmealdeliveqty" format="#,###.#" maxlength="14.1" style="text-align:right; "/>
  1284. <col ref="empnigtmealdeliveqty" format="#,###.#" maxlength="14.1" style="text-align:right; "/>
  1285. <col ref="deliveamt" format="#,###" style="text-align:right; "/>
  1286. <col ref="delivepsn"/>
  1287. </datagrid>
  1288. </case>
  1289. </switch>
  1290. <group id="group1" style="left:0px; top:12; width:1195px; height:27px; ">
  1291. <button id="btn_print" class="btn6_letter2" visibility="hidden" style="left:1065px; top:3px; width:56px; height:22px; ">
  1292. <caption>출력</caption>
  1293. </button>
  1294. <button id="btn_init" class="btn4_letter3" style="left:1126px; top:3px; width:68px; height:22px; ">
  1295. <caption>초기화</caption>
  1296. <script type="javascript" ev:event="DOMActivate">
  1297. <![CDATA[
  1298. fInitialize();
  1299. ]]>
  1300. </script>
  1301. </button>
  1302. <line id="line17" class="line_6" style="x1:0px; y1:25; x2:1191px; y2:25px; "/>
  1303. </group>
  1304. <button id="btn_delive" class="btn_sw" group="tab" selected="true" style="left:0px; top:14px; width:78px; height:22px; ">
  1305. <caption>출고관리</caption>
  1306. <toggle case="case1" ev:event="onclick"/>
  1307. </button>
  1308. <button id="btn_1" class="btn_sw" group="tab" style="left:78px; top:14px; width:78px; height:22px; ">
  1309. <caption>마감관리</caption>
  1310. <toggle case="case2" ev:event="onclick"/>
  1311. </button>
  1312. </xhtml:body>
  1313. </xhtml:html>