SMRSE00800_상비품출고관리.xrw 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 수정이력 :
  4. [2007.10.18 HBH : 공급실 불출구분이 "응급"이면 마감차수를 입력받지 않는다.
  5. -->
  6. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  7. <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">
  8. <xhtml:head>
  9. <xhtml:title>상비품 출고처리</xhtml:title>
  10. <model id="model1">
  11. <instance id="instance1">
  12. <root xmlns="">
  13. <main>
  14. <list>
  15. <goodreqcsrdept>
  16. <goodreqcsrdeptlist/>
  17. </goodreqcsrdept>
  18. <goodreq>
  19. <goodreqlist/>
  20. </goodreq>
  21. <gooddelive>
  22. <gooddelivelist/>
  23. </gooddelive>
  24. </list>
  25. <item/>
  26. </main>
  27. <send>
  28. <save>
  29. <goodreq>
  30. <goodreqlist/>
  31. </goodreq>
  32. <gooddelive>
  33. <gooddelivelist/>
  34. </gooddelive>
  35. </save>
  36. <goodreq>
  37. <instcd/>
  38. <reqfrdd/>
  39. <reqtodd/>
  40. <delivedd/>
  41. <reqdeptcd/>
  42. <reqdeptnm/>
  43. <goodcd/>
  44. <goodnm/>
  45. <deliveprcsflag/>
  46. <reqflag/>
  47. <workflag/>
  48. <reqmthdflag/>
  49. <purcflag/>
  50. <deliveprcsflag_group/>
  51. <deliveflag/>
  52. <reqpridflag/>
  53. <csrreqdeptcd/>
  54. <iudflag/>
  55. <querygubun/>
  56. <goodflag>T</goodflag>
  57. </goodreq>
  58. <gooddelive>
  59. <instcd/>
  60. <reqflag/>
  61. <reqdd/>
  62. <reqno/>
  63. <reqseqno/>
  64. </gooddelive>
  65. </send>
  66. <init>
  67. <temppay>
  68. <label>예</label>
  69. <value>Y</value>
  70. <label>아니오</label>
  71. <value>N</value>
  72. </temppay>
  73. <elctstmntyn>
  74. <label>예</label>
  75. <value>Y</value>
  76. <label>아니오</label>
  77. <value>N</value>
  78. </elctstmntyn>
  79. <winqty/>
  80. <winamt/>
  81. <radio1>
  82. <label>외래</label>
  83. <value>1</value>
  84. <label>병동</label>
  85. <value>2</value>
  86. <label>OR</label>
  87. <value>3</value>
  88. <label>ER</label>
  89. <value>4</value>
  90. <label>기타</label>
  91. <value>5</value>
  92. <label>전체</label>
  93. <value>%</value>
  94. </radio1>
  95. <querygubun>
  96. <label>전체부서</label>
  97. <value>1</value>
  98. <label>부 서 별</label>
  99. <value>2</value>
  100. </querygubun>
  101. <workflag>
  102. <label>상비품청구</label>
  103. <value>3</value>
  104. <label>상비품반납</label>
  105. <value>4</value>
  106. </workflag>
  107. </init>
  108. <hidden/>
  109. <temp/>
  110. <copynode/>
  111. </root>
  112. </instance>
  113. <bind id="savedeliveprcsflag" ref="/root/main/list/goodreq/goodreqlist/savedeliveprcsflag" calculate="../deliveprcsflag"/>
  114. <script type="javascript" ev:event="xforms-ready">
  115. <![CDATA[
  116. //화면 Control을 초기화한다
  117. fCheckAuth();
  118. fInitialize();
  119. ]]>
  120. </script>
  121. <submission id="TRRSO00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/goodreq" resultref="/root/main/list/goodreq"/>
  122. <submission id="TXRSO00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save/gooddelive" resultref="/root/hidden/temp"/>
  123. <submission id="TRRSE00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/goodreq" resultref="/root/main/list/goodreqcsrdept"/>
  124. <submission id="TXRSE00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/goodreq" resultref="/root/hidden/temp"/>
  125. </model>
  126. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  127. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  128. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  129. <script type="javascript" src="../../../mis/miscommonweb/js/RSZ001.js"/>
  130. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  131. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  132. <script type="javascript">
  133. <![CDATA[
  134. function fInitialize() {
  135. model.resetInstanceNode("/root/send");
  136. misfGridInit(grd_goodreqcsrdept);
  137. misfGridInit(grd_goodreq);
  138. rszfUserReqInstList(cmb_instcd,getUserInfo("userid"),"5","B");
  139. misfGridComboComCdList("R0116",grd_goodreq,"deliveprcsflag");
  140. misfMsterDetailSet(grd_goodreqcsrdept,null, "TRRSE00101" ,"N");
  141. // misfMsterDetailSet(grd_goodreq,grd_goodreqcsrdept, "TRRSO00301" ,"Y");
  142. model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  143. model.setValue(rdo_csrreqdeptcd.attribute("ref") , '%');
  144. model.setValue(rdo_querygubun.attribute("ref") , '1');
  145. cmb_workflag.select(0);
  146. // 불출구분은 '1"
  147. model.setValue(cmb_deliveflag.attribute("ref") , "1");
  148. // hidden
  149. model.setValue(ipt_reqmthdflag.attribute("ref") , "3");
  150. // [2008.01.23 HBH] reqflag 를 전체 가 가능하게 하면서 물품구분 "T"를 send 추가
  151. model.setValue(opt_goodflag.attribute("ref") , "T");
  152. var curdate = getCurrentDate();
  153. var cvtdate = curdate.toDate("YYYYMMDD");
  154. model.setValue(ipt_reqfrdd.attribute("ref") ,cvtdate.getAddDate(-10,"D").getDateFormat("YYYYMMDD"));
  155. model.setValue(ipt_reqtodd.attribute("ref") , curdate);
  156. model.setValue(ipt_delivedd.attribute("ref") , curdate);
  157. if(cmb_deliveprcsflag_group.length> 0) cmb_deliveprcsflag_group.selectedindex= 0;
  158. // 마감차수 셋팅 call
  159. fSetReqseq();
  160. grd_goodreq.explorerbar = "sortshow";
  161. for(licol = 0; licol < grd_goodreq.cols ; licol++)if(grd_goodreq.colRef("reqdeptnm") != licol) grd_goodreq.mergecol(licol) = false;
  162. grd_goodreq.mergecells = "bycol";
  163. model.refresh();
  164. }
  165. function fCheckAuth() {
  166. btn_search.disabled = !checkAuth("R") ;
  167. btn_save.disabled = !checkAuth("X") ;
  168. }
  169. function fSetReqseq() {
  170. var pvar = 'XX'; //'의미없슴"
  171. if(model.getValue(cmb_deliveflag.attribute("ref")) == "1")
  172. rszfComboCsrReqseqList(cmb_reqpridflag, model.getValue(cmb_instcd.attribute("ref")), model.getValue(ipt_delivedd.attribute("ref")) , pvar ,model.getValue(rdo_csrreqdeptcd.attribute("ref")), pvar, "B" );
  173. else rszfComboCsrReqseqList(cmb_reqpridflag, model.getValue(cmb_instcd.attribute("ref")), model.getValue(ipt_delivedd.attribute("ref")) , pvar ,model.getValue(rdo_csrreqdeptcd.attribute("ref")), pvar, "" );
  174. model.refresh();
  175. // model.setValue(cmb_reqpridflag.attribute("ref"),"");
  176. //
  177. // var pvar = 'XX'; //'의미없슴"
  178. // rszfComboCsrReqseqList(cmb_reqpridflag, model.getValue(cmb_instcd.attribute("ref")), model.getValue(ipt_delivedd.attribute("ref")) , pvar ,model.getValue(rdo_csrreqdeptcd.attribute("ref")), pvar, "B" );
  179. }
  180. function fCheckRetrieveData(pmsg)
  181. {
  182. if(model.getValue(cmb_instcd.attribute("ref")).length== 0 )
  183. {
  184. if(pmsg == true)
  185. {
  186. messageBox("기관코드를 " ,"C002");
  187. model.setFocus("cmb_instcd");
  188. }
  189. return false;
  190. }
  191. if(model.getValue(ipt_reqfrdd.attribute("ref")).length== 0 )
  192. {
  193. if(pmsg == true)
  194. {
  195. messageBox("청구시작일자를 " ,"C001");
  196. model.setFocus("ipt_reqfrdd");
  197. }
  198. return false;
  199. }
  200. if(model.getValue(ipt_reqtodd.attribute("ref")).length== 0 )
  201. {
  202. if(pmsg == true)
  203. {
  204. messageBox("청구종료일자를" ,"C001");
  205. model.setFocus("ipt_reqtodd");
  206. }
  207. return false;
  208. }
  209. if(model.getValue(ipt_delivedd.attribute("ref")).length== 0 )
  210. {
  211. if(pmsg == true)
  212. {
  213. messageBox("출고일자를" ,"C001");
  214. model.setFocus("ipt_delivedd");
  215. }
  216. return false;
  217. }
  218. if(model.getValue(cmb_deliveflag.attribute("ref")).length== 0 )
  219. {
  220. if(pmsg == true)
  221. {
  222. messageBox("불출구분을" ,"C001");
  223. model.setFocus("cmb_deliveflag");
  224. }
  225. return false;
  226. }
  227. if(cmb_workflag.value.length == 0)
  228. {
  229. if(pmsg == true)
  230. {
  231. messageBox("작업구분을" ,"C001");
  232. model.setFocus("cmb_workflag");
  233. }
  234. return false;
  235. }
  236. /* 교환물품에 대하여만 마감차수의 의미가 있다. */
  237. /* 응급도 마감차수를 입력받지 않는다.*/
  238. if( model.getValue( model.getValue(cmb_deliveflag.attribute("ref"))== "1" && model.getValue(cmb_reqpridflag.attribute("ref")).length== 0 ) )
  239. {
  240. if(pmsg == true)
  241. {
  242. messageBox("마감차수를" ,"C001");
  243. model.setFocus("cmb_reqpridflag");
  244. }
  245. return false;
  246. }
  247. /*
  248. if(model.getValue(cmb_deliveprcsflag.attribute("ref")).length== 0 )
  249. {
  250. if(pmsg == true)
  251. {
  252. messageBox("진행상태 " ,"C001");
  253. model.setFocus("cmb_deliveprcsflag");
  254. }
  255. return false;
  256. }
  257. if(model.getValue(cmb_deliveflag.attribute("ref")).length== 0 )
  258. {
  259. if(pmsg == true)
  260. {
  261. messageBox("불출구분 " ,"C001");
  262. model.setFocus("cmb_deliveflag");
  263. }
  264. return false;
  265. }
  266. if(model.getValue(ipt_winpsn.attribute("ref")).length== 0 )
  267. {
  268. if(pmsg == true)
  269. {
  270. messageBox("불출자 " ,"C001");
  271. model.setFocus("ipt_winpsn");
  272. }
  273. return false;
  274. }
  275. */
  276. return true;
  277. }
  278. function fDefaultSetting(prow)
  279. {
  280. var grd_setting;
  281. if(sch_select.selectedIndex == 0)grd_setting = grd_nonwin;
  282. else grd_setting = grd_goodwin;
  283. model.setValue(grd_setting.nodeset+"["+prow+"]/instcd",model.getValue("/root/send/goodwin/instcd"));
  284. model.setValue(grd_setting.nodeset+"["+prow+"]/goodflag",model.getValue("/root/send/goodwin/goodflag"));
  285. model.setValue(grd_setting.nodeset+"["+prow+"]/windd",model.getValue("/root/send/goodwin/windd"));
  286. model.setValue(grd_setting.nodeset+"["+prow+"]/winpsn",model.getValue("/root/send/goodwin/winpsn"));
  287. model.setValue(grd_setting.nodeset+"["+prow+"]/windeptcd",model.getValue("/root/send/goodwin/windeptcd"));
  288. model.setValue(grd_setting.nodeset+"["+prow+"]/installplcecd",model.getValue("/root/send/goodwin/installplcecd"));
  289. model.setValue(grd_setting.nodeset+"["+prow+"]/paycond",model.getValue("/root/send/goodwin/paycond"));
  290. model.setValue(grd_setting.nodeset+"["+prow+"]/temppay",model.getValue("/root/send/goodwin/temppay"));
  291. model.setValue(grd_setting.nodeset+"["+prow+"]/calcdocukind",model.getValue("/root/send/goodwin/calcdocukind"));
  292. model.setValue(grd_setting.nodeset+"["+prow+"]/calcdocudd",model.getValue("/root/send/goodwin/calcdocudd"));
  293. model.setValue(grd_setting.nodeset+"["+prow+"]/suplplcecd",model.getValue("/root/send/goodwin/suplplcecd"));
  294. model.setValue(grd_setting.nodeset+"["+prow+"]/winseqno",prow);
  295. model.setValue(grd_setting.nodeset+"["+prow+"]/delivedeptqty",0);
  296. model.setValue(grd_setting.nodeset+"["+prow+"]/deliveno",0);
  297. model.setValue(grd_setting.nodeset+"["+prow+"]/stocqty",0);
  298. }
  299. function fSettingGoodList(pnode, nodename, userqtynm){
  300. var codynode = instance1.selectNodes(pnode + "/*");
  301. var addRow = grd_goodwin.rows - grd_goodwin.fixedRows;
  302. if(model.getValue(grd_goodwin.nodeset + "[" + addRow + "]/goodcd").length > 0)addRow = addRow + 1;
  303. for (var j = 1; j <= codynode.length ; j++) {
  304. if(addRow > grd_goodwin.rows - grd_goodwin.fixedRows)
  305. {
  306. misfGridIUD(grd_goodwin,"A");
  307. addRow = grd_goodwin.rows - grd_goodwin.fixedRows;
  308. fDefaultSetting(addRow );
  309. }
  310. model.setValue(grd_goodwin.nodeset + "[" + addRow + "]/goodcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodcd"));
  311. model.setValue(grd_goodwin.nodeset + "[" + addRow + "]/goodnm" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodnm"));
  312. model.setValue(grd_goodwin.nodeset + "[" + addRow + "]/goodspec" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodspec"));
  313. model.setValue(grd_goodwin.nodeset + "[" + addRow + "]/goodmodel" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodmodel"));
  314. model.setValue(grd_goodwin.nodeset + "[" + addRow + "]/prodcmpynm" , model.getValue(pnode +"/" + nodename + "[" + j + "]/prodcmpynm"));
  315. model.setValue(grd_goodwin.nodeset + "[" + addRow + "]/winpackqty" , model.getValue(pnode +"/" + nodename + "[" + j + "]/" + userqtynm));
  316. model.setValue(grd_goodwin.nodeset + "[" + addRow + "]/winpackunit" , model.getValue(pnode +"/" + nodename + "[" + j + "]/purcunit"));
  317. model.setValue(grd_goodwin.nodeset + "[" + addRow + "]/winunit" , model.getValue(pnode +"/" + nodename + "[" + j + "]/purcunit"));
  318. model.setValue(grd_goodwin.nodeset + "[" + addRow + "]/winqty" , model.getValue(pnode +"/" + nodename + "[" + j + "]/" + userqtynm));
  319. model.setValue(grd_goodwin.nodeset + "[" + addRow + "]/winpackcntperunit" ,1);
  320. model.setValue(grd_goodwin.nodeset + "[" + addRow + "]/winunitcost" , 0);
  321. model.setValue(grd_goodwin.nodeset + "[" + addRow + "]/winamt" , 0);
  322. addRow = addRow + 1;
  323. }
  324. //model.removenode(pnode);
  325. model.refresh();
  326. }
  327. function fSettingPreSaveData()
  328. {
  329. for(var liRow = grd_goodreq.fixedRows ; liRow < grd_goodreq.rows ; liRow++)
  330. {
  331. //출고생성되지 않은 데이타라면 출고시 입력을 위해 insert logic으로 구현한다
  332. if((grd_goodreq.valueMatrix(liRow ,"delivedd").length == 0 ||
  333. grd_goodreq.valueMatrix(liRow ,"deliveno").length == 0 ||
  334. grd_goodreq.valueMatrix(liRow ,"deliveseqno").length == 0) &&
  335. grd_goodreq.rowStatus(liRow) == "1")grd_goodreq.rowStatus(liRow) = "2";
  336. }
  337. }
  338. function fSettingSaveInData()
  339. {
  340. for(var liRow = grd_nonwin.fixedRows; liRow < grd_nonwin.rows ; liRow++)
  341. {
  342. fDefaultSetting(liRow);
  343. model.setValue(grd_nonwin.nodeset + "[" + (liRow - grd_nonwin.fixedRows + 1) + "]/windeptcd" , grd_nonwin.valueMatrix(liRow ,grd_nonwin.colRef("reqdeptcd")));
  344. //model.setValue(grd_nonwin.nodeset + "[" + (liRow - grd_nonwin.fixedRows + 1) + "]/delivedeptcd" , model.getValue(ipt_windeptcd.attribute("ref")));
  345. model.setValue(grd_nonwin.nodeset + "[" + (liRow - grd_nonwin.fixedRows + 1) + "]/delivedeptcd" , getUserInfo("userid"));
  346. getUserInfo("userid")
  347. }
  348. }
  349. function fSettingSaveOutData()
  350. {
  351. for(var liRow = grd_goodreq.fixedRows ; liRow < grd_goodreq.rows ; liRow++)
  352. {
  353. /*--------------------------------------------------------------------------------------
  354. //날짜를 바꿔 입력하면 그날로 새 출고건이 삽입된다.
  355. --------------------------------------------------------------------------------------*/
  356. var pdelivedeptqty = parseInt(grd_goodreq.valueMatrix(liRow ,grd_goodreq.colRef("delivedeptqty")));
  357. var ppredelivedeptqty = parseInt(grd_goodreq.valueMatrix(liRow ,grd_goodreq.colRef("predelivedeptqty")));
  358. if((grd_goodreq.valueMatrix(liRow ,grd_goodreq.colRef("delivedd")).length == 0 ||
  359. grd_goodreq.valueMatrix(liRow ,grd_goodreq.colRef("deliveno")).length == 0 ||
  360. grd_goodreq.valueMatrix(liRow ,grd_goodreq.colRef("deliveseqno")).length == 0) && pdelivedeptqty > 0 )
  361. //hbh grd_goodreq.valueMatrix(liRow ,grd_goodreq.colRef("select")) == "Y")
  362. {
  363. grd_goodreq.rowStatus(liRow) = "1";
  364. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/deliveunit" , grd_goodreq.valueMatrix(liRow ,grd_goodreq.colRef("requnit")));
  365. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/delivedd" , model.getValue(ipt_delivedd.attribute("ref")));
  366. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/delivedeptcd" , getUserInfo("dutplcecd"));
  367. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/delivepsn" , getUserInfo("userid"));
  368. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/windeptcd" , grd_goodreq.valueMatrix(liRow ,grd_goodreq.colRef("reqdeptcd")));
  369. }
  370. /*--------------------------------------------------------------------------------------
  371. // 출고량을 0 으로셋팅하면 status ='D'로 하구 BIZ에서 삭제처리한다.
  372. --------------------------------------------------------------------------------------*/
  373. else if((grd_goodreq.valueMatrix(liRow ,grd_goodreq.colRef("delivedd")).length != 0 &&
  374. grd_goodreq.valueMatrix(liRow ,grd_goodreq.colRef("deliveno")).length != 0 &&
  375. grd_goodreq.valueMatrix(liRow ,grd_goodreq.colRef("deliveseqno")).length != 0) &&
  376. ( ( pdelivedeptqty != ppredelivedeptqty ) && pdelivedeptqty == 0 ) )
  377. {
  378. grd_goodreq.rowStatus(liRow) = "4";
  379. }
  380. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/predeliveprcsflag" , "1");
  381. }
  382. model.setValue("/root/send/save/gooddelive/gooddelivelist", grd_goodreq.getUpdateData());
  383. submit("TXRSO00101");
  384. if (model.getValue(gvErrorMsgPath + "/type") != "error")btn_search.dispatch("DOMActivate");
  385. else
  386. {
  387. for(var liRow = grd_goodreq.fixedRows ; liRow < grd_goodreq.rows ; liRow++)
  388. {
  389. //출고생성되지 않은 데이타라면 출고시 입력을 위해 insert logic으로 구현한다
  390. if((grd_goodreq.valueMatrix(liRow ,grd_goodreq.colRef("delivedd")).length == 0 ||
  391. grd_goodreq.valueMatrix(liRow ,grd_goodreq.colRef("deliveno")).length == 0 ||
  392. grd_goodreq.valueMatrix(liRow , grd_goodreq.colRef("deliveseqno")).length == 0) &&
  393. grd_goodreq.rowStatus(liRow) == "1")grd_goodreq.rowStatus(liRow) = "2";
  394. }
  395. }
  396. }
  397. function fCheckSaveData()
  398. {
  399. if(model.getValue(cmb_instcd.attribute("ref")).length== 0 )
  400. {
  401. messageBox("기관코드를 " ,"C002");
  402. model.setFocus("cmb_instcd");
  403. return false;
  404. }
  405. for(var currow = grd_goodreq.fixedRows; currow < grd_goodreq.rows; currow++)
  406. {
  407. if(grd_goodreq.valueMatrix(currow, grd_goodreq.colRef("unwinresn")).length == 0 &&
  408. grd_goodreq.valueMatrix(currow, grd_goodreq.colRef("deliveprcsflag")) == "6")
  409. {
  410. messageBox("강제종결일 경우 사유를 반드시 " ,"C001");
  411. grd_goodreq.row = currow;
  412. grd_goodreq.col = grd_goodreq.colRef("unwinresn");
  413. grd_goodreq.editCell();
  414. return false;
  415. }
  416. }
  417. /*
  418. if(model.getValue(cmb_deliveprcsflag.attribute("ref")) == 1)
  419. {
  420. var chkins = false;
  421. for(var currow = grd_goodreq.fixedRows; currow < grd_goodreq.rows; currow++)
  422. {
  423. if(grd_goodreq.valueMatrix(currow, grd_goodreq.colRef("deliveno")).length == 0)
  424. {
  425. chkins = true;
  426. break;
  427. }
  428. }
  429. if(chkins)
  430. {
  431. if(model.getValue(ipt_windeptcd.attribute("ref")).length== 0 )
  432. {
  433. messageBox("출고부서를 " ,"C001");
  434. model.setFocus("ipt_windeptcd");
  435. return false;
  436. }
  437. if(model.getValue(ipt_winpsn.attribute("ref")).length== 0 )
  438. {
  439. messageBox("출고담담자를 " ,"C001");
  440. model.setFocus("ipt_winpsn");
  441. return false;
  442. }
  443. }
  444. }
  445. */
  446. return true;
  447. }
  448. function fAfterRetrieve()
  449. {
  450. var winqty = 0;
  451. var winamt = 0;
  452. for(var currow = grd_goodwin.fixedRows ; currow < grd_goodwin.rows ; currow++)
  453. {
  454. winqty = winqty + parseFloat( grd_goodwin.valueMatrix(currow , grd_goodwin.colRef("winqty")));
  455. winamt = winamt + 0 + parseFloat(grd_goodwin.valueMatrix(currow , grd_goodwin.colRef("winamt")));
  456. }
  457. model.setValue(ipt_sumwinqty.attribute("ref"),winqty);
  458. model.setValue(opt_sumwinamt.attribute("ref"),winamt);
  459. model.refresh();
  460. }
  461. ]]>
  462. </script>
  463. </xhtml:head>
  464. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  465. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  466. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:243px; height:14px; ">부서별 비품목록 MASTER</caption>
  467. </group>
  468. <group id="grp_biz" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  469. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1195px; height:87px; "/>
  470. <select1 id="cmb_instcd" ref="/root/send/goodreq/instcd" class="combo_s_essential" appearance="minimal" style="left:100px; top:19px; width:150px; height:19px; ">
  471. <choices>
  472. <itemset nodeset="/root/init/instcd">
  473. <label ref="cdnm"/>
  474. <value ref="cdid"/>
  475. </itemset>
  476. </choices>
  477. <script type="javascript" ev:event="xforms-value-changed">
  478. <![CDATA[
  479. fSetReqseq()
  480. btn_search.dispatch("DOMActivate");
  481. ]]>
  482. </script>
  483. </select1>
  484. <button id="btn_search" class="btn1_letter2" navindex="7" style="left:1125px; top:45px; width:56px; height:22px; text-align:left; ">
  485. <caption>조회</caption>
  486. <script type="javascript" ev:event="DOMActivate">
  487. <![CDATA[
  488. if(fCheckRetrieveData(true) == false)return;
  489. // initial value
  490. model.setValue("/root/send/goodreq/reqdeptcd", "");
  491. misfGridInit(grd_goodreqcsrdept);
  492. misfGridInit(grd_goodreq);
  493. misfMsterDetailRetrieve();
  494. // grd_goodreqcsrdept.dispatch("onrowchanged");
  495. ]]>
  496. </script>
  497. </button>
  498. <input id="ipt_reqfrdd" ref="/root/send/goodreq/reqfrdd" class="input_s_essential" inputtype="date" style="left:440px; top:19px; width:120; height:19px; ">
  499. <script type="javascript" ev:event="xforms-value-changed">
  500. <![CDATA[
  501. btn_search.dispatch("DOMActivate");
  502. ]]>
  503. </script>
  504. </input>
  505. <input id="ipt_reqtodd" ref="/root/send/goodreq/reqtodd" class="input_s_essential" inputtype="date" style="left:587px; top:19px; width:120; height:19px; ">
  506. <script type="javascript" ev:event="xforms-value-changed">
  507. <![CDATA[
  508. btn_search.dispatch("DOMActivate");
  509. ]]>
  510. </script>
  511. </input>
  512. <caption id="caption23" style="left:569px; top:20px; width:15px; height:20px; font-weight:bold; vertical-align:middle; ">~</caption>
  513. <button id="btnselect" class="btn2_letter9" style="left:1075px; top:100px; width:119px; height:19px; ">
  514. <caption>출고 전체선택/취소</caption>
  515. <script type="javascript" ev:event="DOMActivate">
  516. <![CDATA[
  517. for(var liRow = grd_goodreq.fixedRows; liRow < grd_goodreq.rows ; liRow++)
  518. {
  519. if(grd_goodreq.valueMatrix(liRow,grd_goodreq.colRef("select")) == "Y")
  520. {
  521. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/select" , "N");
  522. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/adjtqty" , grd_goodreq.valueMatrix(liRow,grd_goodreq.colRef("preadjtqty")));
  523. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/deliveprcsflag" ,grd_goodreq.valueMatrix(liRow,grd_goodreq.colRef("predeliveprcsflag")));
  524. grd_goodreq.rowStatus(liRow) = "0";
  525. }
  526. else
  527. {
  528. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/select" , "Y");
  529. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/delivedeptqty" , model.getValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/reqqty"));
  530. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/deliveprcsflag" , "7");
  531. grd_goodreq.rowStatus(liRow) = "2";
  532. }
  533. }
  534. model.recalculate();
  535. model.refresh();
  536. ]]>
  537. </script>
  538. </button>
  539. <input id="ipt_delivedd" ref="/root/send/goodreq/delivedd" class="input_s_essential" inputtype="date" style="left:830px; top:70px; width:140; height:19px; ">
  540. <script type="javascript" ev:event="xforms-value-changed">
  541. <![CDATA[
  542. btn_search.dispatch("DOMActivate");
  543. ]]>
  544. </script>
  545. </input>
  546. <input id="ipt_goodcd" ref="/root/send/goodreq/goodcd" class="input_search" imemode="disabled" appearance="input" style="left:440px; top:70px; width:96px; height:19px; ">
  547. <script type="javascript" ev:event="xforms-value-changed">
  548. <![CDATA[
  549. if(ipt_goodcd.label != "")
  550. {
  551. rszfValidationCheck("TRRSD00191", "goodlist" , "refcond,instcd,goodflag,goodcd,goodnm,indexgb,indexnm","goodcd," + model.getValue(cmb_instcd.attribute("ref")) + "," + opt_goodflag.value + "," + model.getValue(ipt_goodcd.attribute("ref")) + ",,,," ,"","goodcd,goodnm",ipt_goodcd,"SPRSD00210","instcd,goodflag","cmb_instcd,opt_goodflag");
  552. model.refresh();
  553. btn_search.dispatch("DOMActivate");
  554. }else{
  555. ipt_goodcd.value = "";
  556. ipt_goodnm.value = "";
  557. model.refresh();
  558. }
  559. ]]>
  560. </script>
  561. </input>
  562. <button id="btn_goodcd" class="icon_search" style="left:539px; top:72px; width:16px; height:16px; ">
  563. <caption/>
  564. <script type="javascript" ev:event="DOMActivate">
  565. <![CDATA[
  566. rszfOpenPopUpListByWndName(ipt_goodcd,"","goodcd,goodnm","SPRSD00210","instcd,goodflag","cmb_instcd,opt_goodflag");
  567. model.refresh();
  568. btn_search.dispatch("DOMActivate");
  569. ]]>
  570. </script>
  571. </button>
  572. <input id="ipt_goodnm" ref="/root/send/goodreq/goodnm" class="input_search" style="left:559px; top:70px; width:148px; height:19px; ">
  573. <script type="javascript" ev:event="xforms-value-changed">
  574. <![CDATA[
  575. if(ipt_goodnm.label != "")
  576. {
  577. rszfValidationCheck("TRRSD00191", "goodlist" , "refcond,instcd,goodflag,goodcd,goodnm,indexgb,indexnm",
  578. "goodnm," + model.getValue(cmb_instcd.attribute("ref")) + "," + opt_goodflag.value + ",," + model.getValue(ipt_goodnm.attribute("ref")) + ",," ,
  579. "","goodcd,goodnm",ipt_goodcd,"SPRSD00210","instcd,goodflag","cmb_instcd,opt_goodflag");
  580. }else{
  581. ipt_goodnm.value = "";
  582. ipt_goodcd.value = "";
  583. }
  584. model.refresh();
  585. ]]>
  586. </script>
  587. </input>
  588. <datagrid id="grd_goodreq" nodeset="/root/main/list/goodreq/goodreqlist" visibility="visible" caption="청구부서^청구일자^작업구분^청구구분^물품명^규격^기준량^기대여량^청구^재멸균^caption1^기출고^미출고^상태^사유^선택^출고량^마감" colsep="^" colwidth="67, 69, 57, 100, 216, 107, 48, 59, 41, 46, 41, 44, 46, 56, 82, 30, 46, 44, 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, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="25" ellipsis="true" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" tooltip="true" style="left:115px; top:126px; width:1080px; height:608px; ">
  589. <col ref="reqdeptnm"/>
  590. <col ref="reqdd" format="yyyy-mm-dd"/>
  591. <col ref="workflagnm"/>
  592. <col ref="reqflagnm"/>
  593. <col ref="goodnm"/>
  594. <col ref="goodspec"/>
  595. <col ref="csrsafestocqty" format="#,###" style="text-align:right; "/>
  596. <col ref="csrddavguseqty" format="#,###" style="text-align:right; "/>
  597. <col ref="reqqty" format="#,###" style="text-align:right; "/>
  598. <col ref="rgstqty" format="#,###" style="text-align:right; "/>
  599. <col ref="adjtqty"/>
  600. <col ref="deliveqty" format="#,###" style="text-align:right; "/>
  601. <col ref="remainqty" format="#,###" style="text-align:right; "/>
  602. <col ref="deliveprcsflag" type="combo">
  603. <choices>
  604. <itemset>
  605. <label/>
  606. <value/>
  607. </itemset>
  608. </choices>
  609. </col>
  610. <col ref="unwinresn" type="combo">
  611. <choices>
  612. <item>
  613. <label/>
  614. <value/>
  615. </item>
  616. <item>
  617. <label>거래처사정</label>
  618. <value>거래처사정</value>
  619. </item>
  620. <item>
  621. <label>단종</label>
  622. <value>단종</value>
  623. </item>
  624. <item>
  625. <label>품목변경</label>
  626. <value>품목변경</value>
  627. </item>
  628. <item>
  629. <label>청구취소</label>
  630. <value>청구취소</value>
  631. </item>
  632. <item>
  633. <label>기타</label>
  634. <value>기타</value>
  635. </item>
  636. </choices>
  637. </col>
  638. <col checkvalue="Y,N" ref="select" type="checkbox"/>
  639. <col ref="delivedeptqty" type="input" format="#,###" style="text-align:right; "/>
  640. <col checkvalue="Y,N" ref="acptflag" type="checkbox"/>
  641. <col ref="purcunit" visibility="hidden"/>
  642. <col ref="minexch" visibility="hidden"/>
  643. <col ref="basevol" visibility="hidden"/>
  644. <col ref="reqno" visibility="hidden"/>
  645. <col ref="instcd" visibility="hidden"/>
  646. <col ref="reqflag" visibility="hidden"/>
  647. <col ref="chkcmt" visibility="hidden" style="text-align:center; "/>
  648. <col ref="workflag" visibility="hidden"/>
  649. <col ref="reqmthdflag" visibility="hidden"/>
  650. <col ref="deliveflag" visibility="hidden"/>
  651. <col ref="reqpridflag" visibility="hidden"/>
  652. <col ref="goodflag" visibility="hidden"/>
  653. <col ref="bugtcd" visibility="hidden"/>
  654. <col ref="stdysubjno" visibility="hidden"/>
  655. <col ref="reqdeptcd" visibility="hidden"/>
  656. <col ref="reqcollcdeptcd" visibility="hidden"/>
  657. <col ref="windeptcd" visibility="hidden"/>
  658. <col ref="delivehopedd" visibility="hidden"/>
  659. <col ref="reqpsnid" visibility="hidden"/>
  660. <col ref="reqtm" visibility="hidden"/>
  661. <col ref="ddavguseqty" visibility="hidden"/>
  662. <col ref="basevol" visibility="hidden"/>
  663. <col ref="deptaprvdd" visibility="hidden"/>
  664. <col ref="acptdd" visibility="hidden"/>
  665. <col ref="acptcharid" visibility="hidden"/>
  666. <col ref="purcdmnddd" visibility="hidden"/>
  667. <col ref="purcdmndno" visibility="hidden"/>
  668. <col ref="purcdmndseq" visibility="hidden"/>
  669. <col ref="colreqdept" visibility="hidden"/>
  670. <col ref="colreqno" visibility="hidden"/>
  671. <col ref="colreqseqno" visibility="hidden"/>
  672. <col ref="unwinresn" visibility="hidden"/>
  673. <col ref="deliveprcsflag" visibility="hidden"/>
  674. <col ref="cmt" visibility="hidden"/>
  675. <col ref="preadjtqty" visibility="hidden"/>
  676. <col ref="delivepsn" visibility="hidden"/>
  677. <col ref="delivedd" visibility="hidden"/>
  678. <col ref="deliveno" visibility="hidden"/>
  679. <col ref="deliveseqno" visibility="hidden"/>
  680. <col ref="deliveunit" visibility="hidden"/>
  681. <col ref="delivedeptcd" visibility="hidden"/>
  682. <col ref="windeptcd" visibility="hidden"/>
  683. <col ref="predelivedeptqty" visibility="hidden"/>
  684. <col ref="predeliveprcsflag" visibility="hidden"/>
  685. <col ref="savedeliveprcsflag" visibility="hidden"/>
  686. <col ref="iokindcd" visibility="hidden"/>
  687. <col ref="goodmodel" visibility="hidden"/>
  688. <col ref="prodcmpynm" visibility="hidden"/>
  689. <col ref="stocqty" visibility="hidden"/>
  690. <col ref="predeliveqty" visibility="hidden"/>
  691. <col ref="preacptflag" visibility="hidden"/>
  692. <col ref="reqseqno" visibility="hidden"/>
  693. <col ref="goodcd" visibility="hidden"/>
  694. <col ref="requnit" visibility="hidden"/>
  695. <script type="javascript" ev:event="xforms-value-changed">
  696. <![CDATA[
  697. if(grd_goodreq.col == grd_goodreq.colRef("select"))
  698. {
  699. if(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/select") == "Y" )
  700. {
  701. var reqqty = parseInt(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqqty"));
  702. var deliveqty = 0;
  703. if(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deliveqty") != 0 &
  704. model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deliveqty").length > 0)
  705. deliveqty= parseInt(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deliveqty"));
  706. var delivedeptqty = parseInt(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/delivedeptqty"));
  707. if(reqqty - delivedeptqty == 0)
  708. {
  709. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/select", "N");
  710. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  711. messageBox("청구량과 출고량이 같으므로 출고를 선택" ,"E001");
  712. return;
  713. }
  714. else if(reqqty == delivedeptqty)
  715. {
  716. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/unwinresn", "");
  717. }
  718. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/delivedeptqty", (reqqty - deliveqty));
  719. if(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deliveprcsflag") == "1")model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deliveprcsflag", "7");
  720. }
  721. else
  722. {
  723. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/delivedeptqty", model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/predelivedeptqty"));
  724. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  725. }
  726. }
  727. else if(grd_goodreq.col == grd_goodreq.colRef("deliveprcsflag"))
  728. {
  729. var reqqty = parseInt(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqqty"));
  730. var delivedeptqty = parseInt(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/delivedeptqty"));
  731. if(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deliveprcsflag") == "7" ) //출고완료
  732. {
  733. if(reqqty != delivedeptqty)
  734. {
  735. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  736. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deliveprcsflag",model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/predeliveprcsflag"));
  737. // grd_goodreq.endEditCell();
  738. // grd_goodreq.col = grd_goodreq.colRef("reqqty");
  739. // grd_goodreq.editCell();
  740. model.setFocus("btnselect");
  741. messageBox("청구량과 출고량이 같지 않으므로 출고완료로 설정 " ,"E001");
  742. }
  743. }
  744. else if(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deliveprcsflag") == "6" ) //강제종결
  745. {
  746. if (reqqty <= delivedeptqty)
  747. {
  748. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  749. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deliveprcsflag",model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/predeliveprcsflag"));
  750. // grd_goodreq.endEditCell();
  751. // grd_goodreq.col = grd_goodreq.colRef("reqqty");
  752. // grd_goodreq.editCell();
  753. model.setFocus("btnselect");
  754. messageBox("청구량이 출고량보다 크지 않으므로 강제종결로 설정 " ,"E001");
  755. }
  756. }
  757. }
  758. else if(grd_goodreq.col == grd_goodreq.colRef("delivedeptqty"))
  759. {
  760. var reqqty = parseInt(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqqty"));
  761. var delivedeptqty = parseInt(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/delivedeptqty"));
  762. if(reqqty == delivedeptqty)
  763. {
  764. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deliveprcsflag", "7");
  765. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/unwinresn", "");
  766. grd_goodreq.rowStatus(grd_goodreq.row) = "2";
  767. }
  768. }
  769. else if(grd_goodreq.col == grd_goodreq.colRef("unwinresn"))
  770. {
  771. if(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/unwinresn") == "기타" )
  772. {
  773. }
  774. }
  775. else if(grd_goodreq.col == grd_goodreq.colRef("acptflag"))
  776. {
  777. if(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/acptflag") == "Y" )
  778. {
  779. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/acptdd", getCurrentDate());
  780. }
  781. else
  782. {
  783. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/acptdd", "");
  784. }
  785. }
  786. model.recalculate();
  787. model.refresh();
  788. ]]>
  789. </script>
  790. <script type="javascript" ev:event="onentercell">
  791. <![CDATA[
  792. //if(grd_goodreq.colAttribute(grd_goodreq.col, "type").indexOf ("input") > -1 ||grd_goodreq.colAttribute(grd_goodreq.col, "type").indexOf ("checkbox") > -1) grd_goodreq.editCell();
  793. ]]>
  794. </script>
  795. <script type="javascript" ev:event="onaftersort">
  796. <![CDATA[
  797. grd_goodreq.gridToInstance();
  798. ]]>
  799. </script>
  800. </datagrid>
  801. <select1 id="cmb_workflag" ref="/root/send/goodreq/workflag" class="combo_s_essential" appearance="minimal" style="left:830px; top:45px; width:140; height:19px; ">
  802. <choices>
  803. <itemset nodeset="/root/init/workflag">
  804. <label ref="label"/>
  805. <value ref="value"/>
  806. </itemset>
  807. </choices>
  808. <script type="javascript" ev:event="xforms-value-changed">
  809. <![CDATA[
  810. btn_search.dispatch("DOMActivate");
  811. ]]>
  812. </script>
  813. </select1>
  814. <select1 id="cmb_deliveprcsflag_group" ref="/root/send/goodreq/deliveprcsflag_group" class="combo_search" appearance="minimal" style="left:100px; top:70px; width:150; height:19px; ">
  815. <choices>
  816. <item>
  817. <label>전체</label>
  818. <value/>
  819. </item>
  820. <item>
  821. <label>미출고</label>
  822. <value>13</value>
  823. </item>
  824. <item>
  825. <label>출고</label>
  826. <value>67</value>
  827. </item>
  828. </choices>
  829. <script type="javascript" ev:event="xforms-value-changed">
  830. <![CDATA[
  831. btn_search.dispatch("DOMActivate");
  832. ]]>
  833. </script>
  834. </select1>
  835. <line id="line14" class="line_4" style="x1:1110px; y1:19px; x2:1110px; y2:86px; "/>
  836. <caption id="caption14" class="search_name" style="left:15; top:19; width:86px; height:17px; ">기관구분 :</caption>
  837. <caption id="caption15" class="search_name" style="left:745px; top:71px; width:86px; height:17px; ">출고일자 :</caption>
  838. <caption id="caption16" class="search_name" style="left:354px; top:71px; width:86px; height:17px; ">물품코드 :</caption>
  839. <caption id="caption18" class="search_name" style="left:15px; top:70px; width:86px; height:17px; ">진행상태 :</caption>
  840. <caption id="caption19" class="search_name" style="left:745px; top:45px; width:86px; height:17px; ">작업구분 :</caption>
  841. <caption id="caption20" class="search_name" style="left:15px; top:45px; width:94px; height:17px; ">청구부서 :</caption>
  842. <caption id="caption24" class="search_name" style="left:354px; top:21px; width:86px; height:17px; ">청구일자 :</caption>
  843. <line id="line1" class="line_1" style="x1:0px; y1:121px; x2:110; y2:121px; "/>
  844. <caption id="caption4" class="tit_2" style="left:5px; top:106px; width:110px; height:13px; ">비품내역</caption>
  845. <input id="ipt_reqmthdflag" ref="/root/send/goodreq/reqmthdflag" visibility="hidden" style="left:1060px; top:25px; width:25px; height:19px; text-align:center; "/>
  846. <select1 id="cmb_reqpridflag" ref="/root/send/goodreq/reqpridflag" appearance="minimal" style="left:563px; top:45px; width:65px; height:19px; ">
  847. <choices>
  848. <itemset>
  849. <label/>
  850. <value/>
  851. </itemset>
  852. </choices>
  853. <script type="javascript" ev:event="xforms-value-changed">
  854. <![CDATA[
  855. btn_search.dispatch("DOMActivate");
  856. ]]>
  857. </script>
  858. </select1>
  859. <select1 id="cmb_deliveflag" ref="/root/send/goodreq/deliveflag" appearance="minimal" style="left:440px; top:45px; width:120; height:19px; ">
  860. <choices>
  861. <item>
  862. <label>정기</label>
  863. <value>1</value>
  864. </item>
  865. <item>
  866. <label>응급</label>
  867. <value>2</value>
  868. </item>
  869. </choices>
  870. <script type="javascript" ev:event="xforms-value-changed">
  871. <![CDATA[
  872. /* 대여외에는 마감차수를 입력받지 않는다.. 응급도 마감차수를 받지않는다.
  873. pgmgubun 값을 의미없는 ""로 넣어 데이타가 조회되지 않게한다. 2007.10.14 HBH
  874. */
  875. fSetReqseq();
  876. btn_search.dispatch("DOMActivate");
  877. ]]>
  878. </script>
  879. </select1>
  880. <caption id="caption1" class="search_name" style="left:354px; top:45px; width:86px; height:17px; ">불출구분 :</caption>
  881. <select1 id="rdo_csrreqdeptcd" ref="/root/send/goodreq/csrreqdeptcd" class="radio_search" appearance="full" cols="6" style="left:100px; top:48px; width:250px; height:15px; border-style:none; ">
  882. <choices>
  883. <itemset nodeset="/root/init/radio1">
  884. <label ref="label"/>
  885. <value ref="value"/>
  886. </itemset>
  887. </choices>
  888. <script type="javascript" ev:event="xforms-value-changed">
  889. <![CDATA[
  890. fSetReqseq();
  891. btn_search.dispatch("DOMActivate");
  892. ]]>
  893. </script>
  894. </select1>
  895. <datagrid id="grd_goodreqcsrdept" nodeset="/root/main/list/goodreqcsrdept/goodreqcsrdeptlist" caption="청구부서^청구부서" colsep="^" colwidth="6, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:126px; width:110px; height:608px; ">
  896. <col ref="reqdeptcd" visibility="hidden"/>
  897. <col ref="reqdeptnm"/>
  898. <script type="javascript" ev:event="onrowchanged">
  899. <![CDATA[
  900. model.setValue("/root/send/goodreq/reqdeptcd", "");
  901. misfGridInit(grd_goodreq);
  902. if( grd_goodreqcsrdept.rows >= grd_goodreqcsrdept.fixedRows )
  903. {
  904. model.setValue("/root/send/goodreq/reqdeptcd", grd_goodreqcsrdept.valueMatrix(grd_goodreqcsrdept.row, grd_goodreqcsrdept.colRef("reqdeptcd")));
  905. model.refresh();
  906. //misfDetailRetrieve();
  907. submit("TRRSO00301");
  908. }
  909. ]]>
  910. </script>
  911. </datagrid>
  912. <button id="button1" class="btn2_letter9" style="left:954px; top:100px; width:119px; height:19px; ">
  913. <caption>마감 전체선택/취소</caption>
  914. <script type="javascript" ev:event="DOMActivate">
  915. <![CDATA[
  916. for(var liRow = grd_goodreq.fixedRows; liRow < grd_goodreq.rows ; liRow++)
  917. {
  918. if(grd_goodreq.valueMatrix(liRow,grd_goodreq.colRef("acptflag")) == "Y")
  919. {
  920. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/acptflag" , "N");
  921. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/acptdd" , "");
  922. // 다른걸 수정후 일괄버튼을 체크하면 문제된다.
  923. //grd_goodreq.rowStatus(liRow) = "2";
  924. }
  925. else
  926. {
  927. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/acptflag" , "Y");
  928. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1) + "]/acptdd" , getCurrentDate());
  929. grd_goodreq.rowStatus(liRow) = "2";
  930. }
  931. }
  932. model.recalculate();
  933. model.refresh();
  934. ]]>
  935. </script>
  936. </button>
  937. <button id="btn_csrclosing" class="btn2_letter7" visibility="hidden" style="left:855px; top:100px; width:97px; height:19px; ">
  938. <caption>청구마감 처리</caption>
  939. <script type="javascript" ev:event="DOMActivate">
  940. <![CDATA[
  941. if(fCheckRetrieveData(true) == false)return;
  942. if (model.getValue(rdo_csrreqdeptcd.attribute("ref")) == "%" )
  943. {
  944. messageBox("청구구분을 '전체' 외로", "C002");
  945. return;
  946. }
  947. //1. 마감작업.
  948. // 마감작업에 대한 확인 메세지를 해야하나????????
  949. model.setValue("/root/send/goodreq/iudflag" , "I");
  950. submit("TXRSE00101");
  951. // 2. 마감작업후 조회.
  952. btn_search.dispatch("DOMActivate");
  953. ]]>
  954. </script>
  955. </button>
  956. <select1 id="rdo_querygubun" ref="/root/send/goodreq/querygubun" appearance="full" cellspacing="30" cols="2" overflow="visible" style="left:100px; top:105px; width:180px; height:15px; border-style:none; ">
  957. <choices>
  958. <itemset nodeset="root/init/querygubun">
  959. <label ref="label"/>
  960. <value ref="value"/>
  961. </itemset>
  962. </choices>
  963. <script type="javascript" ev:event="xforms-value-changed">
  964. <![CDATA[
  965. btn_search.dispatch("DOMActivate");
  966. ]]>
  967. </script>
  968. </select1>
  969. <line id="line2" class="line_1" style="x1:115px; y1:121px; x2:1195px; y2:121px; "/>
  970. <output id="opt_goodflag" ref="/root/send/goodreq/goodflag" visibility="hidden" style="left:1000px; top:25px; width:20px; height:19px; "/>
  971. </group>
  972. <group id="group1" style="left:0px; top:12; width:1195px; height:27px; ">
  973. <button id="btn_print" class="btn6_letter2" visibility="hidden" style="left:0px; top:3px; width:56px; height:22px; ">
  974. <caption>출력</caption>
  975. </button>
  976. <button id="btn_save" class="btn4_letter2" style="left:1069px; top:3px; width:56px; height:22px; ">
  977. <caption>저장</caption>
  978. <script type="javascript" ev:event="DOMActivate">
  979. <![CDATA[
  980. if(fCheckSaveData() == false)return;
  981. fSettingSaveOutData();
  982. ]]>
  983. </script>
  984. </button>
  985. <button id="btn_init" class="btn4_letter3" style="left:1126px; top:3px; width:68px; height:22px; ">
  986. <caption>초기화</caption>
  987. <script type="javascript" ev:event="DOMActivate">
  988. <![CDATA[
  989. fInitialize();
  990. ]]>
  991. </script>
  992. </button>
  993. <line id="line17" class="line_6" style="x1:0px; y1:25px; x2:1195px; y2:25px; "/>
  994. </group>
  995. </xhtml:body>
  996. </xhtml:html>