SMRSD00400_2.js 68 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410
  1. /* ---------------------------------------------------------------------
  2. SMRSD00400_물품청구관리.xrw (SMRSD00400.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By Francis Choi
  6. : 2015.05.02
  7. ---------------------------------------------------------------------- */
  8. var vGoodReqPath = "/root/main/list/goodreq/goodreqlist";
  9. var xAuth = !(checkAuth("X"));
  10. var pAuth = !(checkAuth("P"));
  11. var DataPath = "/root/main/RscmggbnEmpData";
  12. var MainPath = "/root/main/RscmggbnLists/rscmggbnlist";
  13. var ListsPath = "/root/main/RscmggbnEmpLists";
  14. var ListPath = "/root/main/RscmggbnEmpLists/rscmggbnemplist";
  15. var HidePath = "/root/WorkData/HideData";
  16. var TreePath = "/root/main/RscmgubnLists/TreeList";
  17. var WorkPath = "/root/init/WorkInit";
  18. var CompPath = "/root/init/CompareInit";
  19. // --------------------------------------------------
  20. // Tree정보 가져오기
  21. // --------------------------------------------------
  22. function fInit() {
  23. // 화면 Control을 초기화한다
  24. fCheckAuth();
  25. fInitialize();
  26. return;
  27. }
  28. //------------------------------------------------
  29. // 화면 권한관리 CHECK
  30. //------------------------------------------------
  31. function fCheckAuth() {
  32. btn_search.disabled = !checkAuth("R") ;
  33. //btn_save.disabled = !checkAuth("X") ;
  34. //btn_prt.disabled = !checkAuth("P") ;
  35. }
  36. // --------------------------------------------------------------
  37. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  38. // --------------------------------------------------------------
  39. function fInitialize() {
  40. model.resetInstanceNode("/root/send");
  41. btn_save.disabled = true;
  42. btn_accept.disabled = true;
  43. ckb_accept.attribute("visibility") ="hidden" ;
  44. // rszfComboBugtList(cmb_bugtflag,getUserInfo("dutplceinstcd"));
  45. rszfUserReqFlagList(cmb_reqflag,getUserInfo("dutplceinstcd"),getUserInfo("userid"),"1","S" ); // preqpgmgubun : '1' :구매재고
  46. misfGridInit(grd_goodreq);
  47. misfMsterDetailSet(grd_goodreq,null, "TRRSD00401" ,"Y");
  48. model.setValue(ipt_reqdd.attribute("ref") , getCurrentDate());
  49. model.setValue(opt_requser.attribute("ref" ) , getUserInfo("userid"));
  50. model.setValue(opt_requsernm.attribute("ref") , getUserInfo("usernm"));
  51. //기관코드, 명 설정.
  52. opt_instcd.value = getUserInfo("dutplceinstcd");
  53. opt_instcdnm.value = getUserInfo("dutplceinstnm");
  54. // 사용자의 부서가 하나가 아니면 오류메세지를 호출하며. 부서가 하나이면 부서코드와 부서명을 설정해준다.
  55. rszfReqDeptGetComboList("cmb_reqdeptcd", opt_instcd.value, getUserInfo("userid"), cmb_reqflag.value);
  56. // 입력방식 선택 및 col 제어
  57. // 일반청구:청구량입력 , 정량보충:재고량입력
  58. model.setValue(rdo_inputmethod.attribute("ref") , "1");
  59. grd_goodreq.colDisabled(grd_goodreq.colRef("stocqty")) = true;
  60. grd_goodreq.colDisabled(grd_goodreq.colRef("reqqty" )) = false;
  61. if(cmb_workflag.length> 0) cmb_workflag.selectedindex= 0;
  62. grd_goodlist.fixedcellcheckbox(0,grd_goodlist.colRef("select"),false) = true;
  63. // if(cmb_bugtflag.length> 0) cmb_bugtflag.selectedindex= 0;
  64. fSetReqAuth();
  65. grd_goodreq.explorerbar = "sortshow";
  66. //fReqFlagCheck();
  67. model.refresh();
  68. }
  69. // -----------------------------------------------
  70. // 청구주기가 일청구이면 권한체크하지 않는다.
  71. // -----------------------------------------------
  72. function fSetReqAuth() {
  73. // btn 기본처리
  74. btn_excel.disabled = true;
  75. // btn_reqset.disabled = true;
  76. btn_insert.disabled = true;
  77. btn_delete.disabled = true;
  78. btn_choice.disabled = true;
  79. btn_accept.disabled = true;
  80. btn_save.disabled = true;
  81. ckb_accept.attribute("visibility") ="hidden" ;
  82. if(model.getValue(opt_instcd.attribute("ref") ).length==0) return;
  83. if(model.getValue(cmb_reqflag.attribute("ref") ).length==0) return;
  84. if(model.getValue(cmb_reqdeptcd.attribute("ref") ).length==0) return;
  85. if(model.getValue(cmb_reqpridflag.attribute("ref")).length==0) return;
  86. // -----------------------------------------------
  87. // 청구주기가 일청구이면 권한체크하지 않는다.
  88. // -----------------------------------------------
  89. if (model.getValue(cmb_reqpridflag.attribute("ref")) == "1") {
  90. rszfGetPurcReqFnlDeptcd(model.getValue(opt_instcd.attribute("ref")), model.getValue(cmb_reqflag.attribute("ref")) , model.getValue(cmb_reqdeptcd.attribute("ref")));
  91. btn_save.disabled = false;
  92. btn_accept.disabled = false;
  93. ckb_accept.value = "Y";
  94. ckb_accept.attribute("visibility") = "visible" ;
  95. btn_excel.disabled = false;
  96. // btn_reqset.disabled = false;
  97. btn_insert.disabled = false;
  98. btn_delete.disabled = false;
  99. btn_choice.disabled = false;
  100. model.setValue(opt_reqfinaldept.attribute("ref"),model.getValue("root/init/reqfnldept/reqfnldeptlist/reqfnldeptcd"));
  101. model.setValue(opt_reqfinaldeptnm.attribute("ref"),model.getValue("root/init/reqfnldept/reqfnldeptlist/reqfnldeptnm"));
  102. } else {
  103. rszfGetPurcReqAuthInfo(model.getValue(opt_instcd.attribute("ref")), model.getValue(cmb_reqflag.attribute("ref")) , model.getValue(cmb_reqdeptcd.attribute("ref")), getUserInfo("userid"),model.getValue(cmb_reqpridflag.attribute("ref")) );
  104. if (rszfGetPurcAuthInfoByCond("reqaprvflag") =="1") {
  105. btn_save.disabled = false;
  106. btn_excel.disabled = false;
  107. // btn_reqset.disabled = false;
  108. btn_insert.disabled = false;
  109. btn_delete.disabled = false;
  110. btn_choice.disabled = false;
  111. }
  112. if (rszfGetPurcAuthInfoByCond("reqaprvflag") == "2") {
  113. btn_save.disabled = false;
  114. btn_accept.disabled = false;
  115. btn_excel.disabled = false;
  116. //btn_reqset.disabled = false;
  117. btn_insert.disabled = false;
  118. btn_delete.disabled = false;
  119. btn_choice.disabled = false;
  120. ckb_accept.value = "Y";
  121. ckb_accept.attribute("visibility") = "visible" ;
  122. }
  123. model.setValue(opt_reqfinaldept.attribute("ref") ,rszfGetPurcAuthInfoByCond("reqfnldeptcd"));
  124. model.setValue(opt_reqfinaldeptnm.attribute("ref"),rszfGetPurcAuthInfoByCond("reqfnldeptnm"));
  125. }
  126. // 로그인자의 부서와 취합부서정보가 같으면 청구부서를 open한다. 2007.09.27 HBH
  127. if (model.getValue(cmb_reqdeptcd.attribute("ref")) == model.getValue(opt_reqfinaldept.attribute("ref"))) {
  128. cmb_reqdeptcd.disabled=false;
  129. }
  130. if (btn_reqset.selected) fReqSetList() ;
  131. model.refresh();
  132. }
  133. // --------------------------------------------------------------
  134. // 불출부서 청구마지막 일자를 불러온다.청구마감일자 조회
  135. // --------------------------------------------------------------
  136. function fLastDaySearch() {
  137. model.setValue("/root/send/lastdatesearch/instcd", opt_instcd.value);
  138. model.setValue("/root/send/lastdatesearch/deldeptcd", opt_reqfinaldept.value);
  139. model.setValue("/root/send/lastdatesearch/reqym", ipt_reqdd.value.substr(0,6));
  140. submit("TRRSC01701"); // 청구마감일자 조회 purcbaseweb
  141. }
  142. // --------------------------------------------------------------
  143. // 청구일자가 불출부서의 청구마지막 일자안에 있는지 확인,
  144. // --------------------------------------------------------------
  145. function fLastDayCheck() {
  146. var fbool = false;
  147. if (ipt_todd.value != '') {
  148. if (ipt_reqdd.value > ipt_todd.value ) {
  149. fbool = true;
  150. }
  151. }
  152. return fbool;
  153. }
  154. // --------------------------------------------------------------
  155. // 기본자료 SET
  156. // --------------------------------------------------------------
  157. function fDefaultSetting(prow) {
  158. // --------------------------------------------------------
  159. // 일반청구 와 정량보충에 따라서 col을 control한다.
  160. // --------------------------------------------------------
  161. if (model.getValue(rdo_inputmethod.attribute("ref"))=="1") {
  162. grd_goodreq.colDisabled(grd_goodreq.colRef("stocqty")) = true;
  163. grd_goodreq.colDisabled(grd_goodreq.colRef("reqqty")) = false;
  164. } else {
  165. grd_goodreq.colDisabled(grd_goodreq.colRef("stocqty")) = false;
  166. grd_goodreq.colDisabled(grd_goodreq.colRef("reqqty")) = true;
  167. }
  168. model.setValue(grd_goodreq.nodeset +"[" + prow+ "]/workflag" , model.getValue(cmb_workflag.attribute("ref" )));
  169. model.setValue(grd_goodreq.nodeset +"[" + prow + "]/instcd" , model.getValue(opt_instcd.attribute("ref" )));
  170. model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqflag" , model.getValue(cmb_reqflag.attribute("ref" )));
  171. // 불출구분 없앰... 기본값('1') settting한다
  172. model.setValue(grd_goodreq.nodeset +"[" + prow + "]/deliveflag" , '1' );
  173. model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqdd" , model.getValue(ipt_reqdd.attribute("ref" )));
  174. model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqpridflag" , model.getValue(cmb_reqpridflag.attribute("ref" )));
  175. model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqdeptcd" , model.getValue(cmb_reqdeptcd.attribute("ref" )));
  176. model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqpsnid" , model.getValue(opt_requser.attribute("ref" )));
  177. model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqseqno" , fGetMaxReqNo() );
  178. model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqno" , model.getValue(ipt_reqno.attribute("ref" )));
  179. // model.setValue(grd_goodreq.nodeset +"[" + prow + "]/stdysubjno" , model.getValue(ipt_stdysubjno.attribute("ref" )));
  180. model.setValue(grd_goodreq.nodeset +"[" + prow + "]/delivedeptcd" , model.getValue(opt_reqfinaldept.attribute("ref")));
  181. model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqcollcdeptcd" , rszfGetPurcAuthInfoByCond("reqcollcdeptcd" ));
  182. //-----------------------------------------------------------------------------------------------------------
  183. // 비승인자가 승인처리시 에러와 함꼐 OLD값을 넣어준다.
  184. // 행추가시 OLD값을 'N'으로 셋팅함으로 에러처리시 제대로 된다. HBH
  185. //-----------------------------------------------------------------------------------------------------------
  186. model.setValue(grd_goodreq.nodeset +"[" + prow + "]/predeptaprvyn","N");
  187. /*------------------------------------------------------------------------------------------------------------
  188. * 화면 상단 계정을 bugtcd에 넣는다.
  189. ------------------------------------------------------------------------------------------------------------*/
  190. // model.setValue(grd_goodreq.nodeset +"[" + prow + "]/bugtcd",model.getValue(cmb_bugtflag.attribute("ref")));
  191. }
  192. // --------------------------------------------------------------
  193. // 최종 청구번호 가져오기
  194. // --------------------------------------------------------------
  195. function fGetMaxReqNo() {
  196. var vMax = 0;
  197. var maxreqseqno = "0";
  198. for (var currow = grd_goodreq.fixedRows ; currow < grd_goodreq.rows; currow++) {
  199. if (maxreqseqno < grd_goodreq.valueMatrix(currow, grd_goodreq.colRef("reqseqno"))) {
  200. maxreqseqno = grd_goodreq.valueMatrix(currow, grd_goodreq.colRef("reqseqno"));
  201. }
  202. }
  203. vMax = parseInt(maxreqseqno, 10);
  204. // alert(vMax+"::"+maxreqseqno);
  205. vMax += 1;
  206. maxreqseqno = "" + vMax;
  207. return maxreqseqno.getLeftPad(3,"0");
  208. }
  209. // --------------------------------------------------------------
  210. //
  211. // --------------------------------------------------------------
  212. function fSettingGoodList(pnode, nodename, userqtynm) {
  213. var codynode = instance1.selectNodes(pnode + "/*");
  214. var addRow = grd_goodreq.rows - grd_goodreq.fixedRows;
  215. if(model.getValue(grd_goodreq.nodeset + "[" + addRow + "]/goodcd").length > 0) addRow = addRow + 1;
  216. //
  217. for (var j = 1; j <= codynode.length ; j++) {
  218. if((grd_goodreq.rows - grd_goodreq.fixedRows == 0) ||
  219. (addRow > grd_goodreq.rows - grd_goodreq.fixedRows))
  220. {
  221. misfGridIUD(grd_goodreq,"A");
  222. addRow = grd_goodreq.rows - grd_goodreq.fixedRows;
  223. fDefaultSetting(addRow );
  224. }
  225. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/goodcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodcd" ));
  226. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/goodnm" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodnm" ));
  227. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/goodspec" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodspec" ));
  228. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/goodflag" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodflag" ));
  229. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/goodmodel" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodmodel" ));
  230. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/prodcmpynm" , model.getValue(pnode +"/" + nodename + "[" + j + "]/prodcmpynm" ));
  231. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/purcunit" , model.getValue(pnode +"/" + nodename + "[" + j + "]/purcunit" ));
  232. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/basevol" , model.getValue(pnode +"/" + nodename + "[" + j + "]/minexch" ));
  233. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/stocqty" , model.getValue(pnode +"/" + nodename + "[" + j + "]/stocqty" ));
  234. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/reqqty" , model.getValue(pnode +"/" + nodename + "[" + j + "]/" + userqtynm));
  235. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/requnit" , model.getValue(pnode +"/" + nodename + "[" + j + "]/deliveunit" ));
  236. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/minexch" , model.getValue(pnode +"/" + nodename + "[" + j + "]/minexch" ));
  237. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/ddavguseqty" , model.getValue(pnode +"/" + nodename + "[" + j + "]/ddavguseqty" ));
  238. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/exchqty" , model.getValue(pnode +"/" + nodename + "[" + j + "]/exchqty" ));
  239. //model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/reqmthdflag" , model.getValue(pnode +"/" + nodename + "[" + j + "]/reqmthd" ));
  240. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/reqmthdflag" , "3");
  241. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/allsizeyn" , model.getValue(pnode +"/" + nodename + "[" + j + "]/allsizeyn"));
  242. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/rgstqty" , "0");
  243. if (model.getValue(pnode +"/" + nodename + "[" + j + "]/allsizeyn") == "Y")
  244. {
  245. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/allsizespecid" , model.getValue(pnode +"/" + nodename + "[" + j + "]/allsizespecid"));
  246. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/allsizespecidnm" , model.getValue(pnode +"/" + nodename + "[" + j + "]/allsizespecidnm"));
  247. if (model.getValue(pnode +"/" + nodename + "[" + j + "]/allsizespecid").length > 0 )
  248. model.setValue(grd_goodreq.nodeset + "[" + addRow + "]/goodspec" , model.getValue(pnode +"/" + nodename + "[" + j + "]/allsizespecidnm"));
  249. }
  250. addRow = addRow + 1;
  251. }
  252. //model.removenode(pnode);
  253. model.refresh();
  254. }
  255. function fCheckRetrieveData(pmsg)
  256. {
  257. if(model.getValue(cmb_workflag.attribute("ref")).length== 0 )
  258. {
  259. if(pmsg == true)
  260. {
  261. messageBox("작업구분을 " ,"C002");
  262. model.setFocus("cmb_workflag");
  263. }
  264. return false;
  265. }
  266. if(model.getValue(opt_instcd.attribute("ref")).length== 0 )
  267. {
  268. if(pmsg == true)
  269. {
  270. messageBox("기관코드를 " ,"C002");
  271. model.setFocus("opt_instcd");
  272. }
  273. return false;
  274. }
  275. if(model.getValue(cmb_reqflag.attribute("ref")).length== 0 )
  276. {
  277. if(pmsg == true)
  278. {
  279. messageBox("청구구분을 " ,"C002");
  280. model.setFocus("cmb_reqflag");
  281. }
  282. return false;
  283. }
  284. if(model.getValue(ipt_reqdd.attribute("ref")).length== 0 )
  285. {
  286. if(pmsg == true)
  287. {
  288. messageBox("청구일자를 " ,"C001");
  289. model.setFocus("ipt_reqdd");
  290. }
  291. return false;
  292. }
  293. if(model.getValue(cmb_reqpridflag.attribute("ref")).length== 0 )
  294. {
  295. if(pmsg == true)
  296. {
  297. messageBox("청구주기를 " ,"C002");
  298. model.setFocus("cmb_reqpridflag");
  299. }
  300. return false;
  301. }
  302. if(model.getValue(cmb_reqdeptcd.attribute("ref")).length== 0 )
  303. {
  304. if(pmsg == true)
  305. {
  306. messageBox("청구부서를 " ,"C002");
  307. model.setFocus("cmb_reqdeptcd");
  308. }
  309. return false;
  310. }
  311. if(model.getValue(opt_requser.attribute("ref")).length== 0 )
  312. {
  313. if(pmsg == true)
  314. {
  315. messageBox("청구자를 " ,"C002");
  316. model.setFocus("opt_requser");
  317. }
  318. return false;
  319. }
  320. return true;
  321. }
  322. function fCheckSaveData()
  323. {
  324. if(model.getValue(cmb_workflag.attribute("ref")).length== 0 )
  325. {
  326. messageBox("작업구분을 " ,"C002");
  327. model.setFocus("cmb_workflag");
  328. return false;
  329. }
  330. if(model.getValue(opt_instcd.attribute("ref")).length== 0 )
  331. {
  332. messageBox("기관코드를 " ,"C002");
  333. model.setFocus("opt_instcd");
  334. return false;
  335. }
  336. if(model.getValue(cmb_reqflag.attribute("ref")).length== 0 )
  337. {
  338. messageBox("청구구분을 " ,"C002");
  339. model.setFocus("cmb_reqflag");
  340. return false;
  341. }
  342. if(model.getValue(ipt_reqdd.attribute("ref")).length== 0 )
  343. {
  344. messageBox("청구일자를 " ,"C001");
  345. model.setFocus("ipt_reqdd");
  346. return false;
  347. }
  348. if(model.getValue(cmb_reqpridflag.attribute("ref")).length== 0 )
  349. {
  350. messageBox("청구주기를 " ,"C002");
  351. model.setFocus("cmb_reqpridflag");
  352. return false;
  353. }
  354. var basevol = 0;
  355. var stocqty = 0;
  356. var reqqty =0;
  357. var minexch = 0;
  358. for(var currow = grd_goodreq.fixedRows ; currow < grd_goodreq.rows ; currow++)
  359. {
  360. if(grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("goodcd")).length == 0)
  361. {
  362. messageBox(currow + " 번째 물품코드를 " ,"C001");
  363. grd_goodreq.row = currow;
  364. grd_goodreq.col= grd_goodreq.colRef("goodcd");
  365. grd_goodreq.editCell();
  366. return false;
  367. }
  368. else
  369. {
  370. for(srcrow = currow + 1 ; srcrow < grd_goodreq.rows ; srcrow++)
  371. {
  372. if(grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("goodcd")) == grd_goodreq.valueMatrix(srcrow , grd_goodreq.colRef("goodcd")) &&
  373. grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("allsizeyn")) == "N" )
  374. {
  375. messageBox("동일 물품코드가1 [" + currow + "," +srcrow + "->" + grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("goodcd")) + "] 존재하여 저장 " ,"E001");
  376. return false;
  377. }
  378. else if(grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("goodcd")) == grd_goodreq.valueMatrix(srcrow , grd_goodreq.colRef("goodcd")) &&
  379. grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("allsizespecid")) == grd_goodreq.valueMatrix(srcrow , grd_goodreq.colRef("allsizespecid")) )
  380. {
  381. messageBox("동일 물품코드가 (ALL SIZE) [" + currow + "," +srcrow + "->" + grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("goodcd")) + "] 존재하여 저장 " ,"E001");
  382. return false;
  383. }
  384. }
  385. }
  386. if(grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("reqqty")) == 0)
  387. {
  388. messageBox(currow + " 번째 청구량을 " ,"C001");
  389. grd_goodreq.row = currow;
  390. grd_goodreq.col= grd_goodreq.colRef("reqqty");
  391. grd_goodreq.editCell();
  392. return false;
  393. }
  394. basevol = grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("basevol"));
  395. stocqty = grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("stocqty"));
  396. reqqty = grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("reqqty"));
  397. minexch = grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("minexch"));
  398. if(minexch > 0 && (reqqty%minexch != 0))
  399. {
  400. messageBox((currow) + "번째 물품은 최소청구량에 ["+ minexch + "]맞춰서" , "C001");
  401. grd_goodreq.row = currow;
  402. grd_goodreq.col= grd_goodreq.colRef("reqqty");
  403. grd_goodreq.editCell();
  404. return false;
  405. }
  406. /* all size 미입력분 체크 2007.09.
  407. allsizeyn = 'Y' 인데.... allsizespecid선택을 안한경우
  408. */
  409. if(grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("allsizeyn")) == "Y" && grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("allsizespecid")).length == 0)
  410. {
  411. messageBox(currow + " 번째 물품의 ALLSIZE선택을 " ,"C001");
  412. grd_goodreq.row = currow;
  413. grd_goodreq.col= grd_goodreq.colRef("goodspec");
  414. grd_goodreq.editCell();
  415. return false;
  416. }
  417. }
  418. return true;
  419. }
  420. //
  421. function fSetControlDisabled(pDisabled) {
  422. ipt_reqno.disabled = pDisabled;
  423. }
  424. //
  425. function fAfterRetr() {
  426. if(model.getValue("/root/main/list/goodreq/goodmaxreqno/reqfix") == "Y")
  427. {
  428. fSetControlDisabled("true");
  429. }
  430. else
  431. {
  432. fSetControlDisabled("false");
  433. }
  434. model.setValue(ipt_reqno.attribute("ref"),model.getValue("/root/main/list/goodreq/goodmaxreqno/reqno"));
  435. model.refresh();
  436. }
  437. function fRetrByReqNo()
  438. {
  439. if(fCheckRetrieveData(false) == false)return;
  440. model.removenode("/root/main/tmplist");
  441. model.makeNode("/root/main/tmplist/goodreq/goodreqlist");
  442. model.makeNode("/root/main/tmplist/goodreq/goodmaxreqno");
  443. model.copyNode("/root/main/tmplist", "/root/main/list");
  444. model.setValue("/root/send/goodreq/retrmaxreqnoyn","N");
  445. misfMsterDetailRetrieve();
  446. var rtncount = grd_goodreq.rows - grd_goodreq.fixedRows;
  447. if(rtncount == 0)
  448. {
  449. model.copyNode("/root/main/list","/root/main/tmplist");
  450. }
  451. return rtncount;
  452. }
  453. function fSetReqNo(pReqControl,pAdd)
  454. {
  455. if(pAdd == "Y")
  456. {
  457. var reqno = model.getValue(ipt_reqno.attribute("ref"));
  458. reqno = parseInt(reqno) + 1;
  459. reqno = "" + reqno;
  460. reqno = reqno.getLeftPad(4,"0");
  461. }
  462. else
  463. {
  464. var reqno = model.getValue(ipt_reqno.attribute("ref"));
  465. reqno = parseInt(reqno) - 1;
  466. if(reqno == 0)reqno = 1;
  467. reqno = "" + reqno;
  468. reqno = reqno.getLeftPad(4,"0");
  469. }
  470. model.setValue(pReqControl.attribute("ref"), reqno);
  471. model.refresh();
  472. }
  473. function fArrangeControl()
  474. {
  475. //fSetControlDisabled("false");
  476. misfGridInit(grd_goodreq);
  477. model.setValue(cmb_reqflag.attribute("ref"),"");
  478. model.setValue(ipt_reqno.attribute("ref"),"");
  479. model.setValue(ipt_reqdd.attribute("ref"),"");
  480. model.setValue(cmb_reqdeptcd.attribute("ref"),"");
  481. //송광호 model.setValue(ipt_reqdeptnm.attribute("ref"),"");
  482. model.setValue(opt_requser.attribute("ref"),"");
  483. model.setValue(opt_requsernm.attribute("ref"),"");
  484. model.setValue(opt_reqfinaldept.attribute("ref"),"");
  485. model.setValue(opt_reqfinaldeptnm.attribute("ref"),"");
  486. model.refresh();
  487. }
  488. function fSettingReqAprv()
  489. {
  490. // if(rszfGetPurcAuthInfoByCond("reqaprvflag") != "2")
  491. // {
  492. // messageBox("청구승인권한이 없으므로 수정" ,"E001");
  493. // return;
  494. // }
  495. for(var liRow = grd_goodreq.fixedRows ; liRow < grd_goodreq.rows ; liRow++)
  496. {
  497. /*---------------------------------------------------------------------------------------------------------
  498. * 발주승인건 제외
  499. ---------------------------------------------------------------------------------------------------------*/
  500. if(model.getValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1)+ "]/aprvyn") != "Y")
  501. {
  502. if(model.getValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1)+ "]/deptaprvyn") == "Y")
  503. {
  504. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1)+ "]/deptaprvyn","N");
  505. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1)+ "]/deptaprvdd","");
  506. if (grd_goodreq.rowStatus(liRow) == "0") grd_goodreq.rowStatus(liRow) = "2";
  507. }
  508. else
  509. {
  510. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1)+ "]/deptaprvyn" ,"Y");
  511. model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1)+ "]/deptaprvdd" ,getCurrentDate());
  512. {
  513. if (grd_goodreq.rowStatus(liRow) == "0") grd_goodreq.rowStatus(liRow) = "2";
  514. }
  515. }
  516. }
  517. }
  518. model.refresh();
  519. }
  520. function fSaveReqAprv()
  521. {
  522. model.removenode("/root/send/reqaprvlist");
  523. model.makeNode("/root/send/reqaprvlist");
  524. model.setValue("/root/send/reqaprvlist" ,grd_goodreq.getUpdateData());
  525. submit("TXRSD07002");
  526. if (model.getValue(gvErrorMsgPath + "/type") != "error")misfMsterDetailRetrieve();
  527. }
  528. function fGrantsCheck()
  529. {
  530. if(rszfGetPurcAuthInfoByCond("reqaprvflag") == "2" || model.getValue(cmb_reqpridflag.attribute("ref")) =="1" )
  531. {
  532. misfSetReadOnlyCol(grd_goodreq, "deptaprvyn", false);
  533. }else{
  534. misfSetReadOnlyCol(grd_goodreq, "deptaprvyn", true);
  535. }
  536. }
  537. // --------------------------------------------------
  538. // 물품청구 버튼 Click 처리하는 함수
  539. // --------------------------------------------------
  540. function fGoodreqButtonClick() {
  541. grp_allsize.attribute("visibility") ="hidden" ;
  542. if (grd_goodreq.col == grd_goodreq.colRef("goodcd") &&
  543. grd_goodreq.rowStatus(grd_goodreq.row) == "1" ) { //구성물품코드를 눌렀을 경우
  544. fViewToggle(2); // 1 :늘리기, 2 : 줄이기
  545. fGoodListReady(grd_goodreq.valueMatrix(grd_goodreq.row, grd_goodreq.col),""); // 물품찾기 처리하는 함수
  546. model.toggle("gd_find");
  547. bbt_good.selected = "true";
  548. }
  549. else if (grd_goodreq.col == grd_goodreq.colRef("goodspec") && grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("allsizeyn")) == "Y" )
  550. {
  551. fAllSizeRead(grd_goodreq.row ,grd_goodreq.col, event.clientY);
  552. }
  553. model.refresh();
  554. }
  555. // --------------------------------------------------
  556. // 물품청구 내용이 바뀌었을때 처리하는 함수
  557. // --------------------------------------------------
  558. function fGoodreqOnChange() {
  559. if (grd_goodreq.col == grd_goodreq.colRef("reqqty") ) {
  560. if (model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/acptflag") == "Y")
  561. {
  562. messageBox("구매접수된 내역은 수정","E001");
  563. return;
  564. }
  565. if(model.getValue(cmb_reqpridflag.attribute("ref")) !="1")
  566. {
  567. if(rszfGetPurcAuthInfoByCond("reqaprvflag") =="1" &&
  568. model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/predeptaprvyn") == "Y")
  569. {
  570. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  571. messageBox("청구승인되었으므로 청구량을 수정" ,"E001");
  572. return;
  573. }
  574. }
  575. basevol = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("basevol"));
  576. stocqty = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("stocqty"));
  577. reqqty = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("reqqty"));
  578. minexch = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("minexch"));
  579. if(minexch > 0 && (reqqty%minexch != 0))
  580. {
  581. messageBox((grd_goodreq.row )+ "번째 물품은 최소청구량["+ minexch + "] 에 맞춰서" , "C001");
  582. grd_goodreq.row = grd_goodreq.row;
  583. grd_goodreq.col= grd_goodreq.colRef("reqqty");
  584. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqqty","");
  585. grd_goodreq.editCell();
  586. return;
  587. }
  588. }
  589. /*-------------------------------------------------------------------------------------
  590. * 청구수량을 정량보충으로 변경함. ( 재고수량을 입력한다) .2007.08.
  591. -------------------------------------------------------------------------------------*/
  592. else if (grd_goodreq.col == grd_goodreq.colRef("stocqty") ) {//청구량조절할경우
  593. if (model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/acptflag") == "Y")
  594. {
  595. messageBox("구매접수된 내역은 수정","E001");
  596. return;
  597. }
  598. if(model.getValue(cmb_reqpridflag.attribute("ref")) !="1")
  599. {
  600. if(rszfGetPurcAuthInfoByCond("reqaprvflag") =="1" &&
  601. model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/predeptaprvyn") == "Y")
  602. {
  603. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  604. messageBox("청구승인되었으므로 재고량을 수정" ,"E001");
  605. return;
  606. }
  607. }
  608. basevol = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("basevol"));
  609. stocqty = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("stocqty"));
  610. reqqty = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("reqqty"));
  611. minexch = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("minexch"));
  612. calc_reqqty = basevol - stocqty;
  613. if ( calc_reqqty < minexch ) calc_reqqty = minexch;
  614. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqqty",calc_reqqty);
  615. }
  616. else if(grd_goodreq.col == grd_goodreq.colRef("goodcd") && grd_goodreq.valueMatrix(grd_goodreq.row, grd_goodreq.colRef("goodcd")).length> 0) {
  617. model.removenode("/root/copynode");
  618. model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  619. model.makeNode("/root/copynode");
  620. rszfValidationCheck("TRRSD00191", "goodlist" , "refcond,instcd,goodflag,goodcd,goodnm,indexgb,indexnm,reqflag,reqdeptcd,reqprid","goodcd," + model.getValue(opt_instcd.attribute("ref")) + "," +model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/goodflag") + "," + model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/goodcd") + ",,,," + model.getValue(cmb_reqflag.attribute("ref")) + "," + model.getValue(cmb_reqdeptcd.attribute("ref")) + "," + model.getValue(cmb_reqpridflag.attribute("ref")) ,"","goodcd,goodnm,goodspec,goodmodel,prodcmpynm,purcunit,stocqty,minexch,goodflag,ddavguseqty,reqflag,allsizeyn",grd_goodreq,"SPRSD00190","instcd,goodflag,reqflag,reqdeptcd,reqprid","opt_instcd,opt_goodflag,cmb_reqflag,cmb_reqdeptcd,cmb_reqpridflag","Y");
  621. model.refresh();
  622. if( grd_goodreq.valueMatrix(cur_row, grd_goodreq.colRef("goodnm")).length> 0)
  623. {
  624. if(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/minexch") > 0) model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqqty",model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/minexch") );
  625. else model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqqty","1");
  626. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/basevol",model.getValue("/root/init/main/goodlist/minexch"));
  627. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/requnit",model.getValue("/root/init/main/goodlist/deliveunit"));
  628. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/exchqty",model.getValue("/root/init/main/goodlist/exchqty"));
  629. // model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqmthdflag",model.getValue("/root/init/main/goodlist/reqmthd"));
  630. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqmthdflag","3");
  631. }
  632. model.refresh();
  633. var cur_row = grd_goodreq.row;
  634. var status = grd_goodreq.valueMatrix(cur_row, grd_goodreq.colRef("m"));
  635. var CSV = model.getValue(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  636. if(CSV.length == 0 && grd_goodreq.valueMatrix(cur_row, grd_goodreq.colRef("goodnm")).length == 0)
  637. {
  638. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/goodcd" , "");
  639. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/goodcd" , "");
  640. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/goodnm" , "");
  641. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/goodspec" , "");
  642. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/goodflag" , "");
  643. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/goodmodel" , "");
  644. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/prodcmpynm" , "");
  645. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/purcunit" , "");
  646. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/basevol" , "");
  647. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/stocqty" , "");
  648. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/reqqty" , "");
  649. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/requnit" , "");
  650. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/minexch" , "");
  651. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/ddavguseqty" , "");
  652. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/allsizeyn" , "");
  653. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/allsizespecid" , "");
  654. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/exchqty" , "");
  655. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/rgstqty" , "");
  656. grd_goodreq.col = grd_goodreq.colRef("goodcd");
  657. grd_goodreq.editCell();
  658. }
  659. else if (CSV.length > 0)
  660. {
  661. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/goodcd","");
  662. setCSVToNode("/root/copynode", CSV, "goodreqlist");
  663. fSettingGoodList("/root/copynode", "goodreqlist" , "userqty");
  664. }
  665. }
  666. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  667. // 영양팀은 품목명칭에서 값을 입력할수 있다..
  668. // 입력값과 일치건이 1일경우 코드 REPLACE
  669. // 없을경우 FIND
  670. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  671. else if(grd_goodreq.col == grd_goodreq.colRef("goodnm") && grd_goodreq.valueMatrix(grd_goodreq.row, grd_goodreq.colRef("goodnm")).length> 0
  672. && grd_goodreq.valueMatrix(grd_goodreq.row, grd_goodreq.colRef("goodcd")).length== 0 )
  673. {
  674. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  675. // validation을 하기 위해 임시 column 을 둔다. HBH
  676. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  677. model.setValue(tmp_goodcd.attribute("ref") ,"%" );
  678. model.setValue(tmp_goodnm.attribute("ref") ,grd_goodreq.valueMatrix(grd_goodreq.row, grd_goodreq.colRef("goodnm")) );
  679. model.removenode("/root/copynode");
  680. model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  681. model.makeNode("/root/copynode");
  682. rszfValidationCheck("TRRSD00191", "goodlist" , "refcond,instcd,goodflag,goodcd,goodnm,indexgb,indexnm,reqflag,reqdeptcd,reqprid","goodcd," + model.getValue(opt_instcd.attribute("ref")) + "," + model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/goodflag") + ","+model.getValue(tmp_goodcd.attribute("ref")) +","+model.getValue(tmp_goodnm.attribute("ref")) + ",,," + model.getValue(cmb_reqflag.attribute("ref")) + "," + model.getValue(cmb_reqdeptcd.attribute("ref")) + "," + model.getValue(cmb_reqpridflag.attribute("ref")) ,"","goodcd,goodnm,goodspec,goodmodel,prodcmpynm,purcunit,stocqty,minexch,goodflag,ddavguseqty,maincustlastsuplplce,suppcustcd,goodunitcost,deliveunit,exchqty",grd_goodreq,"SPRSD00210","instcd,reqflag,reqdeptcd,goodnm,reqprid","opt_instcd,cmb_reqflag,cmb_reqdeptcd,tmp_goodnm,cmb_reqpridflag","Y");
  683. model.refresh();
  684. if(grd_goodreq.valueMatrix(grd_goodreq.row, grd_goodreq.colRef("goodcd")).length> 0)
  685. {
  686. model.removenode("/root/copynode");
  687. model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  688. model.makeNode("/root/copynode");
  689. rszfValidationCheck("TRRSD00191", "goodlist" , "refcond,instcd,goodflag,goodcd,goodnm,indexgb,indexnm,reqflag,reqdeptcd,reqprid","goodcd," + model.getValue(opt_instcd.attribute("ref")) + "," +model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/goodflag") + "," + model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/goodcd") + ",,,," + model.getValue(cmb_reqflag.attribute("ref")) + "," + model.getValue(cmb_reqdeptcd.attribute("ref")) + "," + model.getValue(cmb_reqpridflag.attribute("ref")) ,"","goodcd,goodnm,goodspec,goodmodel,prodcmpynm,purcunit,stocqty,minexch,goodflag,ddavguseqty,reqflag,allsizeyn",grd_goodreq,"SPRSD00190","instcd,goodflag,reqflag,reqdeptcd,reqprid","opt_instcd,opt_goodflag,cmb_reqflag,cmb_reqdeptcd,cmb_reqpridflag","Y");
  690. model.refresh();
  691. if( grd_goodreq.valueMatrix(cur_row, grd_goodreq.colRef("goodnm")).length> 0)
  692. {
  693. if(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/minexch") > 0) model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqqty",model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/minexch") );
  694. else model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqqty","1");
  695. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/basevol",model.getValue("/root/init/main/goodlist/minexch"));
  696. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/requnit",model.getValue("/root/init/main/goodlist/deliveunit"));
  697. // model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqmthdflag",model.getValue("/root/init/main/goodlist/reqmthd"));
  698. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqmthdflag","3");
  699. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/allsizespecid","YYY");
  700. }
  701. model.refresh();
  702. var cur_row = grd_goodreq.row;
  703. var status = grd_goodreq.valueMatrix(cur_row, grd_goodreq.colRef("m"));
  704. var CSV = model.getValue(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  705. if(CSV.length == 0 && grd_goodreq.valueMatrix(cur_row, grd_goodreq.colRef("goodnm")).length == 0)
  706. {
  707. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/goodcd" , "");
  708. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/goodcd" , "");
  709. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/goodnm" , "");
  710. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/goodspec" , "");
  711. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/goodflag" , "");
  712. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/goodmodel" , "");
  713. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/prodcmpynm" , "");
  714. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/purcunit" , "");
  715. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/basevol" , "");
  716. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/stocqty" , "");
  717. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/reqqty" , "");
  718. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/requnit" , "");
  719. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/minexch" , "");
  720. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/ddavguseqty" , "");
  721. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/allsizeyn" , "");
  722. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/allsizespecid" , "");
  723. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/rgstqty" , "");
  724. grd_goodreq.col = grd_goodreq.colRef("goodcd");
  725. grd_goodreq.editCell();
  726. }
  727. else if (CSV.length > 0)
  728. {
  729. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/goodcd","");
  730. setCSVToNode("/root/copynode", CSV, "goodreqlist");
  731. fSettingGoodList("/root/copynode", "goodreqlist" , "userqty");
  732. }
  733. }
  734. }
  735. else if((grd_goodreq.col == grd_goodreq.colRef("deptaprvyn")))
  736. {
  737. if(rszfGetPurcAuthInfoByCond("reqaprvflag") != "2" && model.getValue(cmb_reqpridflag.attribute("ref")) != "1" )
  738. {
  739. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deptaprvyn",model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/predeptaprvyn") );
  740. // insert 가 아니면..
  741. if ( grd_goodreq.rowStatus(grd_goodreq.row) != '3')
  742. {
  743. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  744. }
  745. messageBox("청구승인권한이 없으므로 수정" ,"E001");
  746. }
  747. else if(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/aprvyn") == "Y")
  748. {
  749. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  750. messageBox("발주승인이 되었으므로 수정" ,"E001");
  751. }
  752. else model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deptaprvdd" ,getCurrentDate());
  753. }
  754. }
  755. // --------------------------------------------------
  756. // 물품청구 내용이 바뀌었을때 처리하는 함수
  757. // --------------------------------------------------
  758. function fGoodreqOnKeyDown() {
  759. if(event.keyCode == 13)
  760. {
  761. if(grd_goodreq.col == grd_goodreq.colRef("reqqty"))
  762. {
  763. if(grd_goodreq.row < grd_goodreq.rows - grd_goodreq.fixedRows)
  764. {
  765. grd_goodreq.row = grd_goodreq.row + 1;
  766. grd_goodreq.select(grd_goodreq.row, grd_goodreq.colRef("reqqty")) = true;
  767. }
  768. }
  769. }
  770. if(event.keyCode == 9)
  771. {
  772. if(event.shiftKey)
  773. {
  774. if(grd_goodreq.colAttribute(grd_goodreq.col + 1, "type").indexOf ("input") > -1)
  775. {
  776. for(curcol = grd_goodreq.col -1 ; curcol > -1 ; curcol--)
  777. {
  778. if(grd_goodreq.colAttribute(curcol, "type").indexOf ("input") > -1)
  779. {
  780. grd_goodreq.col = curcol;
  781. grd_goodreq.editCell();
  782. return;
  783. }
  784. }
  785. }
  786. }
  787. else
  788. {
  789. if(grd_goodreq.colAttribute(grd_goodreq.col, "type").indexOf ("input") == -1)
  790. {
  791. if(grd_goodreq.col - 1 == grd_goodreq.colRef("goodcd") && grd_goodreq.valueMatrix(grd_goodreq.row, grd_goodreq.col - 1).length == 0)
  792. {
  793. grd_goodreq.col = grd_goodreq.colRef("goodcd");
  794. grd_goodreq.editCell();
  795. return;
  796. }
  797. for(curcol = grd_goodreq.col ; curcol <grd_goodreq.cols ; curcol++)
  798. {
  799. if(grd_goodreq.colAttribute(curcol, "type").indexOf ("input") > -1)
  800. {
  801. grd_goodreq.col = curcol;
  802. grd_goodreq.editCell();
  803. return;
  804. }
  805. }
  806. }
  807. }
  808. }
  809. }
  810. // --------------------------------------------------
  811. // 물품청구 Cell 내용이 바뀌었을때 처리하는 함수
  812. // --------------------------------------------------
  813. function fGoodreqOnEnterCell() {
  814. if((grd_goodreq.col == grd_goodreq.colRef("deptaprvyn")))
  815. {
  816. if(rszfGetPurcAuthInfoByCond("reqaprvflag") != "2" && model.getValue(cmb_reqpridflag.attribute("ref")) !="1" )
  817. {
  818. model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deptaprvyn",model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/predeptaprvyn") );
  819. // insert 가 아니면..
  820. if ( grd_goodreq.rowStatus(grd_goodreq.row) != '3')
  821. {
  822. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  823. }
  824. messageBox("청구승인권한이 없으므로 수정" ,"E001");
  825. }
  826. else
  827. {
  828. if(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/aprvyn") == "Y")
  829. {
  830. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  831. messageBox("발주승인이 되었으므로 수정" ,"E001");
  832. }
  833. }
  834. }
  835. else if(grd_goodreq.col == grd_goodreq.colRef("stocqty"))
  836. // else if(grd_goodreq.col == grd_goodreq.colRef("reqqty"))
  837. {
  838. if (model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/acptflag") == "Y")
  839. {
  840. messageBox("구매접수된 내역은 수정","E001");
  841. return;
  842. }
  843. if(model.getValue(cmb_reqpridflag.attribute("ref")) !="1")
  844. {
  845. if(rszfGetPurcAuthInfoByCond("reqaprvflag") =="1" &&
  846. model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/predeptaprvyn") == "Y")
  847. {
  848. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  849. messageBox("청구승인되었으므로 재고량을 수정" ,"E001");
  850. return;
  851. }
  852. }
  853. }
  854. else if(grd_goodreq.col == grd_goodreq.colRef("reqqty"))
  855. {
  856. if (model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/acptflag") == "Y")
  857. {
  858. messageBox("구매접수된 내역은 수정","E001");
  859. return;
  860. }
  861. if(model.getValue(cmb_reqpridflag.attribute("ref")) !="1")
  862. {
  863. if(rszfGetPurcAuthInfoByCond("reqaprvflag") =="1" &&
  864. model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/predeptaprvyn") == "Y")
  865. {
  866. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  867. messageBox("청구승인되었으므로 청구량을 수정" ,"E001");
  868. return;
  869. }
  870. }
  871. }
  872. }
  873. // --------------------------------------------------
  874. // Switch 속성변경 처리하는 함수
  875. // --------------------------------------------------
  876. function fViewToggle(pCls) {
  877. if (pCls == 1) { // 늘리기
  878. // 메인 Grup
  879. grp_main.attribute("left" ) = "1" ;
  880. grp_main.attribute("top" ) = "90" ;
  881. grp_main.attribute("width" ) = "1188";
  882. grp_main.attribute("height" ) = "663" ;
  883. // Data Grid
  884. grd_goodreq.attribute("left" ) = "3" ;
  885. grd_goodreq.attribute("top" ) = "29" ;
  886. grd_goodreq.attribute("width" ) = "1180";
  887. grd_goodreq.attribute("height") = "628" ;
  888. lin_main.attribute("x2" ) = "1182";
  889. bbt_large.attribute("visibility") = "hidden" ;
  890. bbt_right.attribute("visibility") = "hidden" ;
  891. } else { // 줄이기
  892. // 메인 Grup
  893. grp_main.attribute("left" ) = "593" ;
  894. grp_main.attribute("top" ) = "90" ;
  895. grp_main.attribute("width" ) = "602" ;
  896. grp_main.attribute("height" ) = "663" ;
  897. // Data Grid
  898. grd_goodreq.attribute("left" ) = "3" ;
  899. grd_goodreq.attribute("top" ) = "29" ;
  900. grd_goodreq.attribute("width" ) = "592" ;
  901. grd_goodreq.attribute("height") = "628" ;
  902. lin_main.attribute("x2" ) = "593";
  903. bbt_large.attribute("visibility") = "visible" ;
  904. bbt_right.attribute("visibility") = "visible" ;
  905. }
  906. // swt_search.refresh();
  907. grp_main.refresh();
  908. }
  909. // --------------------------------------------------
  910. // 물품 찾기 속성변경 처리하는 함수
  911. // --------------------------------------------------
  912. function fGoodSearchToggle() {
  913. if (cpt_cls.attribute("text") =="0") { // 상세접근 조회
  914. // 메인 Grup
  915. grd_goodlist.attribute("left" ) = "2" ;
  916. grd_goodlist.attribute("top" ) = "83" ;
  917. grd_goodlist.attribute("width" ) = "576";
  918. grd_goodlist.attribute("height" ) = "574" ;
  919. btn_dtail.attribute("top" ) = "56" ;
  920. bbt_apply2.attribute("top" ) = "56" ;
  921. lin_goodlist.attribute("y1" ) = "78";
  922. lin_goodlist.attribute("y2" ) = "78";
  923. grp_dtail.attribute("visibility") ="hidden" ;
  924. cpt_cls.attribute("text") = "1";
  925. } else { // 줄이기
  926. // 메인 Grup
  927. grd_goodlist.attribute("left" ) = "2" ;
  928. grd_goodlist.attribute("top" ) = "285" ;
  929. grd_goodlist.attribute("width" ) = "576";
  930. grd_goodlist.attribute("height" ) = "372" ;
  931. btn_dtail.attribute("top" ) = "258" ;
  932. bbt_apply2.attribute("top" ) = "258" ;
  933. lin_goodlist.attribute("y1" ) = "280";
  934. lin_goodlist.attribute("y2" ) = "280";
  935. grp_dtail.attribute("visibility") ="visible" ;
  936. cpt_cls.attribute("text") = "0";
  937. }
  938. grd_goodlist.refresh();
  939. }
  940. // --------------------------------------------------
  941. // 물품 찾기 속성변경 처리하는 함수
  942. // --------------------------------------------------
  943. var vInstcd = "";
  944. var vReqdeptcd = "";
  945. var vReqflag = "";
  946. var vReqpridflag = "";
  947. function fReqSetList() {
  948. var vReqSetFlag = "N";
  949. if (model.getValue(opt_instcd.attribute("ref")) == "") {
  950. messageBox("기관을 " ,"C002");
  951. return;
  952. }
  953. if (model.getValue(cmb_reqdeptcd.attribute("ref" )) == ""){
  954. messageBox("청구 부서를 " ,"C002");
  955. return;
  956. }
  957. if (model.getValue(cmb_reqpridflag.attribute("ref")) == ""){
  958. messageBox("청구 주기를 " ,"C002");
  959. return;
  960. }
  961. if (model.getValue(cmb_reqflag.attribute("ref" )) == ""){
  962. messageBox("청구 구분를 " ,"C002");
  963. return;
  964. }
  965. if (vInstcd != model.getValue(opt_instcd.attribute("ref" ))) vReqSetFlag = "Y";
  966. if (vReqdeptcd != model.getValue(cmb_reqdeptcd.attribute("ref" ))) vReqSetFlag = "Y";
  967. if (vReqflag != model.getValue(cmb_reqflag.attribute("ref" ))) vReqSetFlag = "Y";
  968. if (vReqpridflag != model.getValue(cmb_reqpridflag.attribute("ref"))) vReqSetFlag = "Y";
  969. if (vReqSetFlag == "N") return;
  970. vInstcd = model.getValue(opt_instcd.attribute("ref" ));
  971. vReqdeptcd = model.getValue(cmb_reqdeptcd.attribute("ref" ));
  972. vReqflag = model.getValue(cmb_reqflag.attribute("ref" ));
  973. vReqpridflag = model.getValue(cmb_reqpridflag.attribute("ref"));
  974. model.setValue("/root/send/reqmst/instcd" , model.getValue(opt_instcd.attribute("ref" )));
  975. model.setValue("/root/send/reqmst/reqdeptcd" , model.getValue(cmb_reqdeptcd.attribute("ref" )));
  976. model.setValue("/root/send/reqmst/reqflag" , model.getValue(cmb_reqflag.attribute("ref" )));
  977. model.setValue("/root/send/reqmst/reqpridflag", model.getValue(cmb_reqpridflag.attribute("ref")));
  978. grd_reqset.fixedcellcheckbox( 0,grd_reqset.colRef("select" ),false) = true;
  979. misfGridInit(grd_reqset);
  980. misfGridInit(grd_setlist);
  981. submit("TRRSD00211");
  982. if (grd_setlist.rows < 2) return;
  983. // alert(grd_setlist.rows);
  984. if (model.getValue(grd_setlist.nodeset + "["+ 1 + "]/reqdeptcd" ) =="") return;
  985. grd_setlist.row = 1;
  986. fReqSetRead(grd_setlist.row);
  987. misfMsterDetailRetrieve();
  988. }
  989. // 부서 청구SET 물품
  990. function fReqSetRead(pRow) {
  991. model.setValue("/root/send/reqset/instcd" , model.getValue(grd_setlist.nodeset + "["+ pRow + "]/instcd" ));
  992. model.setValue("/root/send/reqset/reqdeptcd" , model.getValue(grd_setlist.nodeset + "["+ pRow + "]/reqdeptcd" ));
  993. model.setValue("/root/send/reqset/reqprid" , model.getValue(grd_setlist.nodeset + "["+ pRow + "]/reqprid" ));
  994. model.setValue("/root/send/reqset/goodsetcd" , model.getValue(grd_setlist.nodeset + "["+ pRow + "]/goodsetcd" ));
  995. model.setValue("/root/send/reqset/goodsetnm" , model.getValue(grd_setlist.nodeset + "["+ pRow + "]/goodsetnm" ));
  996. misfGridInit(grd_reqset);
  997. submit("TRRSD00210"); // 청구마감일자 조회 purcbaseweb
  998. }
  999. // --------------------------------------------------
  1000. // 선택물품을 적용하는 처리하는 함수
  1001. // --------------------------------------------------
  1002. function fSelectDataApply(pGridSource, pGridTarget, pGridNm, pQtyNm) {
  1003. model.removenode("/root/copynode");
  1004. var nodelist = instance1.selectNodes(pGridSource.nodeset + "[select='true']");
  1005. var rCVS = getNodeListCSV(nodelist);
  1006. var cur_row = pGridTarget.row;
  1007. var status = pGridTarget.valueMatrix(cur_row, pGridTarget.colRef("m"));
  1008. model.makeNode("/root/copynode");
  1009. setCSVToNode("/root/copynode", rCVS, pGridNm);
  1010. fSettingGoodList("/root/copynode", pGridNm , pQtyNm);
  1011. //----------------------------------------------------------
  1012. // 2008.07.08 YYJ 추가 물품 조회시 선택한 항목을 Clear 시켜준다.
  1013. //----------------------------------------------------------
  1014. for (var row = pGridSource.fixedRows ; row < pGridSource.rows; row++) {
  1015. model.setValue(pGridSource.nodeset + "[" + row + "]/select" , "false");
  1016. }
  1017. }
  1018. // --------------------------------------------------
  1019. // All Size 읽어오는 함수
  1020. // --------------------------------------------------
  1021. var vAllSizeCol = 0;
  1022. var vAllSizeRow = 0;
  1023. var vAllSizePath = "/root/main/codelist";
  1024. function fAllSizeRead(pRow, pCol, pPos) {
  1025. var iClickY = pPos - 100;
  1026. vAllSizeCol = pCol;
  1027. vAllSizeRow = pRow;
  1028. if (iClickY > 375) iClickY = iClickY - 319;
  1029. grp_allsize.attribute("top") = iClickY+ "px";
  1030. grp_allsize.attribute("visibility") = "visible" ;
  1031. model.setValue("/root/send/allsize/instcd", model.getValue(opt_instcd.attribute("ref" )));
  1032. model.setValue("/root/send/allsize/goodcd", grd_goodreq.valueMatrix(pRow, pCol-2) );
  1033. submit("TRRSD00281");
  1034. grp_allsize.refresh();
  1035. }
  1036. //
  1037. // All Size 선택
  1038. function fAllSizeSeelct(pRow) {
  1039. grp_allsize.attribute("visibility") = "hidden" ;
  1040. if (pRow < 1) return;
  1041. model.setValue(vGoodReqPath+"["+(vAllSizeRow)+"]/allsizespecid", model.getValue(vAllSizePath+"["+(pRow)+"]/allsizespecid"));
  1042. model.setValue(vGoodReqPath+"["+(vAllSizeRow)+"]/goodspec" , model.getValue(vAllSizePath+"["+(pRow)+"]/goodspec" ));
  1043. grd_goodreq.refresh();
  1044. }
  1045. // --------------------------------------------------
  1046. // 물품찾기 처리하는 함수
  1047. // --------------------------------------------------
  1048. function fGoodListReady(pGoodCd, pGoodName) {
  1049. misfGridInit(grd_goodlist);
  1050. //misfComboComCdList('R0025', cmb_goodflag,"Y"); //물품구분
  1051. fGoodListKeySet(); // 물품검색 기본 KEY SET
  1052. // -------------------------------------------------------------------------------------------
  1053. // sql문에 청구부서별 안전재고를 가져와야한다.
  1054. // 프로그램 call시 변경해야한다. 인자값이 없을경우 해당 user값으로 setting한다.
  1055. // -------------------------------------------------------------------------------------------
  1056. if (model.getValue(PURTARGET_NODE + "/reqdeptcd").length == 0 )
  1057. model.setValue("/root/send/goodlist/reqdeptcd", getUserInfo("dutplcecd"));
  1058. else model.setValue("/root/send/goodlist/reqdeptcd", model.getValue(cmb_reqdeptcd.attribute("ref")));
  1059. // --------------------------------------------------------------------------
  1060. // 영양팀 명칭검색으로 이 window 가 open시 기본값 셋팅한다.
  1061. // --------------------------------------------------------------------------
  1062. if (pGoodCd.length > 0) {
  1063. model.setValue("/root/send/goodlist/goodnm", pGoodCd);
  1064. model.setValue(rdo_refcond.attribute("ref"),"goodcd");
  1065. model.refresh();
  1066. btn_search.dispatch("DOMActivate");
  1067. }
  1068. else if (pGoodName.length > 0)
  1069. {
  1070. model.setValue("/root/send/goodlist/goodnm", pGoodName);
  1071. model.setValue(rdo_refcond.attribute("ref"),"goodnm");
  1072. model.refresh();
  1073. btn_search.dispatch("DOMActivate");
  1074. }
  1075. else model.setValue(rdo_refcond.attribute("ref"),"goodnm");
  1076. model.setFocus("ipt_refcond");
  1077. model.refresh();
  1078. }
  1079. // 물품검색 기본 KEY SET
  1080. function fGoodListKeySet() {
  1081. model.setValue("/root/send/goodlist/lrgcd" , "");
  1082. model.setValue("/root/send/goodlist/mdlcd" , "");
  1083. model.setValue("/root/send/goodlist/instcd" , model.getValue(opt_instcd.attribute("ref" )));
  1084. model.setValue("/root/send/goodlist/goodflag", model.getValue(opt_goodflag.attribute("ref" )));
  1085. model.setValue("/root/send/goodlist/reqflag" , model.getValue(cmb_reqflag.attribute("ref" )));
  1086. model.setValue("/root/send/goodlist/reqprid" , model.getValue(cmb_reqpridflag.attribute("ref")));
  1087. rszfLMSComboList(model.getValue("/root/send/goodlist/goodflag"), "", "", "ipt_lrgcd", "", "L");
  1088. model.setValue("/root/send/goodlist/instcdnm" , opt_instcdnm.value );
  1089. model.setValue("/root/send/goodlist/reqflagnm" , cmb_reqflag.label );
  1090. model.setValue("/root/send/goodlist/reqpridnm" , cmb_reqpridflag.label);
  1091. }
  1092. // --------------------------------------------------
  1093. // 물품찾기 처리하는 함수
  1094. // --------------------------------------------------
  1095. function fGoodListSearch() {
  1096. misfGridInit(grd_goodlist);
  1097. if(model.getValue(opt_instcd.attribute("ref")).length == 0 )return;
  1098. if (rdo_refcond.value == "goodnm") {
  1099. model.setValue("/root/send/goodlist/goodnm",ipt_refcond.label );
  1100. }
  1101. else {
  1102. model.setValue("/root/send/goodlist/goodcd" ,ipt_refcond.label);
  1103. model.setValue("/root/send/goodlist/goodnm" ,"" );
  1104. }
  1105. submit("TRRSD00406");
  1106. grd_goodlist.refresh();
  1107. }
  1108. // --------------------------------------------------
  1109. // 물품찾기 처리하는 함수
  1110. // --------------------------------------------------
  1111. function fReqFlagCheck() {
  1112. // if(cmb_reqflag.value == 'H'){
  1113. // grd_goodreq.colHidden(grd_goodreq.colRef("rgstqty")) = false;
  1114. // }else{
  1115. // grd_goodreq.colHidden(grd_goodreq.colRef("rgstqty")) = true;
  1116. // }
  1117. //청구권/승인권 부서 조회.
  1118. // rszfReqDeptGetComboList("cmb_reqdeptcd", opt_instcd.value, getUserInfo("userid"), cmb_reqflag.value);
  1119. rszfReqDeptGetComboList("cmb_reqdeptcd", opt_instcd.value, '80030647', 'S');
  1120. cmb_reqpridflag.value = '';
  1121. rszfComboReqPridList(cmb_reqpridflag,opt_instcd.value,cmb_reqflag.value);
  1122. cmb_reqpridflag.refresh();
  1123. cmb_reqpridflag.select(0);
  1124. /* 위의 select(0); 에서 cmb_reqpridflag value가 있으면 reqpridflag xforms-value_changed 가 발생한다.
  1125. */
  1126. opt_goodflag.value = rszfGetGoodFlagByReqFlag(opt_instcd.value,cmb_reqflag.value);
  1127. fGoodListKeySet(); // 물품검색 기본 KEY SET
  1128. if (cmb_reqpridflag.value.length == 0 )
  1129. {
  1130. fSetReqAuth();
  1131. btn_search.dispatch("DOMActivate");
  1132. }
  1133. //청구 마지막 일자 조회.
  1134. fLastDaySearch();
  1135. //청구일자 기한체크.
  1136. if(fLastDayCheck())
  1137. {
  1138. messageBox("불출부서의 청구일자기한을 벗어났습니다. \n 다시 입력 하세요.", "");
  1139. ipt_reqdd.value = ipt_todd.value;
  1140. return;
  1141. }
  1142. }
  1143. /* ------------------------------------------------- */
  1144. /* ------End Of List ------------------------------- */
  1145. /* -------------------------------------------------- */