SMRSD10000.xjs 97 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/* ---------------------------------------------------------------------
  3. SMRSD10000_물품청구관리(경북대).xrw (SMRSD10000.xrw - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. ---------------------------------------------------------------------- */
  7. var xAuth = !(frmf_checkAuth("X"));
  8. var pAuth = !(frmf_checkAuth("P"));
  9. var vPurcAuth = "1";
  10. var gExeptionFlag = true;
  11. var gPurcDeptcd = "" ;
  12. var gcount = 0 ; //청구번호 읽기
  13. var gReqNoReadFlag = true; //청구번호 읽기
  14. var cmbworkflagold = "X" ; //작업구분콤보의 예전값을 가지고 있는 변수
  15. /****************************************************************************************
  16. * Argument : N/A
  17. * Description : 폼 초기화
  18. ****************************************************************************************/
  19. function fInitialize() {
  20. ds_send.clearData(); ds_send.addRow();
  21. ds_send_goodreq.clearData(); ds_send_goodreq.addRow();
  22. ds_send_reqpsn.clearData(); ds_send_reqpsn.addRow();
  23. ds_send_goodlist.clearData(); ds_send_goodlist.addRow();
  24. ds_send_message.clearData(); ds_send_message.addRow();
  25. ds_send_lastdatesearch.clearData(); ds_send_lastdatesearch.addRow();
  26. ds_send_reqset.clearData(); ds_send_reqset.addRow();
  27. ds_send_chkgoodreq.clearData(); ds_send_chkgoodreq.addRow();
  28. ds_send_allsize.clearData(); ds_send_allsize.addRow();
  29. ds_send_repeatreq.clearData(); ds_send_repeatreq.addRow();
  30. ds_send_reqmst.clearData(); ds_send_reqmst.addRow();
  31. grp_main.grp_button.btn_save.enable = false;
  32. grp_main.grp_button.btn_accept.enable = false;
  33. grp_main.grp_button.ckb_accept.visible = false;
  34. misfGridInit(grp_main.grd_goodreq);
  35. misfMsterDetailSet("grp_main.grd_goodreq", null, "TRRSD00411" ,"Y");
  36. grp_sea.opt_instcd.value = sysf_getUserInfo("dutplceinstcd");
  37. grp_sea.opt_instcdnm.value = sysf_getUserInfo("dutplceinstnm");
  38. grp_sea.opt_requser.value = sysf_getUserInfo("userid");
  39. grp_sea.opt_requsernm.value = sysf_getUserInfo("usernm");
  40. grp_sea.ipt_reqdd.value = utlf_getCurrentDate();
  41. ds_send_goodreq.setColumn( 0, "workflag", "1");
  42. // grd_goodlist.fixedcellcheckbox(0,grd_goodlist.colRef("select"),false) = true;
  43. gd_find.grd_goodlist.setCellProperty("head",gd_find.grd_goodlist.getBindCellIndex("body","select"),"text","");
  44. ds_send_reqpsn.setColumn( 0, "instcd", grp_sea.opt_instcd.value );
  45. ds_send_reqpsn.setColumn( 0, "emplno", grp_sea.opt_requser.value );
  46. dsf_createDsRow("ds_req", [
  47. {col:"instcd", type:"STRING", size:256, val:ds_send_reqpsn.getColumn(0,"instcd")}
  48. , {col:"reqflag", type:"STRING", size:256, val:""}
  49. , {col:"reqdeptcd", type:"STRING", size:256, val:""}
  50. , {col:"emplno", type:"STRING", size:256, val:ds_send_reqpsn.getColumn(0,"emplno")}
  51. ]);
  52. //청구권한 주기 조회
  53. var oParam = {};
  54. oParam.id = "TRRSD00407";
  55. oParam.service = "purcbaseapp.PurcBaseMngt";
  56. oParam.method = "reqGetReqPsnList";
  57. oParam.inds = "req=ds_req";
  58. oParam.outds = "ds_main_ReqpsnLists_reqpsnlist=reqpsnlist";
  59. oParam.async = false;
  60. //oParam.callback = "cf_TRRSD00407";
  61. tranf_submit(oParam);
  62. misfComboComCdListMulti("R0025,R0025,030M0003","gd_find.group2.cmb_goodflag,grp_sea.sel_goodflag,gd_find.group2.cmb_mngtcls");
  63. frmf_addComboItem( "gd_find.group2.cmb_mngtcls", "- 전 체 -", "", "above" );
  64. gd_find.group2.cmb_mngtcls.index = 0;
  65. ds_send_goodreq.setColumn( 0, "goodflag", ds_tmp_common_goodflaglist.getColumn(0,"cdid"));
  66. fSetTempDept("PH"); //부서찾기 기능 설정(구매팀일경우에만)
  67. fReqdeptCopy();
  68. gReqNoReadFlag = false; //청구번호 읽기
  69. fDeptReqNoQuery();
  70. var userid=sysf_getUserInfo("userid");
  71. if(userid=="AST" || userid="12274") {
  72. grp_main.grp_button.btn_save.enable = true;
  73. grp_main.grp_button.btn_accept.enable = true;
  74. }
  75. fSearchButtonClick();
  76. //fGoodListSearch();
  77. }
  78. /****************************************************************************************
  79. * Argument : N/A
  80. * Description : 권한체크(청구주기가 일청구이면 권한체크하지 않는다. )
  81. ****************************************************************************************/
  82. function fSetReqAuth() {
  83. // btn 기본처리
  84. grp_main.grp_button.btn_excel.enable = false;
  85. grp_main.grp_button.btn_insert.enable = false;
  86. grp_main.grp_button.btn_delete.enable = false;
  87. grp_main.grp_button.btn_choice.enable = false;
  88. grp_main.grp_button.btn_accept.enable = false;
  89. grp_main.grp_button.btn_save.enable = false;
  90. grp_main.grp_button.ckb_accept.value = "";
  91. grp_main.grp_button.ckb_accept.visible = false;
  92. if(utlf_isNull(grp_sea.opt_instcd.value)) return;
  93. if(utlf_isNull(grp_sea.cmb_reqdeptcd.value)) return;
  94. if(utlf_isNull(grp_sea.cmb_reqpridflag.value)) return;
  95. if (grp_sea.cmb_reqpridflag.value == "1" && gExeptionFlag ) {
  96. grp_main.grp_button.btn_save.enable = true;
  97. grp_main.grp_button.btn_accept.enable = true;
  98. grp_main.grp_button.ckb_accept.value = "Y";
  99. grp_main.grp_button.ckb_accept.visible = true ;
  100. grp_main.grp_button.btn_excel.enable = true;
  101. grp_main.grp_button.btn_insert.enable = true;
  102. grp_main.grp_button.btn_delete.enable = true;
  103. grp_main.grp_button.btn_choice.enable = true;
  104. } else {
  105. fPurcAuthInfo(); // 청구승인자 Check
  106. if (grp_sea.cmb_reqpridflag.value == "4") { // 월청구
  107. if (fLastDayCheck_2() ) {
  108. grp_main.grp_button.btn_save.enable = false;
  109. } else {
  110. grp_main.grp_button.btn_save.enable = true;
  111. }
  112. } else {
  113. grp_main.grp_button.btn_save.enable = true;
  114. }
  115. grp_main.grp_button.btn_excel.enable = true;
  116. grp_main.grp_button.btn_insert.enable = true;
  117. grp_main.grp_button.btn_delete.enable = true;
  118. grp_main.grp_button.btn_choice.enable = true;
  119. }
  120. if (ds_send_goodlist.getColumn(0, "purcdeptflag") == "P") { //구매부서구분 : P
  121. grp_main.grp_button.btn_accept.enable = true;
  122. grp_main.grp_button.ckb_accept.value = "Y";
  123. grp_main.grp_button.ckb_accept.visible = true ;
  124. }
  125. }
  126. /**
  127. * @ver : 2010-10-17
  128. * @desc : 불출부서 청구마지막 일자를 불러온다.청구마감일자 조회
  129. * @param :
  130. * @return :
  131. * @---------------------------------------------------
  132. */
  133. function fLastDaySearch() {
  134. model.setValue("/root/send/lastdatesearch/instcd" , model.getValue(opt_instcd.attribute("ref")) );
  135. model.setValue("/root/send/lastdatesearch/deldeptcd", grp_sea.cmb_reqdeptcd.value );
  136. // model.setValue("/root/send/lastdatesearch/deldeptcd", opt_reqfinaldept.value );
  137. model.setValue("/root/send/lastdatesearch/reqym" , model.getValue(ipt_reqdd.attribute("ref")).substr(0,6));
  138. submit("TRRSC01701", false); // 청구마감일자 조회 purcbaseweb
  139. ipt_todd.refresh();
  140. }
  141. // --------------------------------------------------------------
  142. // 청구일자가 불출부서의 청구마지막 일자안에 있는지 확인,
  143. // --------------------------------------------------------------
  144. function fLastDayCheck() {
  145. var fbool = false;
  146. if (model.getValue(ipt_todd.attribute("ref")) != '') {
  147. if (model.getValue(ipt_reqdd.attribute("ref")) > model.getValue(ipt_todd.attribute("ref")) ) {
  148. fbool = true;
  149. }
  150. }
  151. return fbool;
  152. }
  153. // --------------------------------------------------------------
  154. // 불출부서 청구마지막 일자를 불러온다.청구마감일자 조회
  155. // --------------------------------------------------------------
  156. function fLastDaySearch_2(pDate) {
  157. model.setValue("/root/send/lastdatesearch/instcd" , model.getValue(opt_instcd.attribute("ref")) );
  158. model.setValue("/root/send/lastdatesearch/deldeptcd", gPurcDeptcd );
  159. model.setValue("/root/send/lastdatesearch/reqym" , pDate.substr(0,6));
  160. submit("TRRSC01701", false); // 청구마감일자 조회 purcbaseweb
  161. ipt_todd.refresh();
  162. }
  163. /****************************************************************************************
  164. * Argument : N/A
  165. * Description : 청구일자가 불출부서의 청구마지막 일자안에 있는지 확인
  166. ****************************************************************************************/
  167. function fLastDayCheck_2() {
  168. var fbool = false;
  169. var comTodd = frmf_getComponents("ipt_todd", this);
  170. if (!utlf_isNull(comTodd) && utlf_isNull(comTodd.value)) {
  171. return false;
  172. }
  173. if (grp_sea.sel_goodflag.value == "PH") { // 약품
  174. return false;
  175. }
  176. if (grp_sea.cmb_reqpridflag.value == "4") { // 월청구
  177. if (!utlf_isNull(comTodd) && comTodd.value < utlf_getCurrentDate()) {
  178. alert("청구 마감일이 지났습니다. 구매팀에 문의 하십시요!!");
  179. return true;
  180. }
  181. }
  182. return fbool;
  183. }
  184. /****************************************************************************************
  185. * Argument : prow : 행번호
  186. * Description : 적용버튼 클릭시 Data DefaultSetting
  187. ****************************************************************************************/
  188. function fDefaultSetting(prow) {
  189. // --------------------------------------------------------
  190. // 일반청구 와 정량보충에 따라서 col을 control한다.
  191. // --------------------------------------------------------
  192. // grd_goodreq.colDisabled(grd_goodreq.colRef("stocqty")) = false;
  193. // grd_goodreq.colDisabled(grd_goodreq.colRef("reqqty")) = false;
  194. misfSetReadOnlyCol(grp_main.grd_goodreq, "stocqty,reqqty", "N");
  195. var workflag = grp_sea.cmb_workflag.value;
  196. // --------------------------------------------------------
  197. //작업구분이 [수액청구] == [처방청구]일때 행 추가시 작업 구분은 [일반청구]로 지정
  198. // --------------------------------------------------------
  199. if (grp_sea.cmb_workflag.value == "6" ) workflag = "1";
  200. ds_main_list_goodreq_goodreqlist.setColumn(prow, "workflag" , workflag);
  201. ds_main_list_goodreq_goodreqlist.setColumn(prow, "instcd" , grp_sea.opt_instcd.value);
  202. // --------------------------------------------------------
  203. // 불출구분 없앰... 기본값('1') settting한다
  204. // --------------------------------------------------------
  205. ds_main_list_goodreq_goodreqlist.setColumn(prow, "deliveflag" , "1");
  206. ds_main_list_goodreq_goodreqlist.setColumn(prow, "reqdd" , grp_sea.ipt_reqdd.value);
  207. ds_main_list_goodreq_goodreqlist.setColumn(prow, "reqpridflag" , grp_sea.cmb_reqpridflag.value);
  208. ds_main_list_goodreq_goodreqlist.setColumn(prow, "reqdeptcd" , grp_sea.cmb_reqdeptcd.value);
  209. ds_main_list_goodreq_goodreqlist.setColumn(prow, "reqpsnid" , grp_sea.opt_requser.value);
  210. ds_main_list_goodreq_goodreqlist.setColumn(prow, "reqseqno" , fGetMaxReqNo());
  211. ds_main_list_goodreq_goodreqlist.setColumn(prow, "reqno" , grp_sea.cmb_reqno.value);
  212. //-----------------------------------------------------------------------------------------------------------
  213. // 비승인자가 승인처리시 에러와 함꼐 OLD값을 넣어준다.
  214. // 행추가시 OLD값을 'N'으로 셋팅함으로 에러처리시 제대로 된다. HBH
  215. //-----------------------------------------------------------------------------------------------------------
  216. ds_main_list_goodreq_goodreqlist.setColumn(prow, "predeptaprvyn" , "N");
  217. }
  218. /****************************************************************************************
  219. * Argument : N/A
  220. * Description : 최종 청구번호 가져오기
  221. ****************************************************************************************/
  222. function fGetMaxReqNo() {
  223. var vMax = 0;
  224. var maxreqseqno = "0";
  225. for (var currow = 0; currow < ds_main_list_goodreq_goodreqlist.rowcount; currow++) {
  226. if (maxreqseqno < ds_main_list_goodreq_goodreqlist.getColumn(currow, "reqseqno")) {
  227. maxreqseqno = ds_main_list_goodreq_goodreqlist.getColumn(currow, "reqseqno");
  228. }
  229. }
  230. vMax = parseInt(maxreqseqno, 10);
  231. vMax += 1;
  232. maxreqseqno = "" + vMax;
  233. return maxreqseqno.getLeftPad(3,"0");
  234. }
  235. /****************************************************************************************
  236. * Argument : N/A
  237. * Description :
  238. ****************************************************************************************/
  239. function fSettingGoodList(pnode, nodename, userqtynm) {
  240. // var vTarget = "";
  241. // var vSource = "";
  242. // var codynode = instance1.selectNodes(pnode + "/*");
  243. var vSource = eval(pnode+"_"+nodename);
  244. var addRow = ds_main_list_goodreq_goodreqlist.rowcount - 1;
  245. if(!utlf_isNull(ds_main_list_goodreq_goodreqlist.getColumn(addRow , "goodcd"))) addRow = addRow + 1;
  246. for (var j = 0; j < vSource.rowcount ; j++) {
  247. if((ds_main_list_goodreq_goodreqlist.rowcount == 0) || (addRow > ds_main_list_goodreq_goodreqlist.rowcount - 1)) {
  248. misfGridIUD(grp_main.grd_goodreq, "A");
  249. addRow = ds_main_list_goodreq_goodreqlist.rowcount - 1;
  250. fDefaultSetting(addRow);
  251. }
  252. // vTarget = grd_goodreq.nodeset + "[" + addRow + "]/";
  253. // vSource = pnode +"/" + nodename + "[" + j + "]/";
  254. fSettingGoodData(ds_main_list_goodreq_goodreqlist, vSource, userqtynm, "deliveunit", "", addRow, j);
  255. if (vSource.getColumn(j,"allsizeyn") == "Y") {
  256. //grd_goodreq.cellstyle("background-color" , addRow, 9) = "#FFFF00";
  257. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "allsizespecid" , vSource.getColumn(j, "allsizespecid" ));
  258. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "allsizespecidnm" , vSource.getColumn(j, "allsizespecidnm"));
  259. if (!utlf_isNull(vSource.getColumn(j, "allsizespecid"))) {
  260. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "goodspec" , vSource.getColumn(j, "allsizespecidnm"));
  261. } else {
  262. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "allsizespecid" , "-");
  263. }
  264. }
  265. addRow = addRow + 1;
  266. }
  267. }
  268. /****************************************************************************************
  269. * Argument : N/A
  270. * Description : 조회시 체크로직
  271. ****************************************************************************************/
  272. function fCheckRetrieveData(pmsg)
  273. {
  274. if(utlf_isNull(grp_sea.cmb_workflag.value))
  275. {
  276. if(pmsg == true)
  277. {
  278. sysf_messageBox("작업구분을 " ,"C002");
  279. grp_sea.cmb_workflag.setFocus();
  280. }
  281. return false;
  282. }
  283. if(utlf_isNull(grp_sea.opt_instcd.value))
  284. {
  285. if(pmsg == true)
  286. {
  287. sysf_messageBox("기관코드를 " ,"C002");
  288. grp_sea.opt_instcd.setFocus();
  289. }
  290. return false;
  291. }
  292. if(utlf_isNull(grp_sea.ipt_reqdd.value))
  293. {
  294. if(pmsg == true)
  295. {
  296. sysf_messageBox("청구일자를 " ,"C001");
  297. grp_sea.ipt_reqdd.setFocus();
  298. }
  299. return false;
  300. }
  301. if(utlf_isNull(grp_sea.cmb_reqpridflag.value))
  302. {
  303. if(pmsg == true)
  304. {
  305. sysf_messageBox("청구주기를 " ,"C002");
  306. grp_sea.cmb_reqpridflag.setFocus();
  307. }
  308. return false;
  309. }
  310. if(utlf_isNull(grp_sea.cmb_reqdeptcd.value))
  311. {
  312. if(pmsg == true)
  313. {
  314. sysf_messageBox("청구부서를 " ,"C002");
  315. grp_sea.cmb_reqdeptcd.setFocus();
  316. }
  317. return false;
  318. }
  319. if(utlf_isNull(grp_sea.opt_requser.value))
  320. {
  321. if(pmsg == true)
  322. {
  323. sysf_messageBox("청구자를 " ,"C002");
  324. grp_sea.opt_requser.setFocus();
  325. }
  326. return false;
  327. }
  328. return true;
  329. }
  330. //
  331. function fCheckLimitTime(pDate)
  332. {
  333. return true;
  334. }
  335. /****************************************************************************************
  336. * Argument : N/A
  337. * Description : 저장전 Data를 Check한다.
  338. ****************************************************************************************/
  339. function fCheckSaveData()
  340. {
  341. if (utlf_isNull(grp_sea.cmb_workflag.value)) {
  342. sysf_messageBox("작업구분을 " ,"C002");
  343. grp_sea.cmb_workflag.setFocus();
  344. return false;
  345. }
  346. if (utlf_isNull(grp_sea.opt_instcd.value)) {
  347. sysf_messageBox("기관코드를 " ,"C002");
  348. grp_sea.opt_instcd.setFocus();
  349. return false;
  350. }
  351. if (utlf_isNull(grp_sea.ipt_reqdd.value)) {
  352. sysf_messageBox("청구일자를 " ,"C001");
  353. grp_sea.ipt_reqdd.setFocus();
  354. return false;
  355. }
  356. if (utlf_isNull(grp_sea.cmb_reqpridflag.value)) {
  357. sysf_messageBox("청구주기를 " ,"C002");
  358. grp_sea.cmb_reqpridflag.setFocus();
  359. return false;
  360. }
  361. var basevol = 0;
  362. var stocqty = 0;
  363. var reqqty = 0;
  364. var minexch = 0;
  365. for(var currow = 0 ; currow < ds_main_list_goodreq_goodreqlist.rowcount ; currow++)
  366. {
  367. if (ds_main_list_goodreq_goodreqlist.getRowType(currow) != 8) { // 저장 후 삭제일 경우 ( 4 ) check 하지 말자.
  368. for(srcrow = currow + 1 ; srcrow < ds_main_list_goodreq_goodreqlist.rowcount ; srcrow++) {
  369. if (ds_main_list_goodreq_goodreqlist.getColumn(currow , "goodcd") == ds_main_list_goodreq_goodreqlist.getColumn(srcrow , "goodcd") &&
  370. ds_main_list_goodreq_goodreqlist.getColumn(currow , "allsizeyn") == "N" &&
  371. ds_main_list_goodreq_goodreqlist.getRowType(srcrow) != 8 )
  372. {
  373. sysf_messageBox("동일 물품코드가1 [" + currow + "," +srcrow + "->" + ds_main_list_goodreq_goodreqlist.getColumn(currow , "goodcd") + "] 존재하여 저장 " ,"E001");
  374. return false;
  375. }
  376. else if(ds_main_list_goodreq_goodreqlist.getColumn(currow ,"goodcd") == ds_main_list_goodreq_goodreqlist.getColumn(srcrow , "goodcd") &&
  377. ds_main_list_goodreq_goodreqlist.getColumn(currow ,"allsizespecid") == ds_main_list_goodreq_goodreqlist.getColumn(srcrow , "allsizespecid") &&
  378. ds_main_list_goodreq_goodreqlist.getRowType(srcrow) != 8 )
  379. {
  380. sysf_messageBox("동일 물품코드가 (ALL SIZE) [" + currow + "," +srcrow + "->" + ds_main_list_goodreq_goodreqlist.getColumn(currow , "goodcd") + "] 존재하여 저장 " ,"E001");
  381. return false;
  382. }
  383. }
  384. reqqty = ds_main_list_goodreq_goodreqlist.getColumn(currow , "reqqty" );
  385. if (grp_sea.cmb_workflag.value=="2" || grp_sea.cmb_workflag.value =="4") {
  386. if (reqqty > 0) {
  387. ds_main_list_goodreq_goodreqlist.setColumn(currow , "reqqty", reqqty * -1);
  388. }
  389. }
  390. reqqty = ds_main_list_goodreq_goodreqlist.getColumn(currow , "reqqty" );
  391. basevol = ds_main_list_goodreq_goodreqlist.getColumn(currow , "basevol");
  392. stocqty = ds_main_list_goodreq_goodreqlist.getColumn(currow , "stocqty");
  393. reqqty = ds_main_list_goodreq_goodreqlist.getColumn(currow , "reqqty" );
  394. minexch = ds_main_list_goodreq_goodreqlist.getColumn(currow , "minexch");
  395. /* all size 미입력분 체크 2007.09.
  396. allsizeyn = 'Y' 인데.... allsizespecid선택을 안한경우
  397. */
  398. if(ds_main_list_goodreq_goodreqlist.getColumn(currow , "allsizeyn") == "Y" )
  399. {
  400. if (ds_main_list_goodreq_goodreqlist.getColumn(currow , "allsizespecid").length == 0 ||
  401. ds_main_list_goodreq_goodreqlist.getColumn(currow , "allsizespecid") == '-' )
  402. {
  403. sysf_messageBox(currow + " 번째 물품의 ALLSIZE선택을 " ,"C001");
  404. ds_main_list_goodreq_goodreqlist.rowposition = currow;
  405. grp_main.grd_goodreq.setFocus();
  406. grp_main.grd_goodreq.setCellPos(grp_main.grd_goodreq.getBindCellIndex("body","goodspec"));
  407. grp_main.grd_goodreq.showEditor(true);
  408. return false;
  409. }
  410. } else {
  411. ds_main_list_goodreq_goodreqlist.setColumn(currow , "allsizespecid", "-");
  412. }
  413. if (ds_main_list_goodreq_goodreqlist.getColumn(currow, "aprvyn") != "Y") {
  414. if (grp_main.grp_button.ckb_accept.value == "Y") {
  415. if (ds_main_list_goodreq_goodreqlist.getColumn(currow, "deptaprvyn") != "Y") {
  416. if (gPurcDeptcd == sysf_getUserInfo("dutplcecd") ){
  417. ds_main_list_goodreq_goodreqlist.setColumn(currow, "deptaprvyn" ,"Y");
  418. ds_main_list_goodreq_goodreqlist.setColumn(currow, "deptaprvdd" ,utlf_getCurrentDate());
  419. } else {
  420. if (ds_main_list_goodreq_goodreqlist.getColumn(currow, "reqauth") == "2") {
  421. ds_main_list_goodreq_goodreqlist.setColumn(currow, "deptaprvyn" ,"Y");
  422. ds_main_list_goodreq_goodreqlist.setColumn(currow, "deptaprvdd" ,utlf_getCurrentDate());
  423. } else {
  424. ds_main_list_goodreq_goodreqlist.setColumn(currow, "deptaprvyn" ,"N");
  425. ds_main_list_goodreq_goodreqlist.setColumn(currow, "deptaprvdd","" );
  426. }
  427. }
  428. }
  429. }
  430. }
  431. // 불출부서가 없는경우
  432. if (utlf_isNull(ds_main_list_goodreq_goodreqlist.getColumn(currow, "delivedeptcd"))) {
  433. ds_main_list_goodreq_goodreqlist.setColumn(currow, "delivedeptcd", gPurcDeptcd);
  434. }
  435. } // status != 4
  436. } // end for
  437. /* 청구 번호가 없는 경우 즉 신규인 상황에서 신규체크를 하지 않았을 경우
  438. * 임의로 신규 체크 여부를 지정한다. [20081126] YYJ
  439. */
  440. if (utlf_isNull(grp_sea.cmb_reqno.value))
  441. {
  442. grp_sea.chk_reqnonew.value = "Y";
  443. }
  444. return true;
  445. }
  446. /****************************************************************************************
  447. * Argument : N/A
  448. * Description :
  449. ****************************************************************************************/
  450. function fSetControlDisabled(pDisabled) {
  451. grp_sea.cmb_reqno.enable = !pDisabled;
  452. }
  453. /****************************************************************************************
  454. * Argument : N/A
  455. * Description :
  456. ****************************************************************************************/
  457. function fAfterRetr() {
  458. if (ds_main_list_goodreq_goodmaxreqno.getColumn(0,"reqfix") == "Y") {
  459. fSetControlDisabled(true);
  460. } else {
  461. fSetControlDisabled(false);
  462. }
  463. }
  464. // --------------------------------------------------
  465. //
  466. // --------------------------------------------------
  467. function fRetrByReqNo() {
  468. if(fCheckRetrieveData(false) == false)return;
  469. model.removenode("/root/main/tmplist");
  470. model.makeNode("/root/main/tmplist/goodreq/goodreqlist");
  471. model.makeNode("/root/main/tmplist/goodreq/goodmaxreqno");
  472. model.copyNode("/root/main/tmplist", "/root/main/list");
  473. model.setValue("/root/send/goodreq/retrmaxreqnoyn","N");
  474. misfMsterDetailRetrieve();
  475. var rtncount = grd_goodreq.rows - grd_goodreq.fixedRows;
  476. if(rtncount == 0)
  477. {
  478. model.copyNode("/root/main/list","/root/main/tmplist");
  479. }
  480. return rtncount;
  481. }
  482. // --------------------------------------------------
  483. //
  484. // --------------------------------------------------
  485. function fSetReqNo(pReqControl,pAdd)
  486. {
  487. if(pAdd == "Y")
  488. {
  489. var reqno = model.getValue(cmb_reqno.attribute("ref"));
  490. reqno = parseInt(reqno) + 1;
  491. reqno = "" + reqno;
  492. reqno = reqno.getLeftPad(4,"0");
  493. }
  494. else
  495. {
  496. var reqno = model.getValue(cmb_reqno.attribute("ref"));
  497. reqno = parseInt(reqno) - 1;
  498. if(reqno == 0)reqno = 1;
  499. reqno = "" + reqno;
  500. reqno = reqno.getLeftPad(4,"0");
  501. }
  502. model.setValue(pReqControl.attribute("ref"), reqno);
  503. model.refresh();
  504. }
  505. /****************************************************************************************
  506. * Argument : N/A
  507. * Description : 승인전체/접수전체취소
  508. ****************************************************************************************/
  509. function fSettingReqAprv() {
  510. for (var liRow = 0 ; liRow < ds_main_list_goodreq_goodreqlist.rowcount ; liRow++)
  511. {
  512. //----------------------------------------------------------------------------
  513. // 발주승인건 제외
  514. //----------------------------------------------------------------------------
  515. if (ds_main_list_goodreq_goodreqlist.getColumn(liRow, "aprvyn") != "Y") {
  516. if ((gPurcDeptcd == sysf_getUserInfo("dutplcecd")) || (ds_main_list_goodreq_goodreqlist.getColumn(liRow, "reqauth") == "2")) {
  517. if (ds_main_list_goodreq_goodreqlist.getColumn(liRow, "deptaprvyn") == "Y") {
  518. ds_main_list_goodreq_goodreqlist.setColumn(liRow, "deptaprvyn","N");
  519. ds_main_list_goodreq_goodreqlist.setColumn(liRow, "deptaprvdd","" );
  520. if (ds_main_list_goodreq_goodreqlist.getRowType(liRow) == 1) grdf_setStatus(grp_main.grd_goodreq, "U", [liRow]);
  521. } else {
  522. ds_main_list_goodreq_goodreqlist.setColumn(liRow, "deptaprvyn" ,"Y");
  523. ds_main_list_goodreq_goodreqlist.setColumn(liRow, "deptaprvdd" ,utlf_getCurrentDate());
  524. if (ds_main_list_goodreq_goodreqlist.getRowType(liRow) == 1) grdf_setStatus(grp_main.grd_goodreq, "U", [liRow]);
  525. }
  526. }
  527. }
  528. }
  529. }
  530. /****************************************************************************************
  531. * Argument : N/A
  532. * Description : 승인/미승인 처리
  533. ****************************************************************************************/
  534. function fSaveReqAprv()
  535. {
  536. dsf_createDs("ds_send_reqaprvlist");
  537. var dsUpdate = grdf_getGridUpdateData(grp_main.grd_goodreq, "all");
  538. grdf_setStatusColumn(dsUpdate, "status");
  539. ds_send_reqaprvlist.copyData(dsUpdate,true);
  540. var oParam = {};
  541. oParam.id = "TXRSD07002";
  542. oParam.service = "reqapp.ReqMngt";
  543. oParam.method = "reqExeSaveReqAprv";
  544. oParam.inds = "req=ds_send_reqaprvlist";
  545. oParam.outds = "";
  546. oParam.async = false;
  547. //oParam.callback = "cf_TXRSD07002";
  548. tranf_submit(oParam);
  549. if (arErrorCode.pop("TXRSD07002") > -1) misfMsterDetailRetrieve();
  550. }
  551. function cf_TXRSD07002(sSvcId, nErrorCode, sErrorMsg) {
  552. arErrorCode.push(sSvcId, nErrorCode);
  553. }
  554. /****************************************************************************************
  555. * Argument : N/A
  556. * Description : 권한여부에 따른 승인체크 설정.
  557. ****************************************************************************************/
  558. function fGrantsCheck()
  559. {
  560. if (vPurcAuth == "2" || grp_sea.cmb_reqpridflag.value =="1") {
  561. misfSetReadOnlyCol(grp_main.grd_goodreq, "deptaprvyn", false);
  562. }else{
  563. misfSetReadOnlyCol(grp_main.grd_goodreq, "deptaprvyn", true);
  564. }
  565. }
  566. /****************************************************************************************
  567. * Argument : N/A
  568. * Description : 물품청구 버튼 Click 처리하는 함수
  569. ****************************************************************************************/
  570. function fGoodreqButtonClick(yPos) {
  571. var cRow = ds_main_list_goodreq_goodreqlist.rowposition;
  572. var cCol = grp_main.grd_goodreq.currentcol;
  573. if (cCol == grp_main.grd_goodreq.getBindCellIndex("body","goodcd") &&
  574. ds_main_list_goodreq_goodreqlist.getRowType(cRow) == 2 ) { //구성물품코드를 눌렀을 경우
  575. swt_search.tabindex = 1;
  576. //fViewToggle(2); // 1 :늘리기, 2 : 줄이기
  577. fGoodListReady(ds_main_list_goodreq_goodreqlist.getColumn(cRow, "goodcd"),""); // 물품찾기 처리하는 함수
  578. }else if(cCol == grp_main.grd_goodreq.getBindCellIndex("body","goodspec") &&
  579. ds_main_list_goodreq_goodreqlist.getColumn(cRow, "allsizeyn") == "Y" ) {
  580. fAllSizeRead(cRow, cCol, yPos);
  581. }
  582. }
  583. /****************************************************************************************
  584. * Argument : N/A
  585. * Description : 물품청구 내용이 바뀌었을때 처리하는 함수
  586. ****************************************************************************************/
  587. function fGoodreqOnChange() {
  588. var cRow = ds_main_list_goodreq_goodreqlist.rowposition;
  589. var cCol = grp_main.grd_goodreq.currentcol;
  590. if (cCol == grp_main.grd_goodreq.getBindCellIndex("body","reqqty")) {
  591. if (ds_main_list_goodreq_goodreqlist.getColumn(cRow, "acptflag") == "Y")
  592. {
  593. sysf_messageBox("구매접수된 내역은 수정","E001");
  594. return;
  595. }
  596. if (grp_sea.cmb_reqpridflag.value !="1")
  597. {
  598. if (ds_main_list_goodreq_goodreqlist.getColumn(cRow, "reqauth" ) == "1" &&
  599. ds_main_list_goodreq_goodreqlist.getColumn(cRow, "predeptaprvyn") == "Y" )
  600. {
  601. grdf_setStatus(grp_main.grd_goodreq, "", [cRow]);
  602. sysf_messageBox("청구승인되었으므로 청구량을 수정" ,"E001");
  603. return;
  604. }
  605. }
  606. minexch = ds_main_list_goodreq_goodreqlist.getColumn(cRow, "minexch");
  607. }
  608. // -----------------------------------------------------------------------------------
  609. // 청구수량을 정량보충으로 변경함. ( 재고/ 기준량을 입력한다) .2007.08.
  610. // -----------------------------------------------------------------------------------
  611. else if (cCol == grp_main.grd_goodreq.getBindCellIndex("body","stocqty") || cCol == grp_main.grd_goodreq.getBindCellIndex("body","basevol"))
  612. {//재고량조절할경우
  613. if (ds_main_list_goodreq_goodreqlist.getColumn(cRow, "acptflag") == "Y")
  614. {
  615. sysf_messageBox("구매접수된 내역은 수정","E001");
  616. return;
  617. }
  618. if(grp_sea.cmb_reqpridflag.value != "1")
  619. {
  620. if (ds_main_list_goodreq_goodreqlist.getColumn(cRow, "reqauth" ) == "1" &&
  621. ds_main_list_goodreq_goodreqlist.getColumn(cRow, "predeptaprvyn") == "Y")
  622. {
  623. grdf_setStatus(grp_main.grd_goodreq, "", [cRow]);
  624. sysf_messageBox("청구승인되었으므로 재고량을 수정" ,"E001");
  625. return;
  626. }
  627. }
  628. basevol = ds_main_list_goodreq_goodreqlist.getColumn(cRow, "basevol");
  629. stocqty = ds_main_list_goodreq_goodreqlist.getColumn(cRow, "stocqty");
  630. reqqty = ds_main_list_goodreq_goodreqlist.getColumn(cRow, "reqqty" );
  631. minexch = ds_main_list_goodreq_goodreqlist.getColumn(cRow, "minexch");
  632. calc_reqqty = basevol - stocqty;
  633. ds_main_list_goodreq_goodreqlist.setColumn(cRow, "reqqty", calc_reqqty);
  634. }
  635. else if (cCol == grp_main.grd_goodreq.getBindCellIndex("body","deptaprvyn")) {
  636. if ((grp_sea.cmb_reqpridflag.value != "1") &&
  637. (ds_main_list_goodreq_goodreqlist.getColumn(cRow, "reqauth") != "2" ) ) {
  638. ds_main_list_goodreq_goodreqlist.setColumn(cRow, "deptaprvyn", ds_main_list_goodreq_goodreqlist.getColumn(cRow, "predeptaprvyn"));
  639. // insert 가 아니면..
  640. if (ds_main_list_goodreq_goodreqlist.getRowType(cRow) != 2) {
  641. grdf_setStatus(grp_main.grd_goodreq, "", [cRow]);
  642. }
  643. sysf_messageBox("청구승인권한이 없으므로 수정" ,"E001");
  644. } else if (ds_main_list_goodreq_goodreqlist.getColumn(cRow, "aprvyn") == "Y") {
  645. grdf_setStatus(grp_main.grd_goodreq, "", [cRow]);
  646. sysf_messageBox("발주승인이 되었으므로 수정" ,"E001");
  647. } else {
  648. ds_main_list_goodreq_goodreqlist.setColumn(cRow, "deptaprvdd" , utlf_getCurrentDate());
  649. }
  650. }
  651. }
  652. /****************************************************************************************
  653. * Argument : N/A
  654. * Description : 입력시 키에 따른 처리
  655. ****************************************************************************************/
  656. function fGoodreqOnKeyDown(e) {
  657. var cCol = grp_main.grd_goodreq.currentcol;
  658. var cRow = grp_main.grd_goodreq.currentrow;
  659. if(e.keycode == 13)
  660. {
  661. if(cCol == grp_main.grd_goodreq.getBindCellIndex("body","reqqty"))
  662. {
  663. if(cRow < ds_main_list_goodreq_goodreqlist.rowcount-1)
  664. {
  665. ds_main_list_goodreq_goodreqlist.rowposition = cRow + 1;
  666. grp_main.grd_goodreq.setFocus();
  667. grp_main.grd_goodreq.setCellPos(cCol);
  668. grp_main.grd_goodreq.showEditor(true);
  669. }
  670. }
  671. }
  672. if(e.keycode == 9)
  673. {
  674. if(e.shiftKey)
  675. {
  676. if ( grp_main.grd_goodreq.getCellProperty("body",cCol+1,"edittype") == "normal"
  677. || grp_main.grd_goodreq.getCellProperty("body",cCol+1,"edittype") == "text"
  678. || grp_main.grd_goodreq.getCellProperty("body",cCol+1,"edittype") == "masknumber")
  679. {
  680. for(var curcol = cCol -1 ; curcol > -1 ; curcol--)
  681. {
  682. if ( grp_main.grd_goodreq.getCellProperty("body",cCol+1,"edittype") == "normal"
  683. || grp_main.grd_goodreq.getCellProperty("body",cCol+1,"edittype") == "text"
  684. || grp_main.grd_goodreq.getCellProperty("body",cCol+1,"edittype") == "masknumber")
  685. {
  686. //ds_main_list_goodreq_goodreqlist.rowp = cRow + 1;
  687. grp_main.grd_goodreq.setFocus();
  688. grp_main.grd_goodreq.setCellPos(curcol);
  689. grp_main.grd_goodreq.showEditor(true);
  690. return;
  691. }
  692. }
  693. }
  694. }
  695. else
  696. {
  697. if ( grp_main.grd_goodreq.getCellProperty("body",cCol+1,"edittype") != "normal"
  698. && grp_main.grd_goodreq.getCellProperty("body",cCol+1,"edittype") != "text"
  699. && grp_main.grd_goodreq.getCellProperty("body",cCol+1,"edittype") != "masknumber")
  700. {
  701. if(cCol-1 == grp_main.grd_goodreq.getBindCellIndex("body","goodcd") && utlf_isNull(ds_main_list_goodreq_goodreqlist.getColumn(cRow, cCol-1)))
  702. {
  703. //ds_main_list_goodreq_goodreqlist.rowp = cRow + 1;
  704. grp_main.grd_goodreq.setFocus();
  705. grp_main.grd_goodreq.setCellPos(grp_main.grd_goodreq.getBindCellIndex("body","goodcd"));
  706. grp_main.grd_goodreq.showEditor(true);
  707. return;
  708. }
  709. for(var curcol = cCol ; curcol < grp_main.grd_goodreq.getCellCount("body") ; curcol++)
  710. {
  711. if ( grp_main.grd_goodreq.getCellProperty("body",cCol+1,"edittype") == "normal"
  712. || grp_main.grd_goodreq.getCellProperty("body",cCol+1,"edittype") == "text"
  713. || grp_main.grd_goodreq.getCellProperty("body",cCol+1,"edittype") == "masknumber")
  714. {
  715. //ds_main_list_goodreq_goodreqlist.rowp = cRow + 1;
  716. grp_main.grd_goodreq.setFocus();
  717. grp_main.grd_goodreq.setCellPos(curcol);
  718. grp_main.grd_goodreq.showEditor(true);
  719. return;
  720. }
  721. }
  722. }
  723. }
  724. }
  725. }
  726. // --------------------------------------------------
  727. // 물품청구 Cell 내용이 바뀌었을때 처리하는 함수
  728. // --------------------------------------------------
  729. function fGoodreqOnEnterCell() {
  730. if((grd_goodreq.col == grd_goodreq.colRef("deptaprvyn")))
  731. {
  732. if (model.getValue(grd_goodreq.nodeset + "[" + grd_goodreq.row + "]/reqauth" ) != "2" &&
  733. model.getValue(cmb_reqpridflag.attribute("ref")) !="1" )
  734. {
  735. model.setValue(grd_goodreq.nodeset + "[" + grd_goodreq.row+ "]/deptaprvyn",model.getValue(grd_goodreq.nodeset + "[" + grd_goodreq.row+ "]/predeptaprvyn") );
  736. // insert 가 아니면..
  737. if ( grd_goodreq.rowStatus(grd_goodreq.row) != '3')
  738. {
  739. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  740. }
  741. messageBox("청구승인권한이 없으므로 수정" ,"E001");
  742. }
  743. else
  744. {
  745. if(model.getValue(grd_goodreq.nodeset + "[" + grd_goodreq.row+ "]/aprvyn") == "Y")
  746. {
  747. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  748. messageBox("발주승인이 되었으므로 수정" ,"E001");
  749. }
  750. }
  751. }
  752. else if(grd_goodreq.col == grd_goodreq.colRef("stocqty"))
  753. // else if(grd_goodreq.col == grd_goodreq.colRef("reqqty"))
  754. {
  755. if (model.getValue(grd_goodreq.nodeset + "[" + grd_goodreq.row+ "]/acptflag") == "Y")
  756. {
  757. messageBox("구매접수된 내역은 수정","E001");
  758. return;
  759. }
  760. if (model.getValue(cmb_reqpridflag.attribute("ref")) !="1")
  761. {
  762. if (model.getValue(grd_goodreq.nodeset + "[" + grd_goodreq.row + "]/reqauth" ) == "1" &&
  763. model.getValue(grd_goodreq.nodeset + "[" + grd_goodreq.row+ "]/predeptaprvyn") == "Y")
  764. {
  765. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  766. messageBox("청구승인되었으므로 재고량을 수정" ,"E001");
  767. return;
  768. }
  769. }
  770. }
  771. else if(grd_goodreq.col == grd_goodreq.colRef("reqqty"))
  772. {
  773. if (model.getValue(grd_goodreq.nodeset + "[" + grd_goodreq.row+ "]/acptflag") == "Y")
  774. {
  775. messageBox("구매접수된 내역은 수정","E001");
  776. return;
  777. }
  778. if (model.getValue(cmb_reqpridflag.attribute("ref")) !="1")
  779. {
  780. if (model.getValue(grd_goodreq.nodeset + "[" + grd_goodreq.row + "]/reqauth" ) == "1" &&
  781. model.getValue(grd_goodreq.nodeset + "[" + grd_goodreq.row + "]/predeptaprvyn") == "Y")
  782. {
  783. grd_goodreq.rowStatus(grd_goodreq.row) = "0";
  784. messageBox("청구승인되었으므로 청구량을 수정" ,"E001");
  785. return;
  786. }
  787. }
  788. }
  789. }
  790. /****************************************************************************************
  791. * Argument : N/A
  792. * Description : Switch 속성변경 처리하는 함수
  793. ****************************************************************************************/
  794. function fViewToggle(pCls) {
  795. var MOVE_LENGTH = 584;
  796. if (pCls == 1) {
  797. grp_main.position.left = 0;
  798. grp_main.position.width = 1188;
  799. bbt_large.visible = false;
  800. //bbt_right.visible = false;
  801. btn_repeat.visible = true;
  802. gd_find.visible = false;
  803. gd_set.visible = false;
  804. } else if(pCls==2) {
  805. grp_main.position.left = 0 + MOVE_LENGTH;
  806. grp_main.position.width = 1188 - MOVE_LENGTH;
  807. bbt_large.visible = true;
  808. //bbt_right.visible = true;
  809. btn_repeat.visible = false;
  810. gd_find.visible = true;
  811. gd_set.visible = false;
  812. } else if(pCls==3) {
  813. grp_main.position.left = 0 + MOVE_LENGTH;
  814. grp_main.position.width = 1188 - MOVE_LENGTH;
  815. bbt_large.visible = false;
  816. //bbt_right.visible = true;
  817. btn_repeat.visible = true;
  818. gd_find.visible = false;
  819. gd_set.visible = true;
  820. }
  821. }
  822. // --------------------------------------------------
  823. // 물품 찾기 속성변경 처리하는 함수
  824. // --------------------------------------------------
  825. function fGoodSearchToggle() {
  826. if (cpt_cls.attribute("text") =="0") { // 상세접근 조회
  827. // 메인 Grup
  828. grd_goodlist.attribute("left" ) = "2" ;
  829. grd_goodlist.attribute("top" ) = "83" ;
  830. grd_goodlist.attribute("width" ) = "576";
  831. grd_goodlist.attribute("height" ) = "574" ;
  832. btn_dtail.attribute("top" ) = "56" ;
  833. bbt_apply2.attribute("top" ) = "56" ;
  834. lin_goodlist.attribute("y1" ) = "78";
  835. lin_goodlist.attribute("y2" ) = "78";
  836. grp_dtail.attribute("visibility") ="hidden" ;
  837. cpt_cls.attribute("text") = "1";
  838. } else { // 줄이기
  839. // 메인 Grup
  840. grd_goodlist.attribute("left" ) = "2" ;
  841. grd_goodlist.attribute("top" ) = "285" ;
  842. grd_goodlist.attribute("width" ) = "576";
  843. grd_goodlist.attribute("height" ) = "372" ;
  844. btn_dtail.attribute("top" ) = "258" ;
  845. bbt_apply2.attribute("top" ) = "258" ;
  846. lin_goodlist.attribute("y1" ) = "280";
  847. lin_goodlist.attribute("y2" ) = "280";
  848. grp_dtail.attribute("visibility") ="visible" ;
  849. cpt_cls.attribute("text") = "0";
  850. }
  851. grd_goodlist.refresh();
  852. }
  853. // --------------------------------------------------
  854. // 물품 찾기 속성변경 처리하는 함수
  855. // --------------------------------------------------
  856. var vInstcd = "";
  857. var vReqdeptcd = "";
  858. function fReqSetList(flag) {
  859. var vReqSetFlag = "N";
  860. var instcd = grp_sea.opt_instcd.value;
  861. var reqdeptcd = grp_sea.cmb_reqdeptcd.value;
  862. if (instcd == "") {
  863. sysf_messageBox("기관을 " ,"C002");
  864. return;
  865. }
  866. //
  867. if (reqdeptcd == ""){
  868. sysf_messageBox("청구 부서를 " ,"C002");
  869. return;
  870. }
  871. //
  872. if (vInstcd != instcd) vReqSetFlag = "Y";
  873. if (vReqdeptcd != reqdeptcd) vReqSetFlag = "Y";
  874. /*
  875. if(flag != 1) {
  876. if (vReqSetFlag == "N") return;
  877. }
  878. */
  879. vInstcd = instcd;
  880. vReqdeptcd = reqdeptcd;
  881. ds_send_reqset.setColumn( 0, "instcd" , instcd);
  882. ds_send_reqset.setColumn( 0, "reqdeptcd" , reqdeptcd);
  883. // submit("TRRSD00211");
  884. var oParam = {};
  885. oParam.id = "TRRSD00211";
  886. oParam.service = "reqapp.ReqMngt";
  887. oParam.method = "reqGetReqMstSetList";
  888. oParam.inds = "req=ds_send_reqset";
  889. oParam.outds = "ds_main_list_reqmst_reqsetmst=reqsetmst";
  890. oParam.async = false;
  891. oParam.callback = "cf_TRRSD00211";
  892. tranf_submit(oParam);
  893. }
  894. function cf_TRRSD00211(sSvcId, nErrorCode, sErrorMsg) {
  895. if(nErrorCode < 0) return;
  896. }
  897. // 부서 청구SET 물품
  898. function fReqSetRead(pRow) {
  899. ds_send_reqset.setColumn( 0, "instcd" , ds_main_list_reqmst_reqsetmst.getColumn(pRow, "instcd"));
  900. ds_send_reqset.setColumn( 0, "reqdeptcd" , ds_main_list_reqmst_reqsetmst.getColumn(pRow, "reqdeptcd"));
  901. ds_send_reqset.setColumn( 0, "reqprid" , ds_main_list_reqmst_reqsetmst.getColumn(pRow, "reqprid"));
  902. ds_send_reqset.setColumn( 0, "goodsetnm" , ds_main_list_reqmst_reqsetmst.getColumn(pRow, "goodsetnm"));
  903. // submit("TRRSD00210"); // 청구마감일자 조회 purcbaseweb
  904. var oParam = {};
  905. oParam.id = "TRRSD00210";
  906. oParam.service = "reqapp.ReqMngt";
  907. oParam.method = "reqGetReqSetList";
  908. oParam.inds = "req=ds_send_reqset";
  909. oParam.outds = "ds_main_list_reqset_reqsetlist=reqsetlist";
  910. oParam.async = false;
  911. oParam.callback = "cf_TRRSD00210";
  912. tranf_submit(oParam);
  913. }
  914. /*-**************************************************************************************
  915. * Argument : N/A
  916. * Description : 선택물품을 적용
  917. ****************************************************************************************/
  918. function fSelectDataApply2() {
  919. dsf_createDs("ds_temp_copyData");
  920. var chk;
  921. for(var i = 0; i < ds_main_list_reqset_reqsetlist.rowcount; i++) {
  922. chk = ds_main_list_reqset_reqsetlist.getColumn(i, "chk");
  923. if(chk=="true") {
  924. var addRow = ds_main_list_goodreq_goodreqlist.addRow();
  925. var instcd = ds_main_list_reqset_reqsetlist.getColumn(i, "instcd");
  926. var goodcd = ds_main_list_reqset_reqsetlist.getColumn(i, "goodcd");
  927. var goodnm = ds_main_list_reqset_reqsetlist.getColumn(i, "goodnm");
  928. var goodspec = ds_main_list_reqset_reqsetlist.getColumn(i, "goodspec");
  929. var setunit = ds_main_list_reqset_reqsetlist.getColumn(i, "setunit");
  930. var goodflag = ds_main_list_reqset_reqsetlist.getColumn(i, "goodflag");
  931. var reqflag = ds_main_list_reqset_reqsetlist.getColumn(i, "reqflag");
  932. var reqmthd = ds_main_list_reqset_reqsetlist.getColumn(i, "reqmthd");
  933. var reqpackqty = ds_main_list_reqset_reqsetlist.getColumn(i, "goodqty");
  934. var delivedeptcd = ds_main_list_reqset_reqsetlist.getColumn(i, "reqfnldeptcd");
  935. var ddavguseqty = ds_main_list_reqset_reqsetlist.getColumn(i, "ddavguseqty");
  936. var basevol = ds_main_list_reqset_reqsetlist.getColumn(i, "basevol");
  937. var purcflag = ds_main_list_reqset_reqsetlist.getColumn(i, "purcflag");
  938. var requnit = ds_main_list_reqset_reqsetlist.getColumn(i, "requnit");
  939. var exchqty = ds_main_list_reqset_reqsetlist.getColumn(i, "exchqty");
  940. var purcunit = ds_main_list_reqset_reqsetlist.getColumn(i, "purcunit");
  941. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "chk", "");
  942. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "instcd", instcd);
  943. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "goodcd", goodcd);
  944. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "goodnm", goodnm);
  945. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "goodspec", goodspec);
  946. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "setunit", setunit);
  947. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "goodflag", goodflag);
  948. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "reqflag", reqflag);
  949. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "reqmthd", reqmthd);
  950. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "reqpackqty", reqpackqty);
  951. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "delivedeptcd", delivedeptcd);
  952. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "ddavguseqty", ddavguseqty);
  953. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "basevol", basevol);
  954. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "requnit", requnit);
  955. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "reqqty", reqpackqty * exchqty);
  956. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "safeqty", 0);
  957. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "prepargodqty", 0);
  958. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "purcflag", 0);
  959. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "exchqty", exchqty);
  960. //parseFloat(ds_main_list_goodreq_goodreqlist.getColumn(ds_main_list_goodreq_goodreqlist.rowposition,"exchqty"));
  961. //parseFloat(ds_main_list_goodreq_goodreqlist.getColumn(ds_main_list_goodreq_goodreqlist.rowposition,"reqpackqty"));
  962. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "reqpackperunitqty", exchqty);
  963. ds_main_list_goodreq_goodreqlist.setColumn(addRow, "reqpackunit", purcunit);
  964. }
  965. }
  966. }
  967. function cf_TRRSD00210(sSvcId, nErrorCode, sErrorMsg) {
  968. if(nErrorCode < 0) return;
  969. }
  970. /****************************************************************************************
  971. * Argument : N/A
  972. * Description : 선택물품을 적용
  973. ****************************************************************************************/
  974. function fSelectDataApply(pGridSource, pGridTarget, pGridNm, pQtyNm) {
  975. ds_copynode.clearData();
  976. var dsGridSource = eval(pGridSource.binddataset);
  977. var dsGridTarget = eval(pGridTarget.binddataset);
  978. var vSelect = 0;
  979. for ( var row = 0 ; row < dsGridSource.rowcount ; row++) {
  980. if(dsGridSource.getColumn(row, "select" ) == "true")
  981. {
  982. if (utlf_isNull(dsGridTarget.lookup("goodcd", dsGridSource.getColumn(row, "goodcd"), "goodcd")) )
  983. vSelect++;
  984. else if (!utlf_isNull(dsGridTarget.lookup("goodcd", dsGridSource.getColumn(row, "goodcd"), "goodcd")) &&
  985. utlf_isNull(dsGridTarget.lookup("allsizespecid", dsGridSource.getColumn(row, "allsizespecid"), "allsizespecid")))
  986. vSelect++;
  987. else
  988. dsGridSource.setColumn(row, "select" , "false");
  989. } else {
  990. dsGridSource.setColumn(row, "select" , "false");
  991. }
  992. }
  993. if (vSelect < 1) return;
  994. dsGridSource.filter("select=='true'");
  995. var rCVS = dsf_getDsCSV(dsGridSource);
  996. dsGridSource.filter("");
  997. var cur_row = pGridTarget.rowposition;
  998. //var status = dsTarget.getColumn(cur_row, "m");
  999. dsf_setCSVToDs("ds_copynode"+"_"+pGridNm, rCVS);
  1000. fSettingGoodList("ds_copynode", pGridNm , pQtyNm);
  1001. for (var row = 0 ; row < dsGridSource.rowcount ; row++) {
  1002. dsGridSource.setColumn(row, "select" , "false");
  1003. }
  1004. }
  1005. var vAllSizeCol = 0;
  1006. var vAllSizeRow = 0;
  1007. var vAllSizePath = "ds_main_codelist";
  1008. var vGoodReqPath = "ds_main_list_goodreq_goodreqlist";
  1009. /****************************************************************************************
  1010. * Argument : N/A
  1011. * Description : All Size 읽어오는 함수
  1012. ****************************************************************************************/
  1013. function fAllSizeRead(pRow, pCol, pPos) {
  1014. var iClickY = pPos - 100;
  1015. vAllSizeCol = pCol;
  1016. vAllSizeRow = pRow;
  1017. if (iClickY > 375) iClickY = iClickY - 319;
  1018. grp_allsize.position.top = iClickY;
  1019. grp_allsize.visible = true;
  1020. ds_send_allsize.setColumn( 0, "instcd", grp_sea.opt_instcd.value);
  1021. ds_send_allsize.setColumn( 0, "goodcd", eval(vGoodReqPath).getColumn(pRow, "goodcd"));
  1022. var oParam = {};
  1023. oParam.id = "TRRSD00281";
  1024. oParam.service = "purccommonapp.PurcCommon";
  1025. oParam.method = "reqGetGoodCode";
  1026. oParam.inds = "req=ds_send_allsize";
  1027. oParam.outds = "ds_main_codelist=codelist";
  1028. oParam.async = false;
  1029. //oParam.callback = "cf_TRRSD00281";
  1030. tranf_submit(oParam);
  1031. }
  1032. /****************************************************************************************
  1033. * Argument : N/A
  1034. * Description : All Size 선택
  1035. ****************************************************************************************/
  1036. function fAllSizeSelect() {
  1037. grp_allsize.visible = false ;
  1038. var vQty = "0";
  1039. var vSize = "";
  1040. var vSpec = "";
  1041. var vModel = "";
  1042. var vCheck = "";
  1043. var vPath = "";
  1044. var vTarget = "";
  1045. var vSource = "";
  1046. var nTarget = "";
  1047. var nSource = "";
  1048. var vGoodcd = eval(vGoodReqPath).getColumn(vAllSizeRow, "goodcd");
  1049. for (var i = 0; i < ds_main_codelist.rowcount; i++) {
  1050. if (eval(vAllSizePath).getColumn(i, "chk") == "true") {
  1051. vSize = dsf_getColumnNullToEmpty(eval(vAllSizePath), i, "allsizespecid");
  1052. vSpec = dsf_getColumnNullToEmpty(eval(vAllSizePath), i, "goodspec" );
  1053. vModel = dsf_getColumnNullToEmpty(eval(vAllSizePath), i, "goodmodel" );
  1054. vQty = dsf_getColumnNullToEmpty(eval(vAllSizePath), i, "qty" );
  1055. if (utlf_isNull(eval(vGoodReqPath).lookupExpr("goodcd=='"+vGoodcd+"' && allsizespecid=='"+vSize+"'", "goodcd"))) {
  1056. if (vCheck == "") {
  1057. vCheck = "Y";
  1058. vTarget = vGoodReqPath;
  1059. nTarget = vAllSizeRow;
  1060. if (eval(vGoodReqPath).getRowType(vAllSizeRow) == 1) grdf_setStatus(grp_main.grd_goodreq, "U", [vAllSizeRow]);
  1061. } else {
  1062. misfGridIUD(grp_main.grd_goodreq, "A");
  1063. var addRow = eval(vGoodReqPath).rowcount - 1;
  1064. fDefaultSetting(addRow);
  1065. vTarget = vGoodReqPath;
  1066. nTarget = addRow;
  1067. vSource = vGoodReqPath;
  1068. nSource = vAllSizeRow;
  1069. fSettingGoodData(vTarget, vSource, "basevol", "requnit", "S", nTarget, nSource);
  1070. dsf_makeValue(eval(vGoodReqPath), "backGroudColor", "string", "#FFFF00", addRow);
  1071. }
  1072. } else {
  1073. // vPath = vGoodReqPath+"[goodcd='"+ vGoodcd+"' and allsizespecid='"+vSize+"']";
  1074. }
  1075. eval(vTarget).setColumn( nTarget, "allsizeyn", Y);
  1076. eval(vTarget).setColumn( nTarget, "allsizespecid", vSize);
  1077. eval(vTarget).setColumn( nTarget, "goodspec", vSpec);
  1078. eval(vTarget).setColumn( nTarget, "goodmodel", vModel);
  1079. if (vQty != "" && vQty != "0") {
  1080. eval(vTarget).setColumn( nTarget, "stocqty", vQty);
  1081. }
  1082. }
  1083. }
  1084. grp_main.grd_goodreq.setCellProperty("body",9,"background","BIND(backGroudColor)");
  1085. grp_main.grd_goodreq.setCellProperty("body",9,"background2","BIND(backGroudColor)");
  1086. }
  1087. /**
  1088. * @ver : 2010-10-17
  1089. * @desc : 신규 체크박스 클릭시
  1090. * @param :
  1091. * @return :
  1092. * @---------------------------------------------------
  1093. */
  1094. function fNewReqNo() {
  1095. if ( grp_sea.chk_reqnonew.value == "Y" ){
  1096. //if (grp_biz.grp_main.grd_goodreq.rowcount < 1) return;
  1097. var RetCls = sysf_messageBox("현재일자로 신규 생성합니다","Q003");
  1098. if ( RetCls == 6 ){
  1099. grp_sea.chk_reqnonew.value = "Y"; // reqnonew 인스턴스값이 <> N Y </> 으로 나와서 해당부분에서 처리함(문제발생시 if문 삭제)
  1100. var ReqNo = ds_main_DeptReqnoLists_reqnolist.getColumn(0, "reqno");
  1101. var reqnodelist = ds_main_DeptReqnoLists_reqnolist.rowcount - 1;
  1102. var MaxReqno = "";
  1103. // var comboItemNodeSet = "";
  1104. dsf_createDs("ds_comboItemNodeSet");
  1105. for(var k = reqnodelist; k >= 0; k--){
  1106. if(k == reqnodelist){
  1107. MaxReqno = ds_main_DeptReqnoLists_reqnolist.getColumn(k, "reqno");
  1108. // comboItemNodeSet = "ds_main_DeptReqnoLists_reqnolist["+k+"]";
  1109. dsf_copyColInfo(ds_comboItemNodeSet, ds_main_DeptReqnoLists_reqnolist);
  1110. ds_comboItemNodeSet.copyRow(ds_comboItemNodeSet.addRow(), ds_main_DeptReqnoLists_reqnolist, k);
  1111. }
  1112. break;
  1113. }
  1114. // var comboValueRef = "reqno";
  1115. // var itemNode = instance1.createNode("element", instance1.selectSingleNode(comboItemNodeSet).nodeName, "");
  1116. // var valueNode = instance1.createNode("element", comboValueRef, "");
  1117. //
  1118. // valueNode.value = "000"+(parseInt(MaxReqno)+1);
  1119. // itemNode.appendChild(valueNode);
  1120. dsf_makeValue(ds_comboItemNodeSet, "reqno", "string", "000"+(parseInt(MaxReqno)+1));
  1121. // var destNode = instance1.selectSingleNode(comboItemNodeSet);
  1122. // var pDestNode = destNode.parentNode;
  1123. //
  1124. // pDestNode.insertAfter(itemNode, destNode);
  1125. var nRow = ds_main_DeptReqnoLists_reqnolist.addRow();
  1126. ds_main_DeptReqnoLists_reqnolist.copyRow(nRow, ds_comboItemNodeSet, 0);
  1127. ds_send_goodreq.setColumn( 0, "reqno","000"+(parseInt(MaxReqno)+1));
  1128. frmf_inputEnterKey("grp_sea.cmb_reqno", "onitemchanged", new ItemChangeEventInfo);
  1129. }else if ( RetCls == 7 ){
  1130. // grp_biz.grp_sea.chk_reqnonew.value = false;
  1131. ds_send_save_autoaprv.setColumn(0, "reqnonew", "");
  1132. return;
  1133. }
  1134. }else{
  1135. fDeptReqNoQuery();
  1136. }
  1137. }
  1138. // 신규 Check 시 작업구분
  1139. function fNewReqNoVisibility() {
  1140. if ( model.getValue(chk_reqnonew.attribute("ref")) == "Y") {
  1141. // cmb_reqno.disabled = true;
  1142. ipt_reqdd.attribute("visibility") = "hidden";
  1143. ipt_reqddnew.attribute("visibility") = "visible" ;
  1144. // cmb_reqno.attribute("visibility") = "hidden" ;
  1145. // cmb_hidden.attribute("visibility") = "visible" ;
  1146. model.setValue(ipt_reqddnew.attribute("ref"), getCurrentDate() ); //신규로 체크되면 무조건 오늘날짜로 셋팅된다
  1147. } else {
  1148. // cmb_reqno.disabled = false;
  1149. ipt_reqddnew.attribute("visibility") = "hidden";
  1150. ipt_reqdd.attribute("visibility") = "visible" ;
  1151. // cmb_reqno.attribute("visibility") = "visible" ;
  1152. // cmb_hidden.attribute("visibility") = "hidden" ;
  1153. }
  1154. model.refresh();
  1155. }
  1156. /****************************************************************************************
  1157. * Argument : prow : 행번호
  1158. * Description :
  1159. ****************************************************************************************/
  1160. function fSettingGoodData(pTarget, pSource, pUserqtynm, pRequnit, pCls, nTarget, nSource) {
  1161. var vReqDept = grp_sea.cmb_reqdeptcd.value; // 청구부서
  1162. var vReqprid = grp_sea.cmb_reqpridflag.value; // 청구주기
  1163. vReqAuth = fPurcAuthInfoRow(vReqDept, vReqprid, pSource.getColumn(0,"reqflag")); // 권한 Check
  1164. pTarget.setColumn(nTarget,"goodcd" , pSource.getColumn(nSource,"goodcd" ));
  1165. pTarget.setColumn(nTarget,"goodnm" , pSource.getColumn(nSource,"goodnm" ));
  1166. pTarget.setColumn(nTarget,"goodspec" , pSource.getColumn(nSource,"goodspec" ));
  1167. pTarget.setColumn(nTarget,"reqflag" , pSource.getColumn(nSource,"reqflag" ));
  1168. pTarget.setColumn(nTarget,"goodflag" , pSource.getColumn(nSource,"goodflag" ));
  1169. pTarget.setColumn(nTarget,"goodmodel" , pSource.getColumn(nSource,"goodmodel" ));
  1170. pTarget.setColumn(nTarget,"prodcmpynm" , pSource.getColumn(nSource,"prodcmpynm" ));
  1171. pTarget.setColumn(nTarget,"purcunit" , pSource.getColumn(nSource,"purcunit" ));
  1172. pTarget.setColumn(nTarget,"purcunit" , pSource.getColumn(nSource,"purcunit" ));
  1173. pTarget.setColumn(nTarget,"basevol" , pSource.getColumn(nSource, pUserqtynm ));
  1174. pTarget.setColumn(nTarget,"stocqty" , 0 );
  1175. pTarget.setColumn(nTarget,"reqqty" , pSource.getColumn(nSource, pUserqtynm ));
  1176. pTarget.setColumn(nTarget,"reqauth" , vReqAuth );
  1177. pTarget.setColumn(nTarget,"requnit" , pSource.getColumn(nSource, pRequnit ));
  1178. pTarget.setColumn(nTarget,"minexch" , pSource.getColumn(nSource,"minexch" ));
  1179. pTarget.setColumn(nTarget,"ddavguseqty" , pSource.getColumn(nSource,"ddavguseqty" ));
  1180. pTarget.setColumn(nTarget,"exchqty" , pSource.getColumn(nSource,"exchqty" ));
  1181. pTarget.setColumn(nTarget,"reqmthdflag" , "3" );
  1182. pTarget.setColumn(nTarget,"allsizeyn" , pSource.getColumn(nSource,"allsizeyn" ));
  1183. pTarget.setColumn(nTarget,"reqcollcdeptcd", pSource.getColumn(nSource,"reqcollcdeptcd"));
  1184. pTarget.setColumn(nTarget,"setunit" , pSource.getColumn(nSource,"setunit" ));
  1185. pTarget.setColumn(nTarget,"reqpackqty" , 0 );
  1186. if(pSource.getColumn(nSource,"goodflag")=="PH"){
  1187. pTarget.setColumn(nTarget,"reqpackunit" , pSource.getColumn(nSource,"purcunit" ));
  1188. pTarget.setColumn(nTarget,"reqpackperunitqty" , pSource.getColumn(nSource,"exchqty" ));
  1189. }else{
  1190. pTarget.setColumn(nTarget,"reqpackperunitqty" , 0);
  1191. }
  1192. if (pCls == "S") {
  1193. pTarget.setColumn(nTarget,"delivedeptcd", pSource.getColumn(nSource,"delivedeptcd"));
  1194. }
  1195. else {
  1196. pTarget.setColumn(nTarget,"delivedeptcd", pSource.getColumn(nSource,"reqfnldeptcd"));
  1197. }
  1198. if (utlf_isNull(pTarget.getColumn(nTarget,"delivedeptcd"))) {
  1199. pTarget.setColumn(nTarget,"delivedeptcd", gPurcDeptcd);
  1200. }
  1201. pTarget.setColumn(nTarget,"rgstqty" , "0" );
  1202. if (vReqAuth == "2") {
  1203. misfSetReadOnlyCol(grp_main.grd_goodreq, "deptaprvyn", false);
  1204. }else{
  1205. misfSetReadOnlyCol(grp_main.grd_goodreq, "deptaprvyn", true);
  1206. }
  1207. }
  1208. /****************************************************************************************
  1209. * Argument : N/A
  1210. * Description : 물품검색 TAB 클릭시
  1211. ****************************************************************************************/
  1212. function fGoodListReady(pGoodCd, pGoodName) {
  1213. misfGridInit(gd_find.grd_goodlist);
  1214. fGoodListKeySet(); // 물품검색 기본 KEY SET
  1215. // -------------------------------------------------------------------------------------------
  1216. // sql문에 청구부서별 안전재고를 가져와야한다.
  1217. // 프로그램 call시 변경해야한다. 인자값이 없을경우 해당 user값으로 setting한다.
  1218. // -------------------------------------------------------------------------------------------
  1219. if(utlf_isNull(eval(PURTARGET_NODE).getColumn(0,"reqdeptcd")))
  1220. ds_send_goodlist.setColumn( 0, "reqdeptcd", sysf_getUserInfo("dutplcecd"));
  1221. else ds_send_goodlist.setColumn( 0, "reqdeptcd", grp_sea.cmb_reqdeptcd.value);
  1222. // --------------------------------------------------------------------------
  1223. // 영양팀 명칭검색으로 이 window 가 open시 기본값 셋팅한다.
  1224. // --------------------------------------------------------------------------
  1225. if (!utlf_isNull(pGoodCd)) {
  1226. ds_send_goodlist.setColumn( 0, "goodcd", pGoodCd);
  1227. }
  1228. else if (!utlf_isNull(pGoodName))
  1229. {
  1230. ds_send_goodlist.setColumn( 0, "goodnm", pGoodName);
  1231. }
  1232. }
  1233. /****************************************************************************************
  1234. * Argument : N/A
  1235. * Description : 물품검색 기본 KEY SET
  1236. ****************************************************************************************/
  1237. function fGoodListKeySet() {
  1238. ds_send_goodlist.setColumn( 0, "lrgcd" , "");
  1239. ds_send_goodlist.setColumn( 0, "mdlcd" , "");
  1240. ds_send_goodlist.setColumn( 0, "instcd" , grp_sea.opt_instcd.value);
  1241. ds_send_goodlist.setColumn( 0, "reqprid" , grp_sea.cmb_reqpridflag.value);
  1242. ds_send_goodlist.setColumn( 0, "goodflag", gd_find.group2.cmb_goodflag.value);
  1243. ds_send_goodlist.setColumn( 0, "instcdnm" , grp_sea.opt_instcdnm.value);
  1244. ds_send_goodlist.setColumn( 0, "reqpridnm" , grp_sea.cmb_reqpridflag.text);
  1245. }
  1246. /****************************************************************************************
  1247. * Argument : N/A
  1248. * Description : 물품검색 조회
  1249. ****************************************************************************************/
  1250. function fGoodListSearch() {
  1251. misfGridInit(gd_find.grd_goodlist);
  1252. grp_sea.tmpreqdeptcd.value = grp_sea.cmb_reqdeptcd.value; //청구부서 물품조회시 추가하는 부분
  1253. if(utlf_isNull(grp_sea.opt_instcd.value)) return;
  1254. if (ds_send.getColumn(0, "goodnm") != "") {
  1255. ds_send.setColumn( 0, "indexnm","");
  1256. }
  1257. ds_send_goodlist.setColumn( 0, "reqprid" , "");
  1258. ds_send_goodlist.setColumn( 0, "instcd" , ds_send_goodreq.getColumn(0, "instcd"));
  1259. ds_send_goodlist.setColumn( 0, "goodflag", ds_send_goodreq.getColumn(0, "goodflag"));
  1260. //작업구분에 따라서 일반청구인지 처방집계인지 구분
  1261. //청구와 반납일경우는 일반청구 즉 reqcheck Y
  1262. //상비품청구 와 상비품반납일 경우는 처방집계 즉 reqcheck null
  1263. ds_send_goodlist.setColumn( 0, "workflag" , ds_send_goodreq.getColumn(0, "workflag"));
  1264. //ds_send_goodlist.setColumn( 0, "reqmthd" , "3");
  1265. var oParam = {};
  1266. oParam.id = "TRRSD00406";
  1267. oParam.service = "purccommonapp.PurcCommon";
  1268. oParam.method = "reqGetGoodListByCond";
  1269. oParam.inds = "req=ds_send_goodlist";
  1270. oParam.outds = "ds_main_GoodLists_goodlist=goodlist";
  1271. oParam.async = false;
  1272. oParam.callback = "cf_TRRSD00406";
  1273. tranf_submit(oParam);
  1274. }
  1275. function cf_TRRSD00406(sSvcId, nErrorCode, sErrorMsg) {
  1276. if(nErrorCode < 0) return;
  1277. ds_main_GoodLists_goodlist.updatecontrol = false;
  1278. ds_main_GoodLists_goodlist.addColumn("prcpqty","string");
  1279. ds_main_GoodLists_goodlist.addColumn("prcpunit","string");
  1280. dsf_setFixVal(ds_main_GoodLists_goodlist,"select:false");
  1281. ds_main_GoodLists_goodlist.updatecontrol = true;
  1282. }
  1283. // --------------------------------------------------
  1284. // 물품찾기 처리하는 함수
  1285. // --------------------------------------------------
  1286. function fReqFlagCheck() {
  1287. //청구권/승인권 부서 조회.
  1288. rszfReqDeptGetComboList("cmb_reqdeptcd", model.getValue(opt_instcd.attribute("ref")), getUserInfo("userid"), cmb_reqflag.value);
  1289. //rszfReqDeptGetComboList("cmb_reqdeptcd", model.getValue(opt_instcd.attribute("ref")), '80030647', 'S');
  1290. //청구부서의 순서가 0번째인것을 선택하는데 여기서 부서와 비교해서 cmb_reqdeptcd.select()를
  1291. //해당부서와 동일하게 해서 보여지도록 한다
  1292. model.setValue(cmb_reqpridflag.attribute("ref"), "");
  1293. rszfComboReqPridList(cmb_reqpridflag,model.getValue(opt_instcd.attribute("ref")),model.getValue(cmb_reqflag.attribute("ref")));
  1294. cmb_reqpridflag.refresh();
  1295. cmb_reqpridflag.select(0);
  1296. // ----------------------------------------------------------------------------------------------------
  1297. // 위의 select(0); 에서 cmb_reqpridflag value가 있으면 reqpridflag xforms-value_changed 가 발생한다.
  1298. // ----------------------------------------------------------------------------------------------------
  1299. model.setValue(opt_goodflag.attribute("ref"), rszfGetGoodFlagByReqFlag(model.getValue(opt_instcd.attribute("ref")),model.getValue(cmb_reqflag.attribute("ref"))));
  1300. fGoodListKeySet(); // 물품검색 기본 KEY SET
  1301. if (model.getValue(cmb_reqpridflag.attribute("ref")).length == 0 ) {
  1302. fSetReqAuth();
  1303. btn_search.dispatch("DOMActivate");
  1304. }
  1305. //청구 마지막 일자 조회.
  1306. fLastDaySearch();
  1307. //청구일자 기한체크.
  1308. if (fLastDayCheck()) {
  1309. messageBox("불출부서의 청구일자기한을 벗어났습니다. \n 다시 입력 하세요.", "");
  1310. model.setValue(ipt_reqdd.attribute("ref"), model.getValue(ipt_todd.attribute("ref")) );
  1311. return;
  1312. }
  1313. }
  1314. /****************************************************************************************
  1315. * Argument : N/A
  1316. * Description : 청구부서 Set
  1317. ****************************************************************************************/
  1318. function fReqdeptCopy(){
  1319. var cPath = "ds_init_CopyData";
  1320. var sPath = "ds_main_ReqpsnLists_reqpsnlist";
  1321. var tPath = "ds_init_ReqDeptLists_reqdeptlist";
  1322. var iDataCnt = eval(sPath).rowcount;
  1323. if (iDataCnt < 1) {
  1324. return;
  1325. }
  1326. eval(tPath).clear();
  1327. dsf_copyColInfo(eval(tPath), eval(cPath));
  1328. var iDataCnt = eval(sPath).rowcount;
  1329. var Idx = 0;
  1330. // -----------------------------------------------------------------------------------------------
  1331. // 청구부서를 세션의 부서와 비교해서 cmb_reqdeptcd.select()를
  1332. // 해당부서와 동일하게 해서 보여지도록 한다. 부서가 없을 경우 0번째 부서가 콤보에 보여짐
  1333. // 사용자의 세션부서가 청구부서의 젤 상단에 위치하도록 노드셋 데이터 수정 하는 부분
  1334. // -----------------------------------------------------------------------------------------------
  1335. if(!utlf_isNull(eval(sPath).lookup("reqdeptcd",sysf_getUserInfo("dutplcecd"),"reqdeptnm"))) {
  1336. eval(cPath).setColumn(0,"value", eval(sPath).lookup("reqdeptcd",sysf_getUserInfo("dutplcecd"),"reqdeptcd"));
  1337. eval(cPath).setColumn(0,"label", eval(sPath).lookup("reqdeptcd",sysf_getUserInfo("dutplcecd"),"reqdeptnm"));
  1338. eval(tPath).addRow();
  1339. eval(tPath).copyRow(Idx, eval(cPath), 0);
  1340. Idx++;
  1341. }
  1342. // 청구부서 Set
  1343. for (var k = 0; k < iDataCnt; k++){
  1344. vReqDept = eval(sPath).getColumn(k, "reqdeptcd");
  1345. vReqDeptNm = eval(sPath).getColumn(k, "reqdeptnm");
  1346. if (!utlf_isNull(vReqDeptNm) && utlf_isNull(eval(tPath).lookup("value",vReqDept,"value"))) {
  1347. eval(cPath).setColumn( 0, "value", vReqDept);
  1348. eval(cPath).setColumn( 0, "label", vReqDeptNm);
  1349. eval(tPath).addRow();
  1350. eval(tPath).copyRow(Idx, eval(cPath), 0);
  1351. Idx++;
  1352. } //end if
  1353. } //end for
  1354. grp_sea.cmb_reqdeptcd.index = 0;
  1355. fReqpridCopy(); // 청구 주기Set
  1356. }
  1357. /****************************************************************************************
  1358. * Argument : N/A
  1359. * Description : 청구 주기Set
  1360. ****************************************************************************************/
  1361. function fReqpridCopy(){
  1362. var cPath = "ds_init_CopyData"
  1363. var sPath = "ds_main_ReqpsnLists_reqpsnlist";
  1364. var tPath = "ds_init_ReqpridLists_reqpridlist";
  1365. if(utlf_isNull(grp_sea.cmb_reqdeptcd.value)) {
  1366. sysf_messageBox("청구부서를","C002");
  1367. grp_sea.cmb_reqdeptcd.setFocus();
  1368. return;
  1369. }
  1370. var iDataCnt = eval(sPath).rowcount;
  1371. if(iDataCnt < 1){
  1372. return;
  1373. }
  1374. eval(tPath).clear();
  1375. dsf_copyColInfo(eval(tPath), eval(cPath));
  1376. var Idx = 0;
  1377. var iDataCnt = eval(sPath).rowcount;
  1378. var tReqDept = grp_sea.cmb_reqdeptcd.value;
  1379. for(var k = 0 ; k < iDataCnt ; k++){
  1380. var vReqDept = eval(sPath).getColumn(k, "reqdeptcd");
  1381. if(vReqDept == tReqDept){
  1382. vReqPrid = eval(sPath).getColumn(k, "reqprid");
  1383. vReqPridNm = eval(sPath).getColumn(k, "reqpridnm");
  1384. if(!utlf_isNull(vReqPridNm) && utlf_isNull(eval(tPath).lookup("value", vReqPrid, "value"))) {
  1385. eval(cPath).setColumn( 0, "value", vReqPrid);
  1386. eval(cPath).setColumn( 0, "label", vReqPridNm);
  1387. eval(tPath).addRow();
  1388. eval(tPath).copyRow(Idx, eval(cPath), 0);
  1389. Idx++;
  1390. }
  1391. }
  1392. }
  1393. if(ds_send_goodlist.getColumn(0, "purcdeptflag") == "P"){//구매부서구분:P
  1394. var codynode = eval(tPath).rowcount;
  1395. if(codynode < 1) {
  1396. eval(cPath).setColumn( 0, "value", 1);
  1397. eval(cPath).setColumn( 0, "label", 일);
  1398. eval(tPath).addRow();
  1399. eval(tPath).copyRow(0, eval(cPath), 0);
  1400. eval(cPath).setColumn( 0, "value", 4);
  1401. eval(cPath).setColumn( 0, "label", 월);
  1402. eval(tPath).addRow();
  1403. eval(tPath).copyRow(1, eval(cPath), 0);
  1404. eval(cPath).setColumn( 0, "value", 2);
  1405. eval(cPath).setColumn( 0, "label", 주);
  1406. eval(tPath).addRow();
  1407. eval(tPath).copyRow(2, eval(cPath), 0);
  1408. }
  1409. }
  1410. grp_sea.cmb_reqpridflag.index = 0;
  1411. }
  1412. /****************************************************************************************
  1413. * Argument : N/A
  1414. * Description : 청구승인자 Check
  1415. ****************************************************************************************/
  1416. function fPurcAuthInfo() {
  1417. vPurcAuth = "1";
  1418. grp_main.grp_button.ckb_accept.value = "";
  1419. var sPath = "ds_main_ReqpsnLists_reqpsnlist";
  1420. var iDataCnt = eval(sPath).rowcount;
  1421. if (iDataCnt < 1) {
  1422. return;
  1423. }
  1424. eval(tPath).clearData();
  1425. var tReqDept = grp_sea.cmb_reqdeptcd.value; // 청구부서
  1426. var tReqprid = grp_sea.cmb_reqpridflag.value; // 청구주기
  1427. for (var k = 0; k < iDataCnt; k++){
  1428. vReqDept = eval(sPath).getColumn(k, "reqdeptcd"); // 청구부서
  1429. vReqprid = eval(sPath).getColumn(k, "reqprid"); // 청구주기
  1430. if ((vReqDept == tReqDept) &&
  1431. (vReqprid == tReqprid) ) {
  1432. if (eval(sPath).getColumn(k, "reqaprvflag") == "2") {
  1433. vPurcAuth = "2";
  1434. grp_main.grp_button.ckb_accept.value = "Y";
  1435. break;
  1436. }
  1437. }
  1438. }
  1439. }
  1440. /****************************************************************************************
  1441. * Argument : pReqDept : 부서코드
  1442. * : pReqprid : 청구번호
  1443. * : pReqFlag : 청구구분
  1444. * Description : 청구승인자 Check Row별 Check
  1445. ****************************************************************************************/
  1446. function fPurcAuthInfoRow(pReqDept,pReqprid,pReqFlag) {
  1447. var sPath = "ds_main_ReqpsnLists_reqpsnlist";
  1448. var vReqAuth = eval(sPath).lookupExpr("reqdeptcd=='"+pReqDept+"' && reqprid=='"+pReqprid+"' && reqflag=='"+pReqFlag+"'","reqaprvflag"); // 청구권한
  1449. vReqAuth = (vReqAuth == "") ? "1" : vReqAuth;
  1450. return vReqAuth;
  1451. }
  1452. /****************************************************************************************
  1453. * Argument : N/A
  1454. * Description :
  1455. ****************************************************************************************/
  1456. function fDeptReqNoQuery() {
  1457. if (utlf_transNullToEmpty(grp_sea.cmb_reqdeptcd.value) != "" && // 청구부서
  1458. utlf_transNullToEmpty(grp_sea.cmb_reqpridflag.value)!= "" && // 청구주기
  1459. utlf_transNullToEmpty(grp_sea.ipt_reqdd.value) != "" && // 청구일자
  1460. utlf_transNullToEmpty(grp_sea.cmb_workflag.value) != "" ) // 작업구분 의 값이 모두 있을 때 청구 번호를 가져온다. [20080129 YYJ]
  1461. {
  1462. var oParam = {};
  1463. oParam.id = "TRRSD00408";
  1464. oParam.service = "reqapp.ReqMngt";
  1465. oParam.method = "reqGetDeptReqNo";
  1466. oParam.inds = "req=ds_send_goodreq";
  1467. oParam.outds = "ds_main_DeptReqnoLists_reqnolist=reqnolist";
  1468. oParam.async = false;
  1469. //oParam.callback = "cf_TRRSD00408";
  1470. tranf_submit(oParam);
  1471. var nodelist = ds_main_DeptReqnoLists_reqnolist.rowcount;
  1472. if(nodelist < 1){
  1473. dsf_makeValue( ds_main_DeptReqnoLists_reqnolist, "reqno", "string", "0001");
  1474. }
  1475. grp_sea.cmb_reqno.index = 0;
  1476. }
  1477. }
  1478. // 청구 구분 Check
  1479. function fReqFlagCheck(){
  1480. if(model.getValue(cmb_reqflag.attribute("ref")) == 'H'){
  1481. grd_goodreq.colHidden(grd_goodreq.colRef("rgstqty")) = false;
  1482. }else{
  1483. grd_goodreq.colHidden(grd_goodreq.colRef("rgstqty")) = true;
  1484. }
  1485. /* 위의 select(0); 에서 cmb_reqpridflag value가 있으면 reqpridflag xforms-value_changed 가 발생한다.
  1486. */
  1487. // opt_goodflag.value = rszfGetGoodFlagByReqFlag(opt_instcd.value,cmb_reqflag.value);
  1488. fGoodListKeySet(); // 물품검색 기본 KEY SET
  1489. if (model.getValue(cmb_reqpridflag.attribute("ref")).length == 0 ) {
  1490. fSetReqAuth();
  1491. btn_search.dispatch("DOMActivate");
  1492. }
  1493. //청구 마지막 일자 조회.
  1494. fLastDaySearch();
  1495. //청구일자 기한체크.
  1496. if(fLastDayCheck())
  1497. {
  1498. messageBox("불출부서의 청구일자기한을 벗어났습니다. \n 다시 입력 하세요.", "");
  1499. model.setValue(ipt_reqdd.attribute("ref"), model.getValue(ipt_todd.attribute("ref")) );
  1500. return;
  1501. }
  1502. }
  1503. // 청구 구분 Check
  1504. function fReqFlagCheck_bak(){
  1505. if(model.getValue(cmb_reqflag.attribute("ref")) == 'H'){
  1506. grd_goodreq.colHidden(grd_goodreq.colRef("rgstqty")) = false;
  1507. }else{
  1508. grd_goodreq.colHidden(grd_goodreq.colRef("rgstqty")) = true;
  1509. }
  1510. //청구부서 청구권/승인권 부서 조회.
  1511. rszfReqDeptGetComboList("cmb_reqdeptcd", model.getValue(opt_instcd.attribute("ref")), getUserInfo("userid"), model.getValue(cmb_reqflag.attribute("ref")));
  1512. model.setValue(cmb_reqpridflag.attribute("ref"), "");
  1513. rszfComboReqPridList(cmb_reqpridflag,model.getValue(opt_instcd.attribute("ref")),model.getValue(cmb_reqflag.attribute("ref")));
  1514. cmb_reqpridflag.refresh();
  1515. cmb_reqpridflag.select(0);
  1516. /* 위의 select(0); 에서 cmb_reqpridflag value가 있으면 reqpridflag xforms-value_changed 가 발생한다.
  1517. */
  1518. model.setValue(opt_goodflag.attribute("ref") , rszfGetGoodFlagByReqFlag(model.getValue(opt_instcd.attribute("ref")),model.getValue(cmb_reqflag.attribute("ref"))) );
  1519. fGoodListKeySet(); // 물품검색 기본 KEY SET
  1520. if (model.getValue(cmb_reqpridflag.attribute("ref")).length == 0 )
  1521. {
  1522. fSetReqAuth();
  1523. //btn_search.dispatch("DOMActivate");
  1524. }
  1525. //청구 마지막 일자 조회.
  1526. fLastDaySearch();
  1527. //청구일자 기한체크.
  1528. if(fLastDayCheck())
  1529. {
  1530. messageBox("불출부서의 청구일자기한을 벗어났습니다. \n 다시 입력 하세요.", "");
  1531. model.setValue(ipt_reqdd.attribute("ref"), model.getValue(ipt_todd.attribute("ref")) );
  1532. return;
  1533. }
  1534. }
  1535. // 청구구분
  1536. var tReqFlagData = "A." // 01 Y 의료소모품
  1537. + "B." // 02 Z 일반소모품
  1538. + "C." // 03 K 의료비품
  1539. + "D." // 04 G 일반비품
  1540. + "E." // 05 P 약품및재료
  1541. + "F." // 06 P 제제약품
  1542. + "G." // 07 E 장비
  1543. + "H." // 08 P 수액
  1544. + "I." // 09 P 조영제
  1545. + "S." // 10 B 수리관리
  1546. + "X." // 11 T 교환물품
  1547. + "Y." // 12 T 청구물품
  1548. + "Z" ; // 13 T 멸균의뢰
  1549. var tReqFlag = tReqFlagData.split(".");
  1550. // 물품구분
  1551. // [2010.08.26]AS-IS 코드 TO_BE 코드 전환을 위한 물품구분 변경 (goodflag= P) => (goodflag= PH)
  1552. var tGoodFlagData = "Y." // 01 의료소모품
  1553. + "Z." // 02 일반소모품
  1554. + "U." // 03 의료비품
  1555. + "GE." // 04 일반비품
  1556. + "PH." // 05 약품
  1557. + "PH." // 06 약품
  1558. + "PH." // 07 약품및재료
  1559. + "PH." // 08 약품
  1560. + "PH." // 09 약품
  1561. + "BC." // 10 수리부품
  1562. + "TM." // 11 공급실물품
  1563. + "TM." // 12 공급실물품
  1564. + "TM" ; // 13 공급실물품
  1565. var tGoodFlag = tGoodFlagData.split(".");
  1566. var tPath = "/root/init/cmb_goodflag";
  1567. var sPath = "/root/init/cmb_goodflagcopy";
  1568. //
  1569. function fReqFagChange(pReqFlag) {
  1570. for (i = 0; i < tReqFlag.length; i++) {
  1571. if (tReqFlag[i] == pReqFlag) {
  1572. model.setValue(cmb_goodflag.attribute("ref"), tGoodFlag[i] );
  1573. // alert(tGoodFlag[i]);
  1574. cmb_goodflag.refresh();
  1575. break;
  1576. }
  1577. }
  1578. // cmb_goodflag.select(0); //청구구분
  1579. }
  1580. /****************************************************************************************
  1581. * Argument : goodflag
  1582. * Description : 부서찾기 기능 설정(구매팀일경우에만),2010-10-18 물품구분 약국담당자일 때 약품으로 셋팅
  1583. ****************************************************************************************/
  1584. function fSetTempDept(goodflag) {
  1585. if((sysf_getUserInfo("dutplcecd")=="3242400000")||(sysf_getUserInfo("dutplcecd")=="3240300000")||(sysf_getUserInfo("dutplcecd")=="3240400000")
  1586. ||(sysf_getUserInfo("dutplcecd")=="3240807000")||(goodflag=="PH")){
  1587. //2011.03.22 비치약품청구 및 응급약물청구시 낱개단위로 청구 가능하게 약무팀 요청
  1588. var sWorkFlag = ds_send_goodreq.getColumn(0, "workflag");
  1589. if((sWorkFlag=="2")||(sWorkFlag=="3")||(sWorkFlag=="4")||(sWorkFlag=="5")){
  1590. grp_main.grd_goodreq.setFormatColProperty(grp_main.grd_goodreq.getBindCellIndex("body","exchqty"),"size",0);
  1591. grp_main.grd_goodreq.setFormatColProperty(grp_main.grd_goodreq.getBindCellIndex("body","reqpackqty"),"size",0);
  1592. grp_main.grd_goodreq.setFormatColProperty(grp_main.grd_goodreq.getBindCellIndex("body","reqpackunit"),"size",0);
  1593. grp_main.grd_goodreq.setFormatColProperty(grp_main.grd_goodreq.getBindCellIndex("body","reqqty"),"size",58);
  1594. grp_main.grd_goodreq.setFormatColProperty(grp_main.grd_goodreq.getBindCellIndex("body","requnit"),"size",43);
  1595. }else{
  1596. grp_main.grd_goodreq.setFormatColProperty(grp_main.grd_goodreq.getBindCellIndex("body","exchqty"),"size",62);
  1597. grp_main.grd_goodreq.setFormatColProperty(grp_main.grd_goodreq.getBindCellIndex("body","reqpackqty"),"size",58);
  1598. grp_main.grd_goodreq.setFormatColProperty(grp_main.grd_goodreq.getBindCellIndex("body","reqpackunit"),"size",43);
  1599. grp_main.grd_goodreq.setFormatColProperty(grp_main.grd_goodreq.getBindCellIndex("body","reqqty"),"size",0);
  1600. grp_main.grd_goodreq.setFormatColProperty(grp_main.grd_goodreq.getBindCellIndex("body","requnit"),"size",0);
  1601. }
  1602. ds_send_goodreq.setColumn( 0, "goodflag","PH");
  1603. ds_init.setColumn( 0, "goodflag" ,"PH");
  1604. rszfLMSComboList(gd_find.group2.cmb_goodflag.value, "", "", "gd_find.group2.ipt_lrgcd", "", "L","Y");
  1605. gd_find.group2.cap_edicd.visible = false;
  1606. gd_find.group2.ipt_edicd.visible = false;
  1607. gd_find.group2.cap_mngtcls.visible = true;
  1608. gd_find.group2.cmb_mngtcls.visible = true;
  1609. }else{
  1610. grp_main.grd_goodreq.setFormatColProperty(grp_main.grd_goodreq.getBindCellIndex("body","exchqty"),"size",0);
  1611. grp_main.grd_goodreq.setFormatColProperty(grp_main.grd_goodreq.getBindCellIndex("body","reqpackqty"),"size",0);
  1612. grp_main.grd_goodreq.setFormatColProperty(grp_main.grd_goodreq.getBindCellIndex("body","reqpackunit"),"size",0);
  1613. grp_main.grd_goodreq.setFormatColProperty(grp_main.grd_goodreq.getBindCellIndex("body","reqqty"),"size",58);
  1614. grp_main.grd_goodreq.setFormatColProperty(grp_main.grd_goodreq.getBindCellIndex("body","requnit"),"size",43);
  1615. if (goodflag=="init"){ //이걸 타는 경우가 없을듯. 아래행 데이터셋 존재하지 않음
  1616. //ds_init.setColumn( 0, "goodflag" ,ds_init_cmb_goodflag_comcodelist.getColumn(0,"cdid"));
  1617. ds_send_goodreq.setColumn( 0, "goodflag" ,gd_find.group2.cmb_goodflag.value);
  1618. rszfLMSComboList(gd_find.group2.cmb_goodflag.value, "", "", "gd_find.group2.ipt_lrgcd", "", "L","Y");
  1619. }else{
  1620. ds_send_goodreq.setColumn( 0, "goodflag" ,cmb_goodflag.value);
  1621. ds_init.setColumn( 0, "goodflag" ,cmb_goodflag.value);
  1622. }
  1623. gd_find.group2.cap_edicd.visible = true;
  1624. gd_find.group2.ipt_edicd.visible = true;
  1625. gd_find.group2.cap_mngtcls.visible = false;
  1626. gd_find.group2.cmb_mngtcls.visible = false;
  1627. }
  1628. ds_send_goodlist.setColumn( 0, "purcdeptflag" , "X"); //구매부서구분 : P
  1629. }
  1630. /****************************************************************************************
  1631. * Argument : N/A
  1632. * Description : 조회해온 부서를 청구부서 콤보에 붙이는 함수
  1633. ****************************************************************************************/
  1634. function fAddReqDeptcdCombo() {
  1635. //tempdeptcd에 값을 reqdetpcd(청구부서) 콤보에 값을 부어준다 (makevaluie)
  1636. var cPath = "ds_init_CopyData" //임시카피노드
  1637. var sPath = "ds_tempdept"; //서버에서가져온부서정보노드
  1638. var tPath = "ds_init_ReqDeptLists_reqdeptlist"; //청구부서 콤보노드
  1639. var iDataCnt = eval(sPath).rowcount; //서버에서 가져온 부서정보노드(무조건 1 아님 0)
  1640. if ( iDataCnt < 1)
  1641. {
  1642. return;
  1643. }
  1644. var ComboDataCnt = parseInt( eval(tPath).rowcount ); //콤보에 노드길이(숫자형으로형변환)
  1645. var vTempDeptCd = eval(sPath).getColumn(0,"tempdeptcd");
  1646. var vTempDeptNm = eval(sPath).getColumn(0,"tempdeptnm");
  1647. if ( !utlf_isNull(vTempDeptCd) )
  1648. {
  1649. eval(cPath).setColumn( 0, "value", vTempDeptCd);
  1650. eval(cPath).setColumn( 0, "label", vTempDeptNm);
  1651. eval(tPath).addRow();
  1652. eval(tPath).copyRow(ComboDataCnt, cPath, 0); //노드에 데이터 부어줌
  1653. grp_sea.cmb_reqdeptcd.index = ComboDataCnt;
  1654. }
  1655. }
  1656. function fSapReqSetting (fValue) {
  1657. var vPath = "/root/init/workflag/workflaglist";
  1658. var iDataCnt = parseInt( getNodesetCount(vPath) ); // 작업 구분 하위를 가져옴
  1659. var updtdata = getGridUpdateData(grd_goodreq);
  1660. if ( updtdata != "") {
  1661. var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 수액청구를 변경","Q003");
  1662. if (ret != 6) {
  1663. if( fValue == "Y" )
  1664. ckb_sapreq.value = "N";
  1665. else
  1666. ckb_sapreq.value = "Y";
  1667. ckb_sapreq.refresh();
  1668. return;
  1669. } else {
  1670. misfGridInit(grd_goodreq);
  1671. fSapReqSetting (fValue);
  1672. if (cmb_reqno.value != "")
  1673. btn_search.dispatch("DOMActivate");
  1674. } // if not OK
  1675. }else{
  1676. if( fValue == "Y" || model.getXPathValue(vPath+"[value='6']/value") =="" ) {
  1677. cmb_workflag.disabled="true" ;
  1678. model.makeValue(vPath+"[" +(iDataCnt+1)+ "]/value", "6" ); // 작업구분 처방 청구 추가
  1679. model.makeValue(vPath+"[" +(iDataCnt+1)+ "]/label", "처방청구"); // 작업구분 처방 청구 추가
  1680. model.setValue("/root/send/goodreq/reqflag" , "H" ); // 청구방법 수액
  1681. cmb_workflag.refresh();
  1682. cmb_workflag.select(iDataCnt);
  1683. } else if (fValue != "Y" || model.getXPathValue(vPath+"[value='6']/value") !="") {
  1684. cmb_workflag.disabled="false" ;
  1685. model.removeNodeset(vPath+"["+ model.getXPathValue(vPath+"[value='6']/value") +"]");
  1686. model.setValue("/root/send/goodreq/reqflag","");
  1687. cmb_workflag.select(0);
  1688. }
  1689. } // if updtdata
  1690. }
  1691. /****************************************************************************************
  1692. * Argument : N/A
  1693. * Description : 조회버튼 Click 처리
  1694. ****************************************************************************************/
  1695. function fSearchButtonClick(fValue) {
  1696. if(fCheckRetrieveData(false) == false) return;
  1697. if(utlf_isNull(grp_sea.cmb_reqno.value)) grp_sea.ipt_reqdd.value = utlf_getCurrentDate();
  1698. var oParam = {};
  1699. oParam.id = "TRRSD10102";
  1700. oParam.service = "reqapp.ReqMngt";
  1701. oParam.method = "reqGetReqDrugGoodInfo";
  1702. oParam.inds = "req=ds_send_goodreq";
  1703. oParam.outds = "ds_main_list_goodreq_goodreqlist=goodreqlist";
  1704. oParam.async = false;
  1705. oParam.callback = "cf_TRRSD10102";
  1706. tranf_submit(oParam);
  1707. if(arErrorCode.pop("TRRSD10102") > -1) {
  1708. misfSetGridColor(grp_main.grd_goodreq, "reqpackqty", "#ffff99", "B");
  1709. misfSetGridColor(grp_main.grd_goodreq, "orgdeliveqty", "#ccff99", "B");
  1710. misfSetGridColor(grp_main.grd_goodreq, "stocqty", "#ccff99", "B");
  1711. }
  1712. }
  1713. function cf_TRRSD10102(sSvcId, nErrorCode, sErrorMsg) {
  1714. arErrorCode.push(sSvcId, nErrorCode);
  1715. }
  1716. /****************************************************************************************
  1717. * Argument : N/A
  1718. * Description : Data 저장 하기 위한 Check
  1719. ****************************************************************************************/
  1720. function fSaveData() {
  1721. fConfirmSaveData(); // Data를 저장한다. //// 저장하는 부분
  1722. }
  1723. /****************************************************************************************
  1724. * Argument : N/A
  1725. * Description : 청구 Data 저장
  1726. ****************************************************************************************/
  1727. function fConfirmSaveData() {
  1728. // 저장전 Data를 Check한다.
  1729. if (fCheckSaveData() == false) return;
  1730. ds_send_save_autoaprv.setColumn( 0, "instcd" ,grp_sea.opt_instcd.value); // 기관코드
  1731. ds_send_save_autoaprv.setColumn( 0, "reqdeptcd",grp_sea.cmb_reqdeptcd.value); // 청구부서
  1732. var cnt = 0;
  1733. var vReqdd = ""; // 청구일자
  1734. vReqdd = grp_sea.ipt_reqdd.value;
  1735. ds_send_save_autoaprv.setColumn( 0, "reqdd", vReqdd); // 청구일자
  1736. ds_main_list_goodreq_goodreqlist.addColumn("reqpsnid", "string");
  1737. ds_main_list_goodreq_goodreqlist.addColumn("reqdeptcd","string");
  1738. ds_main_list_goodreq_goodreqlist.addColumn("reqdd", "string");
  1739. ds_main_list_goodreq_goodreqlist.addColumn("reqno", "string");
  1740. ds_main_list_goodreq_goodreqlist.addColumn("workflag", "string");
  1741. ds_main_list_goodreq_goodreqlist.addColumn("reqpridflag", "string");
  1742. ds_main_list_goodreq_goodreqlist.addColumn("deliveflag", "string");
  1743. ds_main_list_goodreq_goodreqlist.addColumn("reqmthdflag","string");
  1744. var reqpackqty="";
  1745. for (var fRow = 0; fRow < ds_main_list_goodreq_goodreqlist.rowcount; fRow++) {
  1746. reqpackqty = ds_main_list_goodreq_goodreqlist.getColumn(fRow, "reqpackqty");
  1747. if(reqpackqty == 0 || utlf_isNull(reqpackqty) ) {
  1748. cnt++;
  1749. }
  1750. ds_main_list_goodreq_goodreqlist.setColumn(fRow, "reqpsnid", ds_init.getColumn(0, "requserno"));
  1751. ds_main_list_goodreq_goodreqlist.setColumn(fRow, "reqdeptcd", ds_send_goodreq.getColumn(0, "reqdeptcd"));
  1752. ds_main_list_goodreq_goodreqlist.setColumn(fRow, "reqdd", ds_send_goodreq.getColumn(0, "reqdd"));
  1753. ds_main_list_goodreq_goodreqlist.setColumn(fRow, "reqno", ds_send_goodreq.getColumn(0, "reqno"));
  1754. ds_main_list_goodreq_goodreqlist.setColumn(fRow, "workflag", ds_send_goodreq.getColumn(0, "workflag"));
  1755. ds_main_list_goodreq_goodreqlist.setColumn(fRow, "reqpridflag", ds_send_goodreq.getColumn(0, "reqpridflag"));
  1756. ds_main_list_goodreq_goodreqlist.setColumn(fRow, "deliveflag", "1");
  1757. ds_main_list_goodreq_goodreqlist.setColumn(fRow, "reqmthdflag", "3");
  1758. }
  1759. if(cnt > 0) {
  1760. sysf_messageBox("청구수량을 입력하세요.","E");
  1761. return;
  1762. }
  1763. // 동시 승인여부
  1764. var dsUpdate = grdf_getGridUpdateData(grp_main.grd_goodreq, "all");
  1765. grdf_setStatusColumn(dsUpdate, "status");
  1766. ds_send_save_goodreqlist.copyData(dsUpdate, true);
  1767. // 일청구는 자동 승인한다.
  1768. if (grp_sea.cmb_reqpridflag.value == "1") {
  1769. ds_send_save_autoaprv.setColumn( 0, "autoaprvyn", "Y");
  1770. } else {
  1771. // ===============================================
  1772. // 구매팀의 경우는 동시 승인 가능하게 처리합니다.
  1773. // ===============================================
  1774. if (gPurcDeptcd == sysf_getUserInfo("dutplcecd") ){
  1775. if (grp_main.grp_button.ckb_accept.value == "Y") {
  1776. var ret = sysf_messageBox("구매팀인 경우만 권한 상관없이 동시승인 가능합니다!! ","Q003");
  1777. if (ret == 6) {
  1778. ds_send_save_autoaprv.setColumn( 0, "autoaprvyn", "Y");
  1779. } else {
  1780. ds_send_save_autoaprv.setColumn( 0, "autoaprvyn", "N");
  1781. } // end if
  1782. } else {
  1783. ds_send_save_autoaprv.setColumn( 0, "autoaprvyn", "N");
  1784. } // end if
  1785. } else {
  1786. ds_send_save_autoaprv.setColumn( 0, "autoaprvyn","N");
  1787. } // end if
  1788. } // end if
  1789. var oParam = {};
  1790. oParam.id = "TXRSD00411";
  1791. oParam.service = "reqapp.ReqMngt";
  1792. oParam.method = "reqExeSaveGoodReqNew";
  1793. oParam.inds = "req=ds_send_save_goodreqlist autoaprv=ds_send_save_autoaprv";
  1794. oParam.outds = "ds_hidden_temp_goodmaxreqno=goodmaxreqno";
  1795. oParam.async = false;
  1796. oParam.callback = "cf_TXRSD00411";
  1797. tranf_submit(oParam);
  1798. if(arErrorCode.pop("TXRSD00411") > -1) {
  1799. grp_sea.btn_search.click();
  1800. }
  1801. }
  1802. function cf_TXRSD00411(sSvcId, nErrorCode, sErrorMsg) {
  1803. arErrorCode.push(sSvcId, nErrorCode);
  1804. var ReqnoNew = ds_send_save_autoaprv.getColumn(0, "reqnonew");
  1805. if(ReqnoNew == "Y"){
  1806. ds_send_save_autoaprv.setColumn( 0, "reqnonew", "");
  1807. }
  1808. }
  1809. /****************************************************************************************
  1810. * Argument : N/A
  1811. * Description : 약품일‹š만 포장수량 입력시 낱개수량 자동 계산
  1812. ****************************************************************************************/
  1813. function fCalcReqQty(){
  1814. if(grp_main.grd_goodreq.currentcol == grp_main.grd_goodreq.getBindCellIndex("body","reqpackqty")) {
  1815. var exchqty = parseFloat(ds_main_list_goodreq_goodreqlist.getColumn(ds_main_list_goodreq_goodreqlist.rowposition,"exchqty"));
  1816. var reqpackqty = parseFloat(ds_main_list_goodreq_goodreqlist.getColumn(ds_main_list_goodreq_goodreqlist.rowposition,"reqpackqty"));
  1817. ds_main_list_goodreq_goodreqlist.setColumn(ds_main_list_goodreq_goodreqlist.rowposition,"reqqty",reqpackqty*exchqty);
  1818. if(ds_main_list_goodreq_goodreqlist.rowposition < ds_main_list_goodreq_goodreqlist.rowcount-1)
  1819. {
  1820. ds_main_list_goodreq_goodreqlist.rowposition = ds_main_list_goodreq_goodreqlist.rowposition + 1;
  1821. grp_main.grd_goodreq.setFocus();
  1822. grp_main.grd_goodreq.setCellPos(grp_main.grd_goodreq.getBindCellIndex("body","reqpackqty"));
  1823. grp_main.grd_goodreq.showEditor(true);
  1824. }
  1825. }
  1826. }
  1827. /****************************************************************************************
  1828. * Argument : N/A
  1829. * Description : repeatlist 조회
  1830. ****************************************************************************************/
  1831. function fRepeatReqSearch()
  1832. {
  1833. var spath = "ds_send_repeatreq";
  1834. eval(spath).setColumn(0, "instcd" , grp_sea.opt_instcd.value);
  1835. eval(spath).setColumn(0, "reqdeptcd" , grp_sea.cmb_reqdeptcd.value);
  1836. eval(spath).setColumn(0, "goodflag" , grp_sea.sel_goodflag.value);
  1837. var oParam = {};
  1838. oParam.id = "TRRSD00500";
  1839. oParam.service = "reqapp.ReqMngt";
  1840. oParam.method = "reqGetIRepeatReq";
  1841. oParam.inds = "req=ds_send_repeatreq";
  1842. oParam.outds = "ds_main_list_repeatreq_repeatlist=repeatlist";
  1843. oParam.async = false;
  1844. //oParam.callback = "cf_TRRSD00500";
  1845. tranf_submit(oParam);
  1846. grp_repeat.visible = true;
  1847. }
  1848. /****************************************************************************************
  1849. * Argument : N/A
  1850. * Description : 필수값 체크
  1851. ****************************************************************************************/
  1852. function fValMain()
  1853. {
  1854. var smsg = "";
  1855. if(utlf_isNull(grp_sea.ipt_reqdd.value)) smsg += "청구일자, ";
  1856. if(utlf_isNull(grp_sea.cmb_reqdeptcd.value)) smsg += "청구부서, ";
  1857. if(utlf_isNull(grp_sea.sel_goodflag.value)) smsg += "물품구분, ";
  1858. if (utlf_isNull(smsg)){
  1859. return true;
  1860. }else{
  1861. sysf_messageBox(smsg.substr(0, smsg.length-2) + "은(는)","I003");
  1862. return false;
  1863. }
  1864. }
  1865. /**
  1866. * @ver : 2010-11-08
  1867. * @desc : Repeat 청구로부터 추가
  1868. * @param :
  1869. * @return :
  1870. * @---------------------------------------------------
  1871. */
  1872. function fAddFromRepeatReq(prow) {
  1873. var chkNode = instance1.selectNodes(grd_goodreq.nodeset + "[goodcd = '" + model.getValue(grd_repeat.nodeset +"[" + prow + "]/goodcd") + "']");
  1874. if(chkNode.length > 0){
  1875. messageBox("물품코드 [" + model.getValue(grd_repeat.nodeset +"[" + prow + "]/goodcd") + "]는","E006");
  1876. return;
  1877. }
  1878. grd_goodreq.addrow(false);
  1879. var row = grd_goodreq.rows-grd_goodreq.fixedrows;
  1880. fDefaultSetting(row);
  1881. model.setValue(grd_goodreq.nodeset +"[" + row + "]/goodcd" , model.getValue(grd_repeat.nodeset +"[" + prow + "]/goodcd"));
  1882. model.setValue(grd_goodreq.nodeset +"[" + row + "]/goodnm" , model.getValue(grd_repeat.nodeset +"[" + prow + "]/goodnm"));
  1883. model.setValue(grd_goodreq.nodeset +"[" + row + "]/goodspec" , model.getValue(grd_repeat.nodeset +"[" + prow + "]/goodspec"));
  1884. model.setValue(grd_goodreq.nodeset +"[" + row + "]/reqqty" , model.getValue(grd_repeat.nodeset +"[" + prow + "]/reqqty"));
  1885. model.setValue(grd_goodreq.nodeset +"[" + row + "]/requnit" , model.getValue(grd_repeat.nodeset +"[" + prow + "]/requnit"));
  1886. //model.setValue(grd_goodreq.nodeset +"[" + row + "]/deptaprvyn" , model.getValue(grd_repeat.nodeset +"[" + prow + "]/deptaprvyn"));
  1887. //model.setValue(grd_goodreq.nodeset +"[" + row + "]/deptaprvnm" , model.getValue(grd_repeat.nodeset +"[" + prow + "]/deptaprvnm"));
  1888. model.setValue(grd_goodreq.nodeset +"[" + row + "]/reqpsnid" , getUserInfo("userid"));
  1889. model.setValue(grd_goodreq.nodeset +"[" + row + "]/reqpsnnm" , getUserInfo("usernm"));
  1890. model.setValue(grd_goodreq.nodeset +"[" + row + "]/cmt" , model.getValue(grd_repeat.nodeset +"[" + prow + "]/cmt"));
  1891. model.setValue(grd_goodreq.nodeset +"[" + row + "]/winacnt" , model.getValue(grd_repeat.nodeset +"[" + prow + "]/winacnt"));
  1892. model.setValue(grd_goodreq.nodeset +"[" + row + "]/goodflag" , model.getValue(grd_repeat.nodeset +"[" + prow + "]/goodflag"));
  1893. cmb_wareflag.disabled = true;
  1894. model.refresh();
  1895. }
  1896. /****************************************************************************************
  1897. * Argument : N/A
  1898. * Description : Repeat 청구로부터 추가
  1899. ****************************************************************************************/
  1900. function fAddFromRepeatReq1(prow) {
  1901. var chkNode = ds_main_list_goodreq_goodreqlist.getCaseCount("goodcd == '"+ds_main_list_repeatreq_repeatlist.getColumn(prow, "goodcd")+"'");
  1902. if(chkNode > 0){
  1903. sysf_sysf_messageBox("물품코드 [" + ds_main_list_repeatreq_repeatlist.getColumn(prow, "goodcd") + "]는","E006");
  1904. return;
  1905. }
  1906. var row = ds_main_list_goodreq_goodreqlist.addRow();
  1907. var repinstcd = grp_sea.opt_instcd.value;
  1908. var repreqqty = ds_main_list_repeatreq_repeatlist.getColumn(prow, "reqqty");
  1909. var repgoodcd = ds_main_list_repeatreq_repeatlist.getColumn(prow, "goodcd");
  1910. var repreqpackqty = ds_main_list_repeatreq_repeatlist.getColumn(prow, "reqpackqty");
  1911. ds_temp_repdata.setColumn( 0, "instcd" , repinstcd);
  1912. ds_temp_repdata.setColumn( 0, "goodcd" , repgoodcd);
  1913. ds_temp_repdata.setColumn( 0, "goodflag" , "PH");
  1914. ds_temp_repdata.setColumn( 0, "reqqty" , repreqqty);
  1915. ds_temp_goodlist.clearData();
  1916. var oParam = {};
  1917. oParam.id = "TRRSD00501";
  1918. oParam.service = "purccommonapp.PurcCommon";
  1919. oParam.method = "reqGetGoodListByCond";
  1920. oParam.inds = "req=ds_temp_repdata";
  1921. oParam.outds = "ds_temp_goodlist=goodlist";
  1922. oParam.async = false;
  1923. oParam.callback = "cf_TRRSD00501";
  1924. tranf_submit(oParam);
  1925. if(arErrorCode.pop("TRRSD00501") > -1) {
  1926. fDefaultSetting(row);
  1927. if(ds_temp_goodlist.rowcount < 1) return;
  1928. ds_main_list_goodreq_goodreqlist.setColumn(row,"goodflag" , "PH");
  1929. ds_main_list_goodreq_goodreqlist.setColumn(row,"goodcd" , ds_temp_goodlist.getColumn(0, "goodcd"));
  1930. ds_main_list_goodreq_goodreqlist.setColumn(row,"goodnm" , ds_temp_goodlist.getColumn(0, "goodnm"));
  1931. ds_main_list_goodreq_goodreqlist.setColumn(row,"goodspec" , ds_temp_goodlist.getColumn(0, "goodspec"));
  1932. ds_main_list_goodreq_goodreqlist.setColumn(row,"goodmodel" , ds_temp_goodlist.getColumn(0, "goodmodel"));
  1933. ds_main_list_goodreq_goodreqlist.setColumn(row,"prodcmpynm" , ds_temp_goodlist.getColumn(0, "prodcmpynm"));
  1934. ds_main_list_goodreq_goodreqlist.setColumn(row,"setunit" , ds_temp_goodlist.getColumn(0, "setunit"));
  1935. ds_main_list_goodreq_goodreqlist.setColumn(row,"reqpackunit" , ds_temp_goodlist.getColumn(0, "purcunit"));
  1936. ds_main_list_goodreq_goodreqlist.setColumn(row,"winacnt" , ds_temp_goodlist.getColumn(0, "winacnt"));
  1937. ds_main_list_goodreq_goodreqlist.setColumn(row,"exchqty" , ds_temp_goodlist.getColumn(0, "exchqty"));
  1938. ds_main_list_goodreq_goodreqlist.setColumn(row,"deliveflag" , "1");
  1939. ds_main_list_goodreq_goodreqlist.setColumn(row,"reqdd" , grp_sea.ipt_reqdd.value);
  1940. ds_main_list_goodreq_goodreqlist.setColumn(row,"reqpridflag" , grp_sea.cmb_reqpridflag.value);
  1941. ds_main_list_goodreq_goodreqlist.setColumn(row,"reqdeptcd" , grp_sea.cmb_reqdeptcd.value);
  1942. ds_main_list_goodreq_goodreqlist.setColumn(row,"reqpsnid" , grp_sea.opt_requser.value);
  1943. ds_main_list_goodreq_goodreqlist.setColumn(row,"reqseqno" , fGetMaxReqNo());
  1944. ds_main_list_goodreq_goodreqlist.setColumn(row,"reqno" , grp_sea.cmb_reqno.value);
  1945. ds_main_list_goodreq_goodreqlist.setColumn(row,"predeptaprvyn" , "N");
  1946. ds_main_list_goodreq_goodreqlist.setColumn(row,"reqflag" , ds_temp_goodlist.getColumn(0, "reqflag"));
  1947. ds_main_list_goodreq_goodreqlist.setColumn(row,"delivedeptcd" , ds_temp_goodlist.getColumn(0, "reqfnldeptcd"));
  1948. ds_main_list_goodreq_goodreqlist.setColumn(row,"ddavguseqty" , ds_temp_goodlist.getColumn(0, "ddavguseqty"));
  1949. ds_main_list_goodreq_goodreqlist.setColumn(row,"basevol" , ds_temp_goodlist.getColumn(0, "basevol"));
  1950. ds_main_list_goodreq_goodreqlist.setColumn(row,"reqmthdflag" , "3");
  1951. ds_main_list_goodreq_goodreqlist.setColumn(row,"allsizeyn" , ds_temp_goodlist.getColumn(0, "allsizeyn"));
  1952. ds_main_list_goodreq_goodreqlist.setColumn(row,"reqcollcdeptcd" , ds_temp_goodlist.getColumn(0, "reqcollcdeptcd"));
  1953. ds_main_list_goodreq_goodreqlist.setColumn(row,"minexch" , ds_temp_goodlist.getColumn(0, "minexch"));
  1954. ds_main_list_goodreq_goodreqlist.setColumn(row,"reqpackqty" , 0 );
  1955. ds_main_list_goodreq_goodreqlist.setColumn(row,"rgstqty" , 0 );
  1956. ds_main_list_goodreq_goodreqlist.setColumn(row,"reqpackperunitqty" , ds_temp_goodlist.getColumn(0, "exchqty"));
  1957. ds_main_list_goodreq_goodreqlist.setColumn(row,"requnit" , ds_temp_goodlist.getColumn(0, "deliveunit"));
  1958. }
  1959. }
  1960. function cf_TRRSD00501(sSvcId, nErrorCode, sErrorMsg) {
  1961. arErrorCode.push(sSvcId, nErrorCode);
  1962. }
  1963. /****************************************************************************************
  1964. * Argument : N/A
  1965. * Description : 0인 수량 삭제
  1966. ****************************************************************************************/
  1967. function fZeroReqQtyDel(){
  1968. for(var fRow = 0; fRow < ds_main_list_goodreq_goodreqlist.rowcount; fRow++ ) {
  1969. var reqpackqty = parseInt(ds_main_list_goodreq_goodreqlist.getColumn(fRow, "reqpackqty"));
  1970. if(reqpackqty == 0){
  1971. grdf_setStatus(grp_main.grd_goodreq, "D", [fRow]);
  1972. }
  1973. }
  1974. }
  1975. /* ------------------------------------------------- */
  1976. /* ------End Of List ------------------------------- */
  1977. /* -------------------------------------------------- */ ]]></Script>