SMRSO02500_청구분출고관리(약국).xrw 51 KB

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