SMRSI03700_기타입고관리(영양팀).xrw 53 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:ex="http://www.comsquare.co.kr/xforms/excel" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:my="http://www.comsquare.co.kr/example" xmlns:ms="urn:schemas-microsoft-com:xslt" 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" xmlns:cs="http://www.comsquare.co.kr/xforms">
  4. <xhtml:head>
  5. <xhtml:title>기타입고관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <list>
  11. <nutrwin>
  12. <nutrwinlist/>
  13. <nutrmaxwinno/>
  14. </nutrwin>
  15. </list>
  16. <item/>
  17. </main>
  18. <send>
  19. <save>
  20. <nutrwinlist/>
  21. </save>
  22. <nutrwin>
  23. <instcd/>
  24. <goodflag/>
  25. <windd/>
  26. <winno/>
  27. <winpsn/>
  28. <winpsnnm/>
  29. <windeptcd/>
  30. <windeptnm/>
  31. <delivepsn/>
  32. <delivepsnnm/>
  33. <delivedeptcd/>
  34. <delivedeptnm/>
  35. <installplcecd/>
  36. <installplcenm/>
  37. <paycond/>
  38. <suplplcecd/>
  39. <suplplcenm/>
  40. <temppay/>
  41. <calcdocukind/>
  42. <elctstmntyn/>
  43. <calcdocudd/>
  44. <purcdmndfrdd/>
  45. <purcdmndtodd/>
  46. <addtax/>
  47. <iokind/>
  48. <tmp_goodcd/>
  49. <tmp_goodnm/>
  50. <chkyn/>
  51. <reqdeptcd/>
  52. <acntcd/>
  53. </nutrwin>
  54. <savenonwin>
  55. <nutrnonwinlist/>
  56. </savenonwin>
  57. </send>
  58. <init>
  59. <winqty/>
  60. <winamt/>
  61. <paycond>
  62. <label>정상</label>
  63. <value>1</value>
  64. <label>지불필</label>
  65. <value>2</value>
  66. </paycond>
  67. </init>
  68. <hidden/>
  69. <temp/>
  70. <copynode/>
  71. </root>
  72. </instance>
  73. <bind id="winunitcost" ref="/root/main/list/nutrtnonwin/nutrnonwinlist/winunitcost" calculate="../goodunitcost"/>
  74. <bind id="nonpatmealwinamt" ref="/root/main/list/nutrtnonwin/nutrnonwinlist/patmealwinamt" calculate="../goodunitcost *../patmealwinqty"/>
  75. <bind id="noncuremealwinamt" ref="/root/main/list/nutrtnonwin/nutrnonwinlist/curemealwinamt" calculate="../goodunitcost *../curemealwinqty"/>
  76. <bind id="nonempmealwinamt" ref="/root/main/list/nutrtnonwin/nutrnonwinlist/empmealwinamt" calculate="../goodunitcost *../empmealwinqty"/>
  77. <bind id="nonempnigtmealwinamt" ref="/root/main/list/nutrtnonwin/nutrnonwinlist/empnigtmealwinamt" calculate="../goodunitcost *../empnigtmealwinqty"/>
  78. <bind id="nonwinqty" ref="/root/main/list/nutrtnonwin/nutrnonwinlist/winqty" calculate="../patmealwinqty +../curemealwinqty + ../empmealwinqty +../empnigtmealwinqty"/>
  79. <bind id="nonwinamt" ref="/root/main/list/nutrtnonwin/nutrnonwinlist/winamt" calculate="../winqty * ../goodunitcost"/>
  80. <bind id="patmealwinamt" ref="/root/main/list/nutrwin/nutrwinlist/patmealwinamt" calculate="../winunitcost *../patmealwinqty"/>
  81. <bind id="curemealwinamt" ref="/root/main/list/nutrwin/nutrwinlist/curemealwinamt" calculate="../winunitcost *../curemealwinqty"/>
  82. <bind id="empmealwinamt" ref="/root/main/list/nutrwin/nutrwinlist/empmealwinamt" calculate="../winunitcost *../empmealwinqty"/>
  83. <bind id="empnigtmealwinamt" ref="/root/main/list/nutrwin/nutrwinlist/empnigtmealwinamt" calculate="../winunitcost *../empnigtmealwinqty"/>
  84. <bind id="sumpatqty" ref="/root/main/list/nutrwin/nutrwinlist/sumpatqty" calculate="../patmealwinqty +../curemealwinqty"/>
  85. <bind id="sumempqty" ref="/root/main/list/nutrwin/nutrwinlist/sumempqty" calculate="../empmealwinqty +../empnigtmealwinqty"/>
  86. <bind id="sumpatamt" ref="/root/main/list/nutrwin/nutrwinlist/sumpatamt" calculate="../sumpatqty *../winunitcost"/>
  87. <bind id="sumempamt" ref="/root/main/list/nutrwin/nutrwinlist/sumempamt" calculate="../sumempqty *../winunitcost"/>
  88. <bind id="winqty" ref="/root/main/list/nutrwin/nutrwinlist/winqty" calculate="../patmealwinqty +../curemealwinqty + ../empmealwinqty +../empnigtmealwinqty"/>
  89. <bind id="winamt" ref="/root/main/list/nutrwin/nutrwinlist/winamt" calculate="../sumpatamt +../sumempamt"/>
  90. <script type="javascript" ev:event="xforms-ready">
  91. <![CDATA[
  92. //화면 Control을 초기화한다
  93. fCheckAuth();
  94. fInitialize();
  95. ]]>
  96. </script>
  97. <submission id="TRRSI05101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/nutrwin" resultref="/root/main/list/nutrwin"/>
  98. <submission id="TRRSI05102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/nutrwin" resultref="/root/main/list/nutrnonwin"/>
  99. <submission id="TXRSI05101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp"/>
  100. <submission id="TXRSI05102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savenonwin" resultref="/root/hidden/temp"/>
  101. <submission id="TXRSI05103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp"/>
  102. </model>
  103. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  104. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  105. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  106. <script type="javascript" src="../../../mis/miscommonweb/js/RSZ001.js"/>
  107. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  108. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  109. <script type="javascript">
  110. <![CDATA[
  111. var RetrYn = "Y";
  112. function fInitialize() {
  113. misfGridInit(grd_nutrwin);
  114. grd_nutrwin.rowHeight(0) = "20";
  115. grd_nutrwin.rowHeight(1) = "20";
  116. model.resetInstanceNode("/root/send");
  117. rszfUserGoodFlagList(cmb_goodflag,getUserInfo("userid"));
  118. rszfUserInstList(cmb_instcd,getUserInfo("userid"));
  119. rszfGetPurcIOFlagList(cmb_iokindcd, model.getValue(cmb_instcd.attribute("ref")) , "I","N","","E","");
  120. misfMsterDetailSet(grd_nutrwin,null, "TRRSI05101" ,"Y");
  121. var curdate = getCurrentDate();
  122. var cvtdate = curdate.toDate("YYYYMMDD");
  123. model.setValue(ipt_windd.attribute("ref") ,curdate);
  124. model.setValue(ipt_sumwinqty.attribute("ref"),0);
  125. model.setValue(opt_sumwinamt.attribute("ref"),0);
  126. // hidden column
  127. model.setValue(cmb_goodflag.attribute("ref"),'SF');
  128. model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  129. model.setValue(ipt_windeptcd.attribute("ref") , getUserInfo("dutplcecd"));
  130. // model.setValue(ipt_winpsn.attribute("ref") , getUserInfo("userid"));
  131. model.setValue(opt_reqdeptcd.attribute("ref"), getUserInfo("dutplcecd"));
  132. grd_nutrwin.explorerbar = "sortshow";
  133. // 빈센트용 ------------------------------------------------------------
  134. if(model.getValue(cmb_instcd.attribute("ref"))=='017'){
  135. cmb_acntcd.visible = true;
  136. cpt_acntcd.visible = true;
  137. }
  138. rdo_paycond.select(1);
  139. //model.setValue("/root/send/nutrwin/chkyn","Y");
  140. model.refresh();
  141. }
  142. function fCheckAuth() {
  143. btn_search.disabled = !checkAuth("R") ;
  144. btn_save.disabled = !checkAuth("X") ;
  145. }
  146. function fCheckRetrieveData(pmsg)
  147. {
  148. //아래는 cmb_acntcd는 빈센트 용으로 pmsg와 상관없이 행추가시 무조건 조건체크한다.
  149. if(model.getValue(cmb_acntcd.attribute("ref")).length== 0 && model.getValue(cmb_instcd.attribute("ref"))=='017' )
  150. {
  151. //if(pmsg == true){
  152. messageBox("예산을 " ,"C002");
  153. model.setFocus("cmb_acntcd");
  154. //}
  155. return false;
  156. }
  157. if(model.getValue(cmb_instcd.attribute("ref")).length== 0 )
  158. {
  159. if(pmsg == true)
  160. {
  161. messageBox("기관코드를 " ,"C002");
  162. model.setFocus("cmb_instcd");
  163. }
  164. return false;
  165. }
  166. if(model.getValue(cmb_goodflag.attribute("ref")).length== 0 )
  167. {
  168. if(pmsg == true)
  169. {
  170. messageBox("물품구분을 " ,"C002");
  171. model.setFocus("cmb_goodflag");
  172. }
  173. return false;
  174. }
  175. /*
  176. if(model.getValue(ipt_suplplcecd.attribute("ref")).length== 0 )
  177. {
  178. if(pmsg == true)
  179. {
  180. messageBox("공급처를 " ,"C001");
  181. model.setFocus("ipt_suplplcecd");
  182. }
  183. return false;
  184. }
  185. */
  186. if(model.getValue(ipt_windeptcd.attribute("ref")).length== 0 )
  187. {
  188. if(pmsg == true)
  189. {
  190. messageBox("입고부서를 " ,"C001");
  191. model.setFocus("ipt_windeptcd");
  192. }
  193. return false;
  194. }
  195. if(model.getValue(ipt_windd.attribute("ref")).length== 0 )
  196. {
  197. if(pmsg == true)
  198. {
  199. messageBox("입고일자를 " ,"C001");
  200. model.setFocus("ipt_windd");
  201. }
  202. return false;
  203. }
  204. if(model.getValue(cmb_iokindcd.attribute("ref")).length== 0 )
  205. {
  206. if(pmsg == true)
  207. {
  208. messageBox("입고유형를 " ,"C001");
  209. model.setFocus("cmb_iokindcd");
  210. }
  211. return false;
  212. }
  213. return true;
  214. }
  215. function fDefaultSetting(prow)
  216. {
  217. var grd_setting;
  218. // if(sch_select.selectedIndex == 0)grd_setting = grd_nonwin;
  219. // else grd_setting = grd_nutrwin;
  220. grd_setting = grd_nutrwin;
  221. model.setValue(grd_setting.nodeset+"["+prow+"]/instcd",model.getValue("/root/send/nutrwin/instcd"));
  222. model.setValue(grd_setting.nodeset+"["+prow+"]/goodflag",model.getValue("/root/send/nutrwin/goodflag"));
  223. model.setValue(grd_setting.nodeset+"["+prow+"]/windd",model.getValue("/root/send/nutrwin/windd"));
  224. model.setValue(grd_setting.nodeset+"["+prow+"]/winpsn",model.getValue("/root/send/nutrwin/winpsn"));
  225. model.setValue(grd_setting.nodeset+"["+prow+"]/windeptcd",model.getValue("/root/send/nutrwin/windeptcd"));
  226. model.setValue(grd_setting.nodeset+"["+prow+"]/calcdocukind",model.getValue("/root/send/nutrwin/calcdocukind"));
  227. model.setValue(grd_setting.nodeset+"["+prow+"]/calcdocudd",model.getValue("/root/send/nutrwin/calcdocudd"));
  228. // model.setValue(grd_setting.nodeset+"["+prow+"]/suplplcecd",model.getValue("/root/send/nutrwin/suplplcecd"));
  229. model.setValue(grd_setting.nodeset+"["+prow+"]/winseqno",fGetMaxWinSeqNo());
  230. model.setValue(grd_setting.nodeset+"["+prow+"]/iokind",model.getValue(cmb_iokindcd.attribute("ref")));
  231. model.setValue(grd_setting.nodeset+"["+prow+"]/winpsn",getUserInfo("userid"));
  232. model.setValue(grd_setting.nodeset + "[" + prow + "]/chkyn" ,"Y");
  233. model.setValue(grd_setting.nodeset + "[" + prow + "]/chkdd" ,getCurrentDate());
  234. model.setValue(grd_setting.nodeset + "[" + prow + "]/chkpsn" ,getUserInfo("userid"));
  235. model.setValue(grd_setting.nodeset + "[" + prow + "]/iudflag" ,"I");
  236. //빈센트용으로 acntcd를 넣어준다.
  237. if(model.getValue(cmb_instcd.attribute("ref"))=='017'){
  238. //grd_setting.valueMatrix(grd_setting.row,grd_setting.colRef("acntcd"))=model.getvalue(cmb_acntcd.attribute("ref"));
  239. model.setValue(grd_setting.nodeset + "[" + prow + "]/acntcd" ,model.getvalue(cmb_acntcd.attribute("ref")));
  240. }
  241. }
  242. function fGetMaxWinSeqNo()
  243. {
  244. var maxwinseqno = "";
  245. for(var currow = grd_nutrwin.fixedRows ; currow < grd_nutrwin.rows; currow++)
  246. {
  247. if(maxwinseqno < grd_nutrwin.valueMatrix(currow , grd_nutrwin.colRef("winseqno")))
  248. maxwinseqno = grd_nutrwin.valueMatrix(currow , grd_nutrwin.colRef("winseqno"));
  249. }
  250. if(maxwinseqno.length == 0)maxwinseqno = "001";
  251. else maxwinseqno = parseInt(maxwinseqno) + 1;
  252. maxwinseqno = "" + maxwinseqno;
  253. return maxwinseqno.getLeftPad(3,"0");
  254. }
  255. function fSettingGoodList(pnode, nodename, userqtynm){
  256. var codynode = instance1.selectNodes(pnode + "/*");
  257. var addRow = grd_nutrwin.rows - grd_nutrwin.fixedRows;
  258. if(model.getValue(grd_nutrwin.nodeset + "[" + addRow + "]/goodcd").length > 0)addRow = addRow + 1;
  259. for (var j = 1; j <= codynode.length ; j++) {
  260. if(addRow > grd_nutrwin.rows - grd_nutrwin.fixedRows)
  261. {
  262. misfGridIUD(grd_nutrwin,"A");
  263. addRow = grd_nutrwin.rows - grd_nutrwin.fixedRows;
  264. fDefaultSetting(addRow );
  265. }
  266. model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/goodcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodcd"));
  267. model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/goodnm" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodnm"));
  268. model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/winpackqty" , model.getValue(pnode +"/" + nodename + "[" + j + "]/" + userqtynm));
  269. model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/winpackunit" , model.getValue(pnode +"/" + nodename + "[" + j + "]/purcunit"));
  270. model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/winunit" , model.getValue(pnode +"/" + nodename + "[" + j + "]/purcunit"));
  271. // model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/patmealwinqty" , model.getValue(pnode +"/" + nodename + "[" + j + "]/" + userqtynm));
  272. // model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/curemealwinqty" , model.getValue(pnode +"/" + nodename + "[" + j + "]/" + userqtynm));
  273. // model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/empmealwinqty" , model.getValue(pnode +"/" + nodename + "[" + j + "]/" + userqtynm));
  274. // model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/empnigtmealwinqty" , model.getValue(pnode +"/" + nodename + "[" + j + "]/" + userqtynm));
  275. model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/winpackcntperunit" ,1);
  276. model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/winunitcost" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodunitcost"));
  277. model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/iokind" , model.getValue(cmb_iokindcd.attribute("ref")) );
  278. model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/suplplcecd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/maincustlastsuplplce"));
  279. model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/suplplcenm" , model.getValue(pnode +"/" + nodename + "[" + j + "]/maincustlastsuplplcenm"));
  280. model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/suppcustcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/suppcustcd"));
  281. model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/subsuplplcenm" , model.getValue(pnode +"/" + nodename + "[" + j + "]/subsuplplcenm"));
  282. model.setValue(grd_nutrwin.nodeset + "[" + addRow + "]/orgloc" , model.getValue(pnode +"/" + nodename + "[" + j + "]/orgloc"));
  283. addRow = addRow + 1;
  284. }
  285. model.recalculate();
  286. model.refresh();
  287. }
  288. function fCheckSaveData()
  289. {
  290. if(model.getValue(cmb_instcd.attribute("ref")).length== 0 )
  291. {
  292. messageBox("기관코드를 " ,"C002");
  293. model.setFocus("cmb_instcd");
  294. return false;
  295. }
  296. if(model.getValue(cmb_goodflag.attribute("ref")).length== 0 )
  297. {
  298. messageBox("물품구분을 " ,"C002");
  299. model.setFocus("cmb_goodflag");
  300. return false;
  301. }
  302. if(model.getValue(ipt_windd.attribute("ref")).length== 0 )
  303. {
  304. messageBox("입고일자를 " ,"C001");
  305. model.setFocus("ipt_windd");
  306. return false;
  307. }
  308. if(model.getValue(ipt_windeptcd.attribute("ref")).length== 0 )
  309. {
  310. messageBox("입고부서를 " ,"C001");
  311. model.setFocus("ipt_windeptcd");
  312. return false;
  313. }
  314. if(model.getValue(cmb_iokindcd.attribute("ref")).length== 0 )
  315. {
  316. messageBox("입고유형을 " ,"C001");
  317. model.setFocus("cmb_iokindcd");
  318. return false;
  319. }
  320. /*
  321. if(model.getValue(ipt_suplplcecd.attribute("ref")).length== 0 )
  322. {
  323. messageBox("공급처를 " ,"C001");
  324. model.setFocus("ipt_suplplcecd");
  325. return false;
  326. }
  327. */
  328. for(var currow = grd_nutrwin.fixedRows ; currow < grd_nutrwin.rows ; currow++)
  329. {
  330. if(grd_nutrwin.valueMatrix(currow , grd_nutrwin.colRef("goodcd")).length == 0)
  331. {
  332. messageBox((currow - grd_nutrwin.fixedRows + 1) + " 번째 물품코드를 " ,"C001");
  333. grd_nutrwin.row = currow ;
  334. grd_nutrwin.col= grd_nutrwin.colRef("goodcd");
  335. grd_nutrwin.editCell();
  336. return false;
  337. }
  338. else
  339. {
  340. for(srcrow = currow + 1 ; srcrow < grd_nutrwin.rows ; srcrow++)
  341. {
  342. if(grd_nutrwin.valueMatrix(currow , grd_nutrwin.colRef("goodcd")) == grd_nutrwin.valueMatrix(srcrow , grd_nutrwin.colRef("goodcd")))
  343. {
  344. messageBox("동일 물품코드가 [" + (currow - grd_nutrwin.fixedRows + 1)+ "," + (srcrow - grd_nutrwin.fixedRows + 1)+ "->" + grd_nutrwin.valueMatrix(currow , grd_nutrwin.colRef("goodcd")) + "] 존재하여 저장 " ,"E001");
  345. return false;
  346. }
  347. }
  348. }
  349. // if(grd_nutrwin.valueMatrix(currow , grd_nutrwin.colRef("patmealwinqty")).length == 0 &&
  350. // grd_nutrwin.valueMatrix(currow , grd_nutrwin.colRef("curemealwinqty")).length == 0 &&
  351. // grd_nutrwin.valueMatrix(currow , grd_nutrwin.colRef("empmealwinqty")).length == 0 &&
  352. // grd_nutrwin.valueMatrix(currow , grd_nutrwin.colRef("empnigtmealwinqty")).length == 0)
  353. // {
  354. // messageBox((currow - grd_nutrwin.fixedRows + 1)+ " 번째 수량을 " ,"C001");
  355. // grd_nutrwin.row = currow ;
  356. // grd_nutrwin.col= grd_nutrwin.colRef("patmealwinqty");
  357. // grd_nutrwin.editCell();
  358. // return false;
  359. // }
  360. }
  361. return true;
  362. }
  363. function fAfterRetrieve()
  364. {
  365. var winqty = 0;
  366. var winamt = 0;
  367. for(var currow = grd_nutrwin.fixedRows ; currow < grd_nutrwin.rows ; currow++)
  368. {
  369. winqty = winqty + parseFloat( grd_nutrwin.valueMatrix(currow , grd_nutrwin.colRef("winqty")));
  370. winamt = winamt + 0 + parseFloat(grd_nutrwin.valueMatrix(currow , grd_nutrwin.colRef("winamt")));
  371. }
  372. model.setValue(ipt_sumwinqty.attribute("ref"),grd_nutrwin.rows - grd_nutrwin.fixedRows);
  373. model.setValue(opt_sumwinamt.attribute("ref"),winamt);
  374. model.setValue(ipt_winno.attribute("ref"),model.getValue("/root/main/list/nutrwin/nutrmaxwinno/winno"));
  375. model.recalculate();
  376. model.refresh();
  377. }
  378. ]]>
  379. </script>
  380. </xhtml:head>
  381. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  382. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  383. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:243px; height:14px; ">기타입고 관리</caption>
  384. </group>
  385. <group id="grp_biz" scroll="auto" style="left:0px; top:38; width:1195; height:744px; ">
  386. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:10px; width:1195px; height:61px; "/>
  387. <input id="ipt_winno" ref="/root/send/nutrwin/winno" class="input_default" editable="false" maxlength="4" style="left:439px; top:18px; width:57px; height:19px; ">
  388. <script type="javascript" ev:event="onkeyup">
  389. <![CDATA[
  390. inputEnterKey("btn_search", "DOMActivate");
  391. ]]>
  392. </script>
  393. </input>
  394. <input id="ipt_windeptcd" ref="/root/send/nutrwin/windeptcd" class="input_essential" visibility="hidden" maxlength="10" appearance="input" style="left:1080px; top:45px; width:24px; height:19px; ">
  395. <script type="javascript" ev:event="xforms-value-changed">
  396. <![CDATA[
  397. misfValidationCheck("02", "", "windeptcd,windeptnm" );
  398. model.refresh();
  399. if(RetrYn == "Y")btn_search.dispatch("DOMActivate");
  400. ]]>
  401. </script>
  402. </input>
  403. <button id="bnt_suplplcecd" class="icon_search" style="left:441px; top:46px; width:16px; height:16px; ">
  404. <caption/>
  405. <script type="javascript" ev:event="DOMActivate">
  406. <![CDATA[
  407. rszfOpenPopUpListByWndName(ipt_suplplcecd,"","suplplcecd,suplplcenm","SPRSD00220","instcd","cmb_instcd");
  408. model.refresh();
  409. btn_search.dispatch("DOMActivate");
  410. ]]>
  411. </script>
  412. </button>
  413. <input id="ipt_suplplcecd" ref="/root/send/nutrwin/suplplcecd" class="input_default" maxlength="10" style="left:345px; top:45px; width:92px; height:19px; ">
  414. <script type="javascript" ev:event="xforms-value-changed">
  415. <![CDATA[
  416. if(ipt_suplplcecd.value.length == 0)
  417. ipt_suplplcenm.value = "";
  418. else
  419. rszfValidationCheck("TRRSD00221", "reqcustomlist", "instcd,refcond,retrnm", model.getValue(cmb_instcd.attribute("ref")) +",," + model.getValue(ipt_suplplcecd.attribute("ref")),"","suplplcecd,suplplcenm" ,ipt_suplplcecd,"SPRSD00220","instcd","cmb_instcd");
  420. model.refresh();
  421. btn_search.dispatch("DOMActivate");
  422. ]]>
  423. </script>
  424. </input>
  425. <input id="ipt_suplplcenm" ref="/root/send/nutrwin/suplplcenm" class="input_fix" appearance="input" style="left:460px; top:45px; width:241px; height:19px; ">
  426. <script type="javascript" ev:event="xforms-value-changed">
  427. <![CDATA[
  428. if(ipt_suplplcenm.value.length == 0)
  429. ipt_suplplcecd.value = "";
  430. else
  431. rszfValidationCheck("TRRSD00221", "reqcustomlist", "instcd,refcond,retrnm",
  432. model.getValue(cmb_instcd.attribute("ref")) +",," + model.getValue(ipt_suplplcenm.attribute("ref")),"","suplplcecd,suplplcenm" ,
  433. ipt_suplplcenm,"SPRSD00220","instcd","cmb_instcd");
  434. model.refresh();
  435. ]]>
  436. </script>
  437. </input>
  438. <select1 id="cmb_instcd" ref="/root/send/nutrwin/instcd" class="combo_s_essential" appearance="minimal" style="left:100; top:18; width:147px; height:19px; ">
  439. <choices>
  440. <itemset nodeset="/root/init/instcd">
  441. <label ref="cdnm"/>
  442. <value ref="cdid"/>
  443. </itemset>
  444. </choices>
  445. <script type="javascript" ev:event="xforms-value-changed">
  446. <![CDATA[
  447. btn_search.dispatch("DOMActivate");
  448. ]]>
  449. </script>
  450. </select1>
  451. <select1 id="cmb_goodflag" ref="/root/send/nutrwin/goodflag" class="combo_s_essential" visibility="hidden" appearance="minimal" style="left:1045px; top:45px; width:20px; height:19px; ">
  452. <choices>
  453. <itemset nodeset="/root/init/goodflag">
  454. <label ref="cdnm"/>
  455. <value ref="cdid"/>
  456. </itemset>
  457. </choices>
  458. <script type="javascript" ev:event="xforms-value-changed">
  459. <![CDATA[
  460. btn_search.dispatch("DOMActivate");
  461. ]]>
  462. </script>
  463. </select1>
  464. <input id="ipt_windd" ref="/root/send/nutrwin/windd" class="input_s_essential" inputtype="date" style="left:345px; top:18px; width:92px; height:19px; ">
  465. <script type="javascript" ev:event="xforms-value-changed">
  466. <![CDATA[
  467. btn_search.dispatch("DOMActivate");
  468. ]]>
  469. </script>
  470. </input>
  471. <button id="btn_search" class="btn1_letter2" navindex="7" style="left:1120px; top:30px; width:56px; height:22px; text-align:left; ">
  472. <caption>조회</caption>
  473. <script type="javascript" ev:event="DOMActivate">
  474. <![CDATA[
  475. //빈센트용 조회시 예산선택을 하게한다.
  476. if(model.getValue(cmb_acntcd.attribute("ref")).length== 0 && model.getValue(cmb_instcd.attribute("ref"))=='017')
  477. {
  478. messageBox("예산을 " ,"C002");
  479. model.setFocus("cmb_acntcd");
  480. return false;
  481. }
  482. if(fCheckRetrieveData(false) == false)return;
  483. misfMsterDetailRetrieve();
  484. fAfterRetrieve();
  485. ]]>
  486. </script>
  487. </button>
  488. <button id="btn_choidel" class="btn2_letter3" style="left:1142px; top:74px; width:53px; height:19px; ">
  489. <caption>행삭제</caption>
  490. <script type="javascript" ev:event="DOMActivate">
  491. <![CDATA[
  492. misfGridIUD(grd_nutrwin, "D");
  493. ]]>
  494. </script>
  495. </button>
  496. <caption id="caption3" class="tit_2" style="left:5px; top:80px; width:118px; height:13px; ">기타입고내역</caption>
  497. <output id="ipt_sumwinqty" ref="/root/init/winqty" class="output_default" style="left:745px; top:74px; width:70px; height:19px; font-weight:bold; "/>
  498. <line id="line1" class="line_1" style="x1:0px; y1:95px; x2:1195px; y2:95px; "/>
  499. <datagrid id="grd_nutrwin" nodeset="/root/main/list/nutrwin/nutrwinlist" caption="순번^품목코드^발주번호^품목명칭^주거래처^주거래처^보조거래처^보조거래처^원산지^단가^단위^환자식입고수량*^환자식입고수량*^소계^직원식입고수량*^직원식입고수량*^소계^입고금액^입고금액^총입고금액^비고|순번^품목코드^발주번호^품목명칭^코드^명칭^코드^명칭^원산지^단가^단위^일반식^치료식^소계^직원식^직원야식^소계^환자식^직원식^총입고금액^비고" colsep="^" colwidth="34, 96, 0, 204, 94, 92, 92, 94, 133, 79, 55, 50, 50, 50, 50, 54, 50, 70, 67, 83, 104, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="25" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" tooltip="true" style="left:0px; top:100px; width:1195px; height:634px; ">
  500. <col ref="winseqno"/>
  501. <col ref="goodcd" type="inputbutton" _chartype="upper"/>
  502. <col ref="winno" visibility="hidden"/>
  503. <col ref="goodnm" type="input"/>
  504. <col ref="suplplcecd" type="inputbutton"/>
  505. <col ref="suplplcenm"/>
  506. <col ref="suppcustcd" type="inputbutton"/>
  507. <col ref="subsuplplcenm"/>
  508. <col ref="orgloc"/>
  509. <col ref="winunitcost" type="input" style="text-align:right; "/>
  510. <col ref="winunit" style="text-align:center; "/>
  511. <col ref="patmealwinqty" type="input" format="#,###.#" maxlength="11.2" style="text-align:right; "/>
  512. <col ref="curemealwinqty" type="input" format="#,###.#" maxlength="11.2" style="text-align:right; "/>
  513. <col ref="sumpatqty" format="#,###.00" maxlength="11.2" style="text-align:right; "/>
  514. <col ref="empmealwinqty" type="input" format="#,###.#" maxlength="11.2" style="text-align:right; "/>
  515. <col ref="empnigtmealwinqty" type="input" format="#,###.#" maxlength="11.2" style="text-align:right; "/>
  516. <col ref="sumempqty" format="#,###.00" maxlength="11.2" style="text-align:right; "/>
  517. <col ref="sumpatamt" format="#,###" style="text-align:right; "/>
  518. <col ref="sumempamt" format="#,###" style="text-align:right; "/>
  519. <col ref="winamt" format="#,###" style="text-align:right; "/>
  520. <col ref="cmt" visibility="hidden"/>
  521. <col ref="patmealwinamt" visibility="hidden"/>
  522. <col ref="curemealwinamt" visibility="hidden"/>
  523. <col ref="empmealwinamt" visibility="hidden"/>
  524. <col ref="empnigtmealwinamt" visibility="hidden"/>
  525. <col ref="winpackqty" visibility="hidden"/>
  526. <col ref="winpackunit" visibility="hidden"/>
  527. <col ref="winpackcntperunit" visibility="hidden"/>
  528. <col ref="winqty" visibility="hidden"/>
  529. <col ref="reqqty" visibility="hidden"/>
  530. <col ref="winamt" visibility="hidden"/>
  531. <col ref="delivedeptqty" visibility="hidden"/>
  532. <col ref="stocqty" visibility="hidden"/>
  533. <col ref="instcd" visibility="hidden"/>
  534. <col ref="goodflag" visibility="hidden"/>
  535. <col ref="windd" visibility="hidden"/>
  536. <col ref="winpsn" visibility="hidden"/>
  537. <col ref="windeptcd" visibility="hidden"/>
  538. <col ref="installplcecd" visibility="hidden"/>
  539. <col ref="paycond" visibility="hidden"/>
  540. <col ref="temppay" visibility="hidden"/>
  541. <col ref="calcdocukind" visibility="hidden"/>
  542. <col ref="elctstmntyn" visibility="hidden"/>
  543. <col ref="iokind" visibility="hidden"/>
  544. <col ref="suplplcecd" visibility="hidden"/>
  545. <col ref="purcdmnddd" visibility="hidden"/>
  546. <col ref="purcdmndno" visibility="hidden"/>
  547. <col ref="purcdmndseq" visibility="hidden"/>
  548. <col ref="deliveno" visibility="hidden"/>
  549. <col ref="deliveseqno" visibility="hidden"/>
  550. <col ref="bnscd" visibility="hidden"/>
  551. <col ref="calcdocudd" visibility="hidden"/>
  552. <col ref="profno" visibility="hidden"/>
  553. <col ref="acntcd" visibility="hidden"/>
  554. <col ref="reqdd" visibility="hidden"/>
  555. <col ref="reqno" visibility="hidden"/>
  556. <col ref="reqseqno" visibility="hidden"/>
  557. <col ref="valiterm" visibility="hidden"/>
  558. <col ref="stocynindx" visibility="hidden"/>
  559. <col ref="chkdd" visibility="hidden"/>
  560. <col ref="chkpsn" visibility="hidden"/>
  561. <col ref="chkyn" visibility="hidden"/>
  562. <col ref="slipdd" visibility="hidden"/>
  563. <col ref="slipno" visibility="hidden"/>
  564. <col ref="suppcustcd" visibility="hidden"/>
  565. <col ref="prewinqty" visibility="hidden"/>
  566. <col ref="minexch" visibility="hidden"/>
  567. <col ref="iudflag" visibility="hidden"/>
  568. <col ref="reqdeptcd" visibility="hidden"/>
  569. <script type="javascript" ev:event="onbuttonclick">
  570. <![CDATA[
  571. if (grd_nutrwin.col == grd_nutrwin.colRef("goodcd") && grd_nutrwin.rowStatus(grd_nutrwin.row) == "1" ) {//구성물품코드를 눌렀을 경우
  572. model.removenode("/root/copynode");
  573. model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  574. model.makeNode("/root/copynode");
  575. rszfOpenPopUpListByWndName(grd_nutrwin,"","goodcd,goodnm","SPRSD00190","instcd,goodflag","cmb_instcd,cmb_goodflag");
  576. var cur_row = grd_nutrwin.row;
  577. var status = grd_nutrwin.valueMatrix(cur_row, grd_nutrwin.colRef("m"));
  578. var CSV = model.getValue(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  579. setCSVToNode("/root/copynode", CSV, "nutrwinlist");
  580. fSettingGoodList("/root/copynode", "nutrwinlist" , "userqty");
  581. }
  582. //주거래처 코드 입력
  583. else if(grd_nutrwin.col == grd_nutrwin.colRef("suplplcecd")){
  584. rszfOpenPopUpListByWndName(grd_nutrwin,"","suplplcecd,suplplcenm","SPRSD00220","instcd","cmb_instcd");
  585. var cur_row = grd_nutrwin.row;
  586. var status = grd_nutrwin.valueMatrix(cur_row, grd_nutrwin.colRef("m"));
  587. }
  588. //보조거래처 코드 입력
  589. else if(grd_nutrwin.col == grd_nutrwin.colRef("suppcustcd")){
  590. rszfOpenPopUpListByWndName(grd_nutrwin,"","suppcustcd,subsuplplcenm","SPRSD00220","instcd","cmb_instcd");
  591. var cur_row = grd_nutrwin.row;
  592. var status = grd_nutrwin.valueMatrix(cur_row, grd_nutrwin.colRef("m"));
  593. }
  594. ]]>
  595. </script>
  596. <script type="javascript" ev:event="xforms-value-changed">
  597. <![CDATA[
  598. if(grd_nutrwin.col == grd_nutrwin.colRef("goodcd") && grd_nutrwin.valueMatrix(grd_nutrwin.row, grd_nutrwin.colRef("goodcd")).length> 0) {
  599. model.removenode("/root/copynode");
  600. model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  601. model.makeNode("/root/copynode");
  602. rszfValidationCheck("TRRSD00191", "goodlist" , "refcond,instcd,goodflag,goodcd,goodnm,indexgb,indexnm","goodcd," + model.getValue(cmb_instcd.attribute("ref")) + "," +model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/goodflag") + "," + model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/goodcd") + ",,,," ,"","goodcd,goodnm,minexch,goodunitcost",grd_nutrwin,"SPRSD00190","instcd,goodflag","cmb_instcd," + model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/goodflag"),"Y");
  603. model.refresh();
  604. if( grd_nutrwin.valueMatrix(cur_row, grd_nutrwin.colRef("goodnm")).length> 0)
  605. {
  606. // if(model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/minexch") > 0)
  607. // {
  608. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/patmealwinqty" , model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/minexch") );
  609. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/curemealwinqty" , model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/minexch") );
  610. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/empmealwinqty" , model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/minexch") );
  611. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/empnigtmealwinqty" , model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/minexch") );
  612. // }
  613. // else
  614. // {
  615. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/patmealwinqty" , "1");
  616. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/curemealwinqty" , "1");
  617. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/empmealwinqty" , "1");
  618. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/empnigtmealwinqty" , "1");
  619. //
  620. // }
  621. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winpackunit" ,model.getValue("/root/init/main/goodlist/purcunit"));
  622. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winunit" , model.getValue("/root/init/main/goodlist/purcunit"));
  623. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winpackcntperunit" ,1);
  624. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winpackqty" ,1);
  625. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winunitcost" , model.getValue("/root/init/main/goodlist/goodunitcost"));
  626. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/iokind" ,model.getValue(cmb_iokindcd.attribute("ref")) );
  627. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/suplplcecd" , model.getValue("/root/init/main/goodlist/maincustlastsuplplce"));
  628. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/suplplcenm" , model.getValue("/root/init/main/goodlist/maincustlastsuplplcenm"));
  629. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/suppcustcd" , model.getValue("/root/init/main/goodlist/suppcustcd"));
  630. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/subsuplplcenm" , model.getValue("/root/init/main/goodlist/subsuplplcenm"));
  631. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/orgloc" , model.getValue("/root/init/main/goodlist/orgloc"));
  632. }
  633. model.recalculate();
  634. model.refresh();
  635. var cur_row = grd_nutrwin.row;
  636. var status = grd_nutrwin.valueMatrix(cur_row, grd_nutrwin.colRef("m"));
  637. var CSV = model.getValue(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  638. if(CSV.length == 0 && grd_nutrwin.valueMatrix(cur_row, grd_nutrwin.colRef("goodnm")).length == 0)
  639. {
  640. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/goodcd" , "");
  641. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/goodnm" , "");
  642. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winpackqty" , "");
  643. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winpackunit" , "");
  644. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winunit" , "");
  645. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winqty" , "");
  646. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winpackcntperunit" , "");
  647. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winunitcost" , "");
  648. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winamt" , "");
  649. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/orgloc" , "");
  650. grd_nutrwin.col = grd_nutrwin.colRef("goodcd");
  651. grd_nutrwin.editCell();
  652. }
  653. if(CSV.length > 0)
  654. {
  655. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/goodcd","");
  656. setCSVToNode("/root/copynode", CSV, "nutrwinlist");
  657. fSettingGoodList("/root/copynode", "nutrwinlist" , "userqty");
  658. }
  659. }
  660. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  661. // 영양팀은 품목명칭에서 값을 입력할수 있다.. HBH
  662. // 입력값과 일치건이 1일경우 코드 REPLACE
  663. // 없을경우 FIND
  664. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  665. if(grd_nutrwin.col == grd_nutrwin.colRef("goodnm") && grd_nutrwin.valueMatrix(grd_nutrwin.row, grd_nutrwin.colRef("goodnm")).length> 0
  666. && grd_nutrwin.valueMatrix(grd_nutrwin.row, grd_nutrwin.colRef("goodcd")).length== 0 )
  667. {
  668. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  669. // validation을 하기 위해 임시 column 을 둔다. HBH
  670. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  671. model.setValue(tmp_goodcd.attribute("ref") ,"%" );
  672. model.setValue(tmp_goodnm.attribute("ref") ,grd_nutrwin.valueMatrix(grd_nutrwin.row, grd_nutrwin.colRef("goodnm")) );
  673. model.removenode("/root/copynode");
  674. model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  675. model.makeNode("/root/copynode");
  676. rszfValidationCheck("TRRSD00191", "goodlist" , "refcond,instcd,goodflag,goodcd,goodnm,indexgb,indexnm","goodcd," + model.getValue(cmb_instcd.attribute("ref")) + "," +model.getValue(cmb_goodflag.attribute("ref")) + ","+model.getValue(tmp_goodcd.attribute("ref")) +","+model.getValue(tmp_goodnm.attribute("ref")) + ",,,,," ,"","goodcd,goodnm,goodspec,goodmodel,prodcmpynm,purcunit,stocqty,minexch,goodflag,ddavguseqty,maincustlastsuplplce,suppcustcd,goodunitcost,deliveunit,exchqty",grd_nutrwin,"SPRSD00210","instcd,goodflag,goodnm","cmb_instcd,cmb_goodflag,tmp_goodnm","Y");
  677. model.refresh();
  678. if(grd_nutrwin.valueMatrix(grd_nutrwin.row, grd_nutrwin.colRef("goodcd")).length> 0) {
  679. model.removenode("/root/copynode");
  680. model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  681. model.makeNode("/root/copynode");
  682. rszfValidationCheck("TRRSD00191", "goodlist" , "refcond,instcd,goodflag,goodcd,goodnm,indexgb,indexnm","goodcd," + model.getValue(cmb_instcd.attribute("ref")) + "," +model.getValue(cmb_goodflag.attribute("ref")) + "," + model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/goodcd") + ",,,,," ,"","goodcd,goodnm,goodspec,goodmodel,prodcmpynm,purcunit,stocqty,minexch,goodflag,ddavguseqty,maincustlastsuplplce,suppcustcd,goodunitcost",grd_nutrwin,"SPRSD00190","instcd,goodflag","cmb_instcd,cmb_goodflag","Y");
  683. model.refresh();
  684. if( grd_nutrwin.valueMatrix(cur_row, grd_nutrwin.colRef("goodnm")).length> 0)
  685. {
  686. // if(model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/minexch") > 0)
  687. // {
  688. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/patmealwinqty" , model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/minexch") );
  689. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/curemealwinqty" , model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/minexch") );
  690. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/empmealwinqty" , model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/minexch") );
  691. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/empnigtmealwinqty" , model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/minexch") );
  692. // }
  693. // else
  694. // {
  695. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/patmealwinqty" , "1");
  696. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/curemealwinqty" , "1");
  697. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/empmealwinqty" , "1");
  698. // model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/empnigtmealwinqty" , "1");
  699. // }
  700. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winpackunit" ,model.getValue("/root/init/main/goodlist/purcunit"));
  701. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winunit" , model.getValue("/root/init/main/goodlist/purcunit"));
  702. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winpackcntperunit" ,1);
  703. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winpackqty" ,1);
  704. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winunitcost" , model.getValue("/root/init/main/goodlist/goodunitcost"));
  705. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/iokind" ,model.getValue(cmb_iokindcd.attribute("ref")) );
  706. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/suplplcecd" , model.getValue("/root/init/main/goodlist/maincustlastsuplplce"));
  707. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/suplplcenm" , model.getValue("/root/init/main/goodlist/maincustlastsuplplcenm"));
  708. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/suppcustcd" , model.getValue("/root/init/main/goodlist/suppcustcd"));
  709. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/subsuplplcenm" , model.getValue("/root/init/main/goodlist/subsuplplcenm"));
  710. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/orgloc" , model.getValue("/root/init/main/goodlist/orgloc"));
  711. }
  712. model.recalculate();
  713. model.refresh();
  714. var cur_row = grd_nutrwin.row;
  715. var status = grd_nutrwin.valueMatrix(cur_row, grd_nutrwin.colRef("m"));
  716. var CSV = model.getValue(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  717. if(CSV.length == 0 && grd_nutrwin.valueMatrix(cur_row, grd_nutrwin.colRef("goodnm")).length == 0)
  718. {
  719. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/goodcd" , "");
  720. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/goodnm" , "");
  721. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winpackqty" , "");
  722. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winpackunit" , "");
  723. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winunit" , "");
  724. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winqty" , "");
  725. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winpackcntperunit" , "");
  726. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winunitcost" , "");
  727. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/winamt" , "");
  728. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/suplplcecd" , "");
  729. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/suppcustcd" , "");
  730. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1) + "]/orgloc" , "");
  731. grd_nutrwin.col = grd_nutrwin.colRef("goodcd");
  732. grd_nutrwin.editCell();
  733. }
  734. if(CSV.length > 0)
  735. {
  736. model.setValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/goodcd","");
  737. setCSVToNode("/root/copynode", CSV, "nutrwinlist");
  738. fSettingGoodList("/root/copynode", "nutrwinlist" , "userqty");
  739. }
  740. }
  741. }
  742. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  743. // 영양팀은 지불필경우 시장구매 지불필에 대한 부분..
  744. // 주거래처를 입력함
  745. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  746. if(grd_nutrwin.col == grd_nutrwin.colRef("suplplcecd") && grd_nutrwin.valueMatrix(grd_nutrwin.row, grd_nutrwin.colRef("suplplcecd")).length> 0) {
  747. rszfValidationCheck("TRRSD00221", "reqcustomlist", "instcd,refcond,retrnm"
  748. , model.getValue(cmb_instcd.attribute("ref")) +",," + model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/suplplcecd"),"","suplplcecd,suplplcenm" ,grd_nutrwin,"SPRSD00220","instcd","cmb_instcd");
  749. model.refresh();
  750. }
  751. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  752. // 영양팀은 지불필경우 시장구매 지불필에 대한 부분..
  753. // 보조거래처를 입력함
  754. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  755. if(grd_nutrwin.col == grd_nutrwin.colRef("suppcustcd") && grd_nutrwin.valueMatrix(grd_nutrwin.row, grd_nutrwin.colRef("suppcustcd")).length> 0) {
  756. //rszfOpenPopUpListByWndName(grd_nutrwin,"","suppcustcd,suppcustnm","SPRSD00220","instcd","cmb_instcd");
  757. rszfValidationCheck("TRRSD00221", "reqcustomlist", "instcd,refcond,retrnm"
  758. , model.getValue(cmb_instcd.attribute("ref")) +",," + model.getValue(grd_nutrwin.nodeset + "[" + (grd_nutrwin.row - grd_nutrwin.fixedRows + 1)+ "]/suppcustcd"),"","suppcustcd,subsuplplcenm" ,grd_nutrwin,"SPRSD00220","instcd","cmb_instcd");
  759. model.refresh();
  760. }
  761. ]]>
  762. </script>
  763. <script type="javascript" ev:event="onkeydown">
  764. <![CDATA[
  765. if(event.keyCode == 9)
  766. {
  767. if(event.shiftKey)
  768. {
  769. if(grd_nutrwin.colAttribute(grd_nutrwin.col + 1, "type").indexOf ("input") > -1)
  770. {
  771. for(curcol = grd_nutrwin.col -1 ; curcol > -1 ; curcol--)
  772. {
  773. if(grd_nutrwin.colAttribute(curcol, "type").indexOf ("input") > -1)
  774. {
  775. grd_nutrwin.col = curcol;
  776. grd_nutrwin.editCell();
  777. return;
  778. }
  779. }
  780. }
  781. }
  782. else
  783. {
  784. if(grd_nutrwin.colAttribute(grd_nutrwin.col, "type").indexOf ("input") == -1)
  785. {
  786. if(grd_nutrwin.col - 1 == grd_nutrwin.colRef("goodcd") && grd_nutrwin.valueMatrix(grd_nutrwin.row, grd_nutrwin.col - 1).length == 0)
  787. {
  788. grd_nutrwin.col = grd_nutrwin.colRef("goodcd");
  789. grd_nutrwin.editCell();
  790. return;
  791. }
  792. for(curcol = grd_nutrwin.col ; curcol <grd_nutrwin.cols ; curcol++)
  793. {
  794. if(grd_nutrwin.colAttribute(curcol, "type").indexOf ("input") > -1)
  795. {
  796. grd_nutrwin.col = curcol;
  797. grd_nutrwin.editCell();
  798. return;
  799. }
  800. }
  801. }
  802. }
  803. }
  804. ]]>
  805. </script>
  806. <script type="javascript" ev:event="onaftersort">
  807. <![CDATA[
  808. grd_nutrwin.gridToInstance();
  809. ]]>
  810. </script>
  811. </datagrid>
  812. <output id="opt_sumwinamt" ref="/root/init/winamt" class="output_default" format="#,###" style="left:899px; top:74px; width:125px; height:19px; font-weight:bold; "/>
  813. <button id="btn_insert" class="btn2_letter3" style="left:1087px; top:74px; width:53px; height:19px; ">
  814. <caption>행추가</caption>
  815. <script type="javascript" ev:event="DOMActivate">
  816. <![CDATA[
  817. //alert(cmb_acntcd.label);
  818. if(fCheckRetrieveData(true) == false)return;
  819. //아래는 cmb_acntcd는 빈센트 용으로 pmsg와 상관없이 행추가시 무조건 조건체크한다.
  820. if( model.getValue(cmb_instcd.attribute("ref"))=='017' )
  821. {
  822. var msg = messageBox("예산계정을 "+ cmb_acntcd.label + "으로" ,"S002");
  823. if (msg != 6)return;
  824. }
  825. misfGridIUD(grd_nutrwin, "A");
  826. grd_nutrwin.row = grd_nutrwin.rows -grd_nutrwin.fixedRows ;
  827. fDefaultSetting(grd_nutrwin.row );
  828. grd_nutrwin.row = grd_nutrwin.rows -grd_nutrwin.fixedRows + 1;
  829. grd_nutrwin.col = grd_nutrwin.colRef("goodcd");
  830. grd_nutrwin.editCell();
  831. ]]>
  832. </script>
  833. </button>
  834. <select1 id="cmb_iokindcd" ref="/root/send/nutrwin/iokind" class="combo_s_essential" appearance="minimal" style="left:100px; top:45px; width:147px; height:19px; ">
  835. <choices>
  836. <itemset nodeset="/root/init/ioflag">
  837. <label ref="cdnm"/>
  838. <value ref="cdid"/>
  839. </itemset>
  840. </choices>
  841. <script type="javascript" ev:event="xforms-value-changed">
  842. <![CDATA[
  843. btn_search.dispatch("DOMActivate");
  844. ]]>
  845. </script>
  846. </select1>
  847. <output id="opt_reqdeptcd" ref="/root/send/nutrwin/reqdeptcd" visibility="hidden" style="left:1065px; top:20px; width:45px; height:19px; "/>
  848. <input id="tmp_goodcd" ref="/root/send/nutrwin/tmp_goodcd" visibility="hidden" style="left:965px; top:20px; width:100px; height:19px; "/>
  849. <input id="tmp_goodnm" ref="/root/send/nutrwin/tmp_goodnm" visibility="hidden" style="left:525px; top:15px; width:100px; height:19px; "/>
  850. <input id="ipt_chkyn" ref="/root/send/nutrwin/chkyn" visibility="hidden" style="left:630px; top:15px; width:25px; height:19px; "/>
  851. <line id="line2" class="line_4" style="x1:1109px; y1:15px; x2:1109px; y2:62px; "/>
  852. <caption id="caption7" class="search_name" style="left:15px; top:45px; width:86px; height:17px; ">입고유형 :</caption>
  853. <caption id="caption9" class="search_name" style="left:15px; top:19; width:86px; height:17px; ">기관코드 :</caption>
  854. <caption id="caption11" class="search_name" style="left:258px; top:45px; width:86px; height:17px; ">공 급 처 :</caption>
  855. <caption id="caption12" class="search_name" style="left:260px; top:19px; width:86px; height:17px; ">입고일자 :</caption>
  856. <caption id="caption53" style="left:681px; top:74px; width:80px; height:23px; font-weight:bold; vertical-align:middle; ">입고건수 :</caption>
  857. <caption id="caption1" style="left:835px; top:74px; width:80px; height:23px; font-weight:bold; vertical-align:middle; ">입고합계 :</caption>
  858. <caption id="caption4" class="search_name" style="left:710px; top:20px; width:99px; height:17px; ">지불필여부 :</caption>
  859. <select1 id="rdo_paycond" ref="/root/send/nutrwin/paycond" visibility="visible" appearance="full" cellspacing="30" cols="2" overflow="visible" style="left:807px; top:20px; width:145px; height:20px; border-style:none; ">
  860. <choices>
  861. <itemset nodeset="/root/init/paycond">
  862. <label ref="label"/>
  863. <value ref="value"/>
  864. </itemset>
  865. </choices>
  866. </select1>
  867. <caption id="cpt_acntcd" class="search_name" visibility="hidden" style="left:712px; top:45px; width:96px; height:17px; ">예산 선택 :</caption>
  868. <select1 id="cmb_acntcd" ref="/root/send/nutrwin/acntcd" class="combo_default" visibility="hidden" appearance="minimal" style="left:807px; top:45px; width:105px; height:19px; ">
  869. <choices>
  870. <item>
  871. <label>직원식</label>
  872. <value>1</value>
  873. </item>
  874. <item>
  875. <label>환자식</label>
  876. <value>2</value>
  877. </item>
  878. <item>
  879. <label>영양 행사비</label>
  880. <value>3</value>
  881. </item>
  882. <item>
  883. <label>영양 복리후생비</label>
  884. <value>4</value>
  885. </item>
  886. <item>
  887. <label>타부서 행사비</label>
  888. <value>5</value>
  889. </item>
  890. </choices>
  891. </select1>
  892. </group>
  893. <group id="group1" style="left:0px; top:12; width:1195px; height:27px; ">
  894. <button id="button3" class="btn6_letter2" visibility="hidden" style="left:0px; top:3px; width:56px; height:22px; ">
  895. <caption>출력</caption>
  896. </button>
  897. <button id="btn_init" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  898. <caption>초기화</caption>
  899. <script type="javascript" ev:event="DOMActivate">
  900. <![CDATA[
  901. fInitialize();
  902. ]]>
  903. </script>
  904. </button>
  905. <line id="line17" class="line_6" style="x1:0px; y1:25px; x2:1195px; y2:25px; "/>
  906. <button id="btn_save" class="btn4_letter2" style="left:1070px; top:3px; width:56px; height:22px; ">
  907. <caption>저장</caption>
  908. <script type="javascript" ev:event="DOMActivate">
  909. <![CDATA[
  910. if(fCheckSaveData() == false)return;
  911. misfSave("TXRSI05101");
  912. if (model.getValue(gvErrorMsgPath + "/type") != "error")btn_search.dispatch("DOMActivate");
  913. ]]>
  914. </script>
  915. </button>
  916. </group>
  917. </xhtml:body>
  918. </xhtml:html>