SMRSD00500.xjs 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[var xAuth = frmf_checkAuth("X");
  3. var pAuth = frmf_checkAuth("P");
  4. var gPurcAuth = "1"; // 권한CHECK
  5. var gInstcd = ""; // 기관코드
  6. var gReqdd = ""; // 청구일자
  7. var gReqdeptcd = ""; // 청구부서
  8. var gWorkflag = ""; // 작업구분
  9. var gReqpridflag = ""; // 청구주기구분
  10. var gPurcdeptflag = ""; // 구매부서구분 : P
  11. var gPurcDeptCd = "";
  12. var gcount = 0 ; //청구번호 읽기
  13. var gReqNoReadFlag = true; //청구번호 읽기
  14. var tPath = ds_init_cmb_goodflag;
  15. var sPath = ds_init_cmb_goodflagcopy;
  16. var tReqFlagData = "A." // 01 Y 의료소모품
  17. + "B." // 02 Z 일반소모품
  18. + "C." // 03 K 의료비품
  19. + "D." // 04 G 일반비품
  20. + "E." // 05 P 약품및재료
  21. + "F." // 06 P 제제약품
  22. + "G." // 07 E 장비
  23. + "H." // 08 P 수액
  24. + "I." // 09 P 조영제
  25. + "S." // 10 B 수리관리
  26. + "X." // 11 T 교환물품
  27. + "Y." // 12 T 청구물품
  28. + "Z" ; // 13 T 멸균의뢰
  29. var tReqFlag = tReqFlagData.split(".");
  30. function fInit()
  31. {
  32. fCheckAuth();
  33. fInitialize();
  34. return;
  35. }
  36. function fCheckAuth()
  37. {
  38. grp_sea.btn_search.enable = frmf_checkAuth("R") ;
  39. }
  40. function fInitialize()
  41. {
  42. ds_send_goodlist.clearData();
  43. ds_send_goodlist.addRow();
  44. ds_send_goodreq.clearData();
  45. ds_send_goodreq.addRow();
  46. swt_search.tabindex = 0;
  47. grp_button.ckb_accept.enable = false;
  48. misfGridInit(grd_goodreq);
  49. misfMsterDetailSet(grd_goodreq,null, "TRRSD00415" ,"Y");
  50. grp_sea.rdo_instcd.index = 0;
  51. gPurcDeptCd = rszfGetPurcDeptCd(sysf_getUserInfo("dutplceinstcd")); //구매 부서코드
  52. gPurcdeptflag = (gPurcDeptCd == sysf_getUserInfo("dutplcecd"))? "P" : "X"; //구매부서구분 : P
  53. ds_send_goodlist.setColumn(0, "purcdeptflag", gPurcdeptflag);
  54. grp_sea.opt_requser.value = sysf_getUserInfo("userid");
  55. grp_sea.opt_requsernm.value = sysf_getUserInfo("usernm");
  56. rszfComboBgcdBugtList("grp_sea.cmb_groupbugt", grp_sea.rdo_instcd.value, "1");
  57. rszfUserReqFlagList("swt_search.gd_find.group2.cmb_reqflag",sysf_getUserInfo("dutplceinstcd"),grp_sea.opt_requser.value, "1", "S" );
  58. grp_sea.ipt_reqdd.value = utlf_getCurrentDate();
  59. grp_sea.ipt_reqddnew.value = utlf_getCurrentDate();
  60. grp_sea.rdo_inputmethod.value = "1";
  61. grp_sea.opt_instcdgood.value = "103";
  62. grp_sea.cmb_reqpridflag.value = "4";
  63. if (ds_cmb_workflag.rowcount > 0)
  64. {
  65. grp_sea.cmb_workflag.index = 0;
  66. }
  67. swt_search.gd_find.grd_goodlist.setCellProperty("Head", 1, "text", 0);
  68. ds_send_reqpsn.setColumn(0, "instcd", grp_sea.opt_instcdgood.value );
  69. ds_send_reqpsn.setColumn(0, "emplno", grp_sea.opt_requser.value );
  70. var oParam = {};
  71. oParam.id = "TRRSD00407";
  72. oParam.service = "purcbaseapp.PurcBaseMngt";
  73. oParam.method = "reqGetReqPsnList";
  74. oParam.inds = "req=ds_send_reqpsn";
  75. oParam.outds = "ds_main_ReqpsnLists_reqpsnlist=reqpsnlist";
  76. oParam.async = false;
  77. //oParam.callback = "cf_TRRSD00407";
  78. tranf_submit(oParam);
  79. fReqdeptCopy();
  80. fSetReqAuth();
  81. fSetTempDept();
  82. gReqNoReadFlag = false; //청구번호 읽기
  83. fDeptReqNoQuery();
  84. }
  85. function fReqdeptCopy()
  86. {
  87. var cPath = ds_init_CopyData;
  88. var sPath = ds_main_ReqpsnLists_reqpsnlist;
  89. var tPath = ds_init_ReqDeptLists_reqdeptlist;
  90. var iDataCnt = sPath.rowcount;
  91. if (iDataCnt < 1)
  92. {
  93. return;
  94. }
  95. tPath.clearData();
  96. var iDataCnt = sPath.rowcount;
  97. if (!utlf_isNull(sPath.lookup("reqdeptcd", sysf_getUserInfo("dutplcecd"), "reqdeptnm")))
  98. {
  99. cPath.setColumn(0, "value", sPath.lookup("reqdeptcd", sysf_getUserInfo("dutplcecd"), "reqdeptcd"));
  100. cPath.setColumn(0, "label", sPath.lookup("reqdeptcd", sysf_getUserInfo("dutplcecd"), "reqdeptnm"));
  101. ds_init_ReqDeptLists_reqdeptlist.copyData(cPath);
  102. }
  103. for (var k = 0; k < iDataCnt; k++)
  104. {
  105. vReqDept = sPath.getColumn(k, "reqdeptcd");
  106. vReqDeptNm = sPath.getColumn(k, "reqdeptnm");
  107. if (!utlf_isNull(vReqDeptNm) && utlf_isNull(tPath.lookup("value", vReqDept, "value")))
  108. {
  109. cPath.setColumn(0, "value", vReqDept);
  110. cPath.setColumn(0, "label", vReqDeptNm);
  111. ds_init_ReqDeptLists_reqdeptlist.copyData(cPath);
  112. }
  113. }
  114. grp_sea.cmb_reqdeptcd.index = 0;
  115. }
  116. function fSetReqAuth()
  117. {
  118. grp_button.btn_excel.enable = false;
  119. grp_button.btn_insert.enable = false;
  120. grp_button.btn_delete.enable = false;
  121. grp_button.btn_choice.enable = false;
  122. grp_button.ckb_accept.enable = false;
  123. grp_button.ckb_accept.value = "N";
  124. grp_button.btn_accept.enable = false;
  125. grp_button.btn_save.enable = false;
  126. if(String(grp_sea.opt_instcdgood.value).length == 0) return;
  127. if(String(grp_sea.cmb_reqdeptcd.value).length == 0) return;
  128. if(String(grp_sea.cmb_reqpridflag.value).length == 0) return;
  129. fPurcAuthInfo();
  130. grp_button.btn_save.enable = true;
  131. grp_button.btn_excel.enable = true;
  132. grp_button.btn_insert.enable = true;
  133. grp_button.btn_delete.enable = true;
  134. grp_button.btn_choice.enable = true;
  135. if (gPurcdeptflag == "P")
  136. {
  137. gPurcAuth = "2";
  138. }
  139. if (gPurcAuth == "2")
  140. {
  141. grp_button.ckb_accept.value = "Y";
  142. grp_button.ckb_accept.enable = true;
  143. grp_button.btn_accept.enable = true;
  144. }
  145. fDeptReqNoQuery();
  146. }
  147. function fPurcAuthInfo()
  148. {
  149. gPurcAuth = "1";
  150. grp_button.ckb_accept.value = "" ;
  151. var sPath = ds_main_ReqpsnLists_reqpsnlist;
  152. var iDataCnt = sPath.rowcount;
  153. if (iDataCnt < 1)
  154. {
  155. return;
  156. }
  157. tPath.clearData();
  158. var iDataCnt = sPath.rowcount;
  159. var tReqDept = grp_sea.cmb_reqdeptcd.value;
  160. var tReqprid = grp_sea.cmb_reqpridflag.value;
  161. for (var k = 0; k < iDataCnt; k++)
  162. {
  163. vReqDept = sPath.getColumn(k, "reqdeptcd");
  164. vReqprid = sPath.getColumn(k, "reqprid");
  165. if ((vReqDept == tReqDept) && (vReqprid == tReqprid))
  166. {
  167. if (sPath.getColumn(k, "reqaprvflag") == "2")
  168. {
  169. gPurcAuth = "2";
  170. grp_button.ckb_accept.value = "Y";
  171. break;
  172. }
  173. }
  174. }
  175. }
  176. function fDeptReqNoQuery()
  177. {
  178. if (gReqNoReadFlag) return;
  179. if (!utlf_isNull(grp_sea.cmb_reqdeptcd.value) && !utlf_isNull(grp_sea.ipt_reqdd.value) && !utlf_isNull(grp_sea.cmb_workflag.value))
  180. {
  181. var oParam = {};
  182. oParam.id = "TRRSD00408";
  183. oParam.service = "reqapp.ReqMngt";
  184. oParam.method = "reqGetDeptReqNo";
  185. oParam.inds = "req=ds_send_goodreq";
  186. oParam.outds = "ds_main_DeptReqnoLists_reqnolist=reqnolist";
  187. oParam.async = false;
  188. //oParam.callback = "cf_TRRSD00408";
  189. tranf_submit(oParam);
  190. if(ds_main_DeptReqnoLists_reqnolist.rowcount < 1 )
  191. {
  192. grp_sea.chk_reqnonew.value = "Y";
  193. fNewReqNoVisibility();
  194. }
  195. else
  196. {
  197. grp_sea.chk_reqnonew.value = "";
  198. fNewReqNoVisibility();
  199. grp_sea.cmb_reqno.index = 0;
  200. }
  201. }
  202. }
  203. function fNewReqNoVisibility()
  204. {
  205. if (grp_sea.chk_reqnonew.value == "Y")
  206. {
  207. grp_sea.ipt_reqdd.visible = false;
  208. grp_sea.ipt_reqddnew.visible = true;
  209. grp_sea.ipt_reqddnew.value = utlf_getCurrentDate();
  210. }
  211. else
  212. {
  213. grp_sea.ipt_reqddnew.visible = false;
  214. grp_sea.ipt_reqdd.visible = true;
  215. }
  216. }
  217. function fSetTempDept()
  218. {
  219. if(gPurcdeptflag == "P")
  220. {
  221. cpt_dept.visible = true;
  222. ipt_tempdeptcd.visible = true;
  223. ipt_tempdeptnm.visible = true;
  224. grp_sea.btn_purcdept.visible = true;
  225. }
  226. else
  227. {
  228. cpt_dept.visible = false;
  229. ipt_tempdeptcd.visible = false;
  230. ipt_tempdeptnm.visible = false;
  231. grp_sea.btn_purcdept.visible = false;
  232. }
  233. }
  234. function fInstcdChange(pInstcd)
  235. {
  236. misfGridInit(grd_goodreq);
  237. if (pInstcd == "103")
  238. {
  239. grp_sea.cmb_studyinstcd.value = "";
  240. grp_sea.cmb_studyinstcd.enable = false;
  241. grp_sea.cmb_groupbugt.enable = true;
  242. }
  243. else
  244. {
  245. grp_sea.cmb_groupbugt.enable = false;
  246. grp_sea.cmb_studyinstcd.enable = true;
  247. grp_sea.cmb_studyinstcd.index = 0;
  248. fAcctDataClear();
  249. }
  250. grp_sea.ipt_stdysubjno.value = "";
  251. grp_sea.ipt_stdysubjnm.value = "";
  252. rszfUserReqFlagList("swt_search.gd_find.group2.cmb_reqflag", grp_sea.rdo_instcd.value, sysf_getUserInfo("userid"),"1","S");
  253. rszfComboBgcdBugtList("grp_sea.cmb_groupbugt", grp_sea.rdo_instcd.value, "1");
  254. }
  255. function fAcctDataClear()
  256. {
  257. ds_main_BugLists_bugtlist.clearData();
  258. grp_sea.cmb_bugtflag.value = "";
  259. grp_sea.opt_totamt.value = "";
  260. grp_sea.opt_projectid.value = "";
  261. grp_sea.opt_projectnm.value = "";
  262. grp_sea.opt_totamt.value = "";
  263. grp_sea.opt_bugtexpcamt.value = "";
  264. grp_sea.opt_bugtexecamt.value = "";
  265. grp_sea.opt_remainder.value = "";
  266. }
  267. function fWorkFlagChange()
  268. {
  269. misfGridInit(swt_search.gd_find.grd_goodlist);
  270. var updtdata = grdf_getGridUpdateData(grd_goodreq).rowcount;
  271. if ( cmbworkflagold != grp_sea.cmb_workflag.value )
  272. {
  273. if (updtdata != 0)
  274. {
  275. var ret = sysf_messageBox("그리드에 작업 중인 내용이 있습니다. 작업구분 변경을","Q003");
  276. if (ret != 6)
  277. {
  278. grp_sea.cmb_workflag.index = parseInt(cmbworkflagold)-1;
  279. return;
  280. }
  281. else
  282. {
  283. misfGridInit(grd_goodreq);
  284. fDeptReqNoQuery();
  285. if (!utlF_isNull(grp_sea.cmb_reqno.value))
  286. {
  287. grp_sea.btn_search.click();
  288. }
  289. } // end else
  290. } // end if
  291. } // end if
  292. }
  293. function fCheckRetrieveData(pmsg)
  294. {
  295. if(String(grp_sea.cmb_workflag.value).length == 0 )
  296. {
  297. if(pmsg == true)
  298. {
  299. sysf_messageBox("작업구분을 " ,"C002");
  300. grp_sea.cmb_workflag.setFocus();
  301. }
  302. return false;
  303. }
  304. if(String(grp_sea.opt_instcdgood.value).length== 0 )
  305. {
  306. if(pmsg == true)
  307. {
  308. sysf_messageBox("기관코드를 " ,"C002");
  309. grp_sea.opt_instcdgood.setFocus();
  310. }
  311. return false;
  312. }
  313. if(String(grp_sea.ipt_reqdd.value).length== 0 )
  314. {
  315. if(pmsg == true)
  316. {
  317. sysf_messageBox("청구일자를 " ,"C001");
  318. grp_sea.ipt_reqdd.setFocus();
  319. }
  320. return false;
  321. }
  322. if(String(grp_sea.cmb_reqpridflag.value).length== 0 )
  323. {
  324. if(pmsg == true)
  325. {
  326. sysf_messageBox("청구주기를 " ,"C002");
  327. grp_sea.cmb_reqpridflag.setFocus();
  328. }
  329. return false;
  330. }
  331. if(String(grp_sea.cmb_reqdeptcd.value).length== 0 )
  332. {
  333. if(pmsg == true)
  334. {
  335. sysf_messageBox("청구부서를 " ,"C002");
  336. grp_sea.cmb_reqdeptcd.setFocus();
  337. }
  338. return false;
  339. }
  340. if(String(grp_sea.opt_requser.value).length== 0 )
  341. {
  342. if(pmsg == true)
  343. {
  344. sysf_messageBox("청구자를 " ,"C002");
  345. grp_sea.opt_requser.setFocus();
  346. }
  347. return false;
  348. }
  349. return true;
  350. }
  351. function fNewReqNo()
  352. {
  353. fNewReqNoVisibility();
  354. if (grp_sea.chk_reqnonew.value == "Y" )
  355. {
  356. if (ds_main_list_goodreq_goodreqlist.rowcount == 0)
  357. {
  358. return;
  359. }
  360. RetCls = sysf_messageBox("조회된 자료를 현재일자로 신규 생성합니다","S001");
  361. if ( RetCls == 6)
  362. {
  363. grp_sea.chk_reqnonew.value = "Y";
  364. fNewReqNoVisibility();
  365. for (var i = 0; i < ds_main_list_goodreq_goodreqlist.rowcount; i++)
  366. {
  367. ds_main_list_goodreq_goodreqlist.updatecontrol = false;
  368. ds_main_list_goodreq_goodreqlist.setRowType(i, "i");
  369. ds_main_list_goodreq_goodreqlist.setColumn(i, "deptaprvyn", "N");
  370. ds_main_list_goodreq_goodreqlist.setColumn(i, "deptaprvdd", "");
  371. ds_main_list_goodreq_goodreqlist.setColumn(i, "deptaprvnm", "");
  372. if (ds_main_list_goodreq_goodreqlist.getColumn(i, "acptflag" ) == "Y")
  373. {
  374. ds_main_list_goodreq_goodreqlist.setColumn(i, "acptflag" , "N");
  375. ds_main_list_goodreq_goodreqlist.setColumn(i, "acptflagnm" , "미접수");
  376. ds_main_list_goodreq_goodreqlist.setColumn(i, "acptdd" , "");
  377. ds_main_list_goodreq_goodreqlist.setColumn(i, "acptcharid" , "");
  378. ds_main_list_goodreq_goodreqlist.setColumn(i, "purcdmnddd" , "");
  379. ds_main_list_goodreq_goodreqlist.setColumn(i, "purcdmndno" , "");
  380. ds_main_list_goodreq_goodreqlist.setColumn(i, "purcdmndseq" , "");
  381. ds_main_list_goodreq_goodreqlist.setColumn(i, "aprvyn" , "N");
  382. ds_main_list_goodreq_goodreqlist.setColumn(i, "deliveprcsflag" , "1");
  383. grd_goodreq.setCellProperty("Body", grd_goodreq.getBindCellIndex("Body", "deptaprvyn"), "edittype", "checkbox");
  384. misfSetReadOnlyCol(grd_goodreq, "all", "false", i);
  385. }
  386. }
  387. }
  388. else if ( RetCls == 7)
  389. {
  390. fNewReqNoVisibility();
  391. misfGridInit(grd_goodreq);
  392. }
  393. else
  394. {
  395. return;
  396. }
  397. }
  398. else
  399. {
  400. grp_sea.btn_search.click();
  401. if (ds_main_list_goodreq_goodreqlist.rowcount == 0)
  402. {
  403. return;
  404. }
  405. }
  406. }
  407. function fNewReqNoVisibility()
  408. {
  409. if (grp_sea.chk_reqnonew.value == "Y")
  410. {
  411. grp_sea.ipt_reqdd.visible = false;
  412. grp_sea.ipt_reqddnew.visible = true;
  413. grp_sea.ipt_reqddnew.value = utlf_getCurrentDate();
  414. }
  415. else
  416. {
  417. grp_sea.ipt_reqddnew.visible = false;
  418. grp_sea.ipt_reqdd.visible = true;
  419. }
  420. }
  421. function fReqSetList()
  422. {
  423. var vReqSetFlag = "N";
  424. if (utlf_isNull(grp_sea.opt_instcdgood.value))
  425. {
  426. sysf_messageBox("기관을 " ,"C002");
  427. return;
  428. }
  429. if (utlf_isNull(grp_sea.cmb_reqdeptcd.value))
  430. {
  431. sysf_messageBox("청구 부서를 " ,"C002");
  432. return;
  433. }
  434. if (gInstcd != grp_sea.opt_instcdgood.value)
  435. {
  436. vReqSetFlag = "Y";
  437. }
  438. if (gReqdeptcd != grp_sea.cmb_reqdeptcd.value)
  439. {
  440. vReqSetFlag = "Y";
  441. }
  442. if (vReqSetFlag == "N")
  443. {
  444. return;
  445. }
  446. gInstcd = grp_sea.opt_instcdgood.value;
  447. gReqdeptcd = grp_sea.cmb_reqdeptcd.value;
  448. ds_send_reqmst.setColumn(0, "instcd", grp_sea.opt_instcdgood.value);
  449. ds_send_reqmst.setColumn(0, "reqdeptcd", grp_sea.cmb_reqdeptcd.value);
  450. swt_search.gd_set.grd_reqset.setCellProperty("Head", 1, "text", 1);
  451. misfGridInit(swt_search.gd_set.grd_reqset);
  452. misfGridInit(swt_search.gd_set.grd_setlist);
  453. var oParam = {};
  454. oParam.id = "TRRSD00211";
  455. oParam.service = "reqapp.ReqMngt";
  456. oParam.method = "reqGetReqMstSetList";
  457. oParam.inds = "req=ds_send_reqmst";
  458. oParam.outds = "ds_main_list_reqmst_reqsetmst=reqsetmst";
  459. oParam.async = false;
  460. //oParam.callback = "cf_TRRSD00211";
  461. tranf_submit(oParam);
  462. if (ds_main_list_reqmst_reqsetmst.rowcount == 0)
  463. {
  464. return;
  465. }
  466. if (utlf_isNull(ds_main_list_reqmst_reqsetmst.getColumn(0, "reqdeptcd" )))
  467. {
  468. return;
  469. }
  470. ds_main_list_reqmst_reqsetmst.rowposition = 0;
  471. fReqSetRead(ds_main_list_reqmst_reqsetmst.rowposition);
  472. misfMsterDetailRetrieve();
  473. }
  474. function fReqSetRead(pRow)
  475. {
  476. ds_send_reqset.setColumn(0, "instcd", ds_main_list_reqmst_reqsetmst.getColumn(pRow, "instcd"));
  477. ds_send_reqset.setColumn(0, "reqdeptcd", ds_main_list_reqmst_reqsetmst.getColumn(pRow, "reqdeptcd"));
  478. ds_send_reqset.setColumn(0, "reqprid", ds_main_list_reqmst_reqsetmst.getColumn(pRow, "reqprid"));
  479. ds_send_reqset.setColumn(0, "goodsetcd", ds_main_list_reqmst_reqsetmst.getColumn(pRow, "goodsetcd"));
  480. ds_send_reqset.setColumn(0, "goodsetnm", ds_main_list_reqmst_reqsetmst.getColumn(pRow, "goodsetnm"));
  481. misfGridInit(swt_search.gd_set.grd_reqset);
  482. var oParam = {};
  483. oParam.id = "TRRSD00210";
  484. oParam.service = "reqapp.ReqMngt";
  485. oParam.method = "reqGetReqSetList";
  486. oParam.inds = "req=ds_send_reqset";
  487. oParam.outds = "ds_main_list_reqset_reqsetlist=reqsetlist";
  488. oParam.async = false;
  489. //oParam.callback = "cf_TRRSD00210";
  490. tranf_submit(oParam);
  491. }
  492. function fBugtflagChange()
  493. {
  494. if (utlf_isNull(grp_sea.cmb_bugtflag.value))
  495. {
  496. return;
  497. }
  498. grp_sea.opt_bugtflag.value = ds_main_BugLists_bugtlist.getColumn(grp_sea.cmb_bugtflag.index, "bugtcd");
  499. grp_sea.opt_projectid.value = ds_main_BugLists_bugtlist.getColumn(grp_sea.cmb_bugtflag.index, "projectid");
  500. grp_sea.opt_projectnm.value = ds_main_BugLists_bugtlist.getColumn(grp_sea.cmb_bugtflag.index, "projectnm");
  501. grp_sea.opt_totamt.value = ds_main_BugLists_bugtlist.getColumn(grp_sea.cmb_bugtflag.index, "totamt");
  502. grp_sea.opt_bugtexpcamt.value = ds_main_BugLists_bugtlist.getColumn(grp_sea.cmb_bugtflag.index, "bugtexpcamt");
  503. grp_sea.opt_bugtexecamt.value = ds_main_BugLists_bugtlist.getColumn(grp_sea.cmb_bugtflag.index, "bugtexecamt");
  504. grp_sea.opt_remainder.value = ds_main_BugLists_bugtlist.getColumn(grp_sea.cmb_bugtflag.index, "remainder");
  505. }
  506. function fSearchData(pReqNoCheck)
  507. {
  508. if (fCheckRetrieveData(false) == false)return;
  509. misfGridInit(grd_goodreq);
  510. if(String(grp_sea.cmb_reqno.value).length == 0)
  511. {
  512. grp_sea.ipt_reqdd.value = utlf_getCurrentDate();
  513. }
  514. if (pReqNoCheck != "P")
  515. {
  516. if (utlf_isNull(grp_sea.cmb_reqno.value))
  517. {
  518. return;
  519. }
  520. }
  521. misfMsterDetailRetrieve();
  522. fGrantsCheck();
  523. fAfterRetr();
  524. for(var fRow = 0; fRow < ds_main_list_goodreq_goodreqlist.rowcount; fRow++ )
  525. {
  526. if (ds_main_list_goodreq_goodreqlist.getColumn(fRow, "allsizeyn") =="Y")
  527. {
  528. misfSetGridColor(grd_goodreq, "goodmodel", "#FFFF00", "B", fRow);
  529. }
  530. if (ds_main_list_goodreq_goodreqlist.getColumn(fRow, "acptflag") == "Y")
  531. {
  532. misfSetReadOnlyCol(grd_goodreq, "all", "true", fRow);
  533. }
  534. }
  535. }
  536. function fGrantsCheck()
  537. {
  538. if(gPurcAuth == "2" || grp_sea.cmb_reqpridflag.value == "1")
  539. {
  540. misfSetReadOnlyCol(grd_goodreq, "deptaprvyn", false);
  541. }
  542. else
  543. {
  544. misfSetReadOnlyCol(grd_goodreq, "deptaprvyn", true);
  545. }
  546. }
  547. function fAfterRetr()
  548. {
  549. if(ds_main_list_goodreq_goodmaxreqno.getColumn(0, "reqfix") == "Y")
  550. {
  551. fSetControlDisabled(true);
  552. }
  553. else
  554. {
  555. fSetControlDisabled(false);
  556. }
  557. }
  558. function fSetControlDisabled(pDisabled)
  559. {
  560. grp_sea.cmb_reqno.enable = !pDisabled;
  561. }
  562. function fAddReqDeptcdCombo()
  563. {
  564. var cPath = ds_init_CopyData
  565. var sPath = ds_tempdept;
  566. var tPath = ds_init_ReqDeptLists_reqdeptlist;
  567. var iDataCnt = sPath.rowcount;
  568. if ( iDataCnt < 1)
  569. {
  570. return;
  571. }
  572. var ComboDataCnt = parseInt( tPath.rowcount ) +1 ;
  573. var vTempDeptCd = sPath.getColumn(0, "tempdeptcd");
  574. var vTempDeptNm = sPath.getColumn(0, "tempdeptnm");
  575. if (!utlf_isNull(vTempDeptCd))
  576. {
  577. cPath.setColumn(0, "value", vTempDeptCd );
  578. cPath.setColumn(0, "label", vTempDeptNm );
  579. ds_init_ReqDeptLists_reqdeptlist.copyData(cPath)
  580. grp_sea.cmb_reqdeptcd.index = parseInt(ComboDataCnt-1);
  581. }
  582. }
  583. function fDefaultSetting(prow)
  584. {
  585. if(grp_sea.rdo_inputmethod.value == "1")
  586. {
  587. grd_goodreq.setCellProperty("Body", grd_goodreq.getBindCellIndex("Body", "stocqty"), "edittype", "none");
  588. grd_goodreq.setCellProperty("Body", grd_goodreq.getBindCellIndex("Body", "reqqty"), "edittype", "normal");
  589. }
  590. else
  591. {
  592. grd_goodreq.setCellProperty("Body", grd_goodreq.getBindCellIndex("Body", "stocqty"), "edittype", "normal");
  593. grd_goodreq.setCellProperty("Body", grd_goodreq.getBindCellIndex("Body", "reqqty"), "edittype", "none");
  594. }
  595. ds_main_list_goodreq_goodreqlist.setColumn(prow, "workflag", grp_sea.cmb_workflag.value);
  596. ds_main_list_goodreq_goodreqlist.setColumn(prow, "instcd", grp_sea.rdo_instcd.value);
  597. ds_main_list_goodreq_goodreqlist.setColumn(prow, "reqflag", swt_search.gd_find.group2.cmb_reqflag.value);
  598. ds_main_list_goodreq_goodreqlist.setColumn(prow, "studyinstcd", grp_sea.rdo_instcd.value);
  599. ds_main_list_goodreq_goodreqlist.setColumn(prow, "instcd", grp_sea.cmb_studyinstcd.value);
  600. ds_main_list_goodreq_goodreqlist.setColumn(prow, "deliveflag", "1");
  601. ds_main_list_goodreq_goodreqlist.setColumn(prow, "reqdd", grp_sea.ipt_reqdd.value);
  602. ds_main_list_goodreq_goodreqlist.setColumn(prow, "reqpridflag", grp_sea.cmb_reqpridflag.value);
  603. ds_main_list_goodreq_goodreqlist.setColumn(prow, "reqdeptcd", grp_sea.cmb_reqdeptcd.value);
  604. ds_main_list_goodreq_goodreqlist.setColumn(prow, "reqpsnid", grp_sea.opt_requser.value);
  605. ds_main_list_goodreq_goodreqlist.setColumn(prow, "reqseqno", fGetMaxReqNo());
  606. ds_main_list_goodreq_goodreqlist.setColumn(prow, "reqno", grp_sea.cmb_reqno.value);
  607. ds_main_list_goodreq_goodreqlist.setColumn(prow, "stdysubjno", grp_sea.ipt_stdysubjno.value);
  608. ds_main_list_goodreq_goodreqlist.setColumn(prow, "delivedeptcd", grp_sea.opt_reqfinaldept.value);
  609. ds_main_list_goodreq_goodreqlist.setColumn(prow, "reqcollcdeptcd", rszfGetPurcAuthInfoByCond("reqcollcdeptcd"));
  610. ds_main_list_goodreq_goodreqlist.setColumn(prow, "predeptaprvyn", "N");
  611. fBugtDataSet(prow);
  612. }
  613. function fGetMaxReqNo()
  614. {
  615. var vMax = 0;
  616. var maxreqseqno = "0";
  617. for (var currow = 0; currow < ds_main_list_goodreq_goodreqlist.rowcount; currow++)
  618. {
  619. if (maxreqseqno < ds_main_list_goodreq_goodreqlist.getColumn(currow, "reqseqno"))
  620. {
  621. maxreqseqno = ds_main_list_goodreq_goodreqlist.getColumn(currow, "reqseqno");
  622. }
  623. }
  624. vMax = parseInt(maxreqseqno, 10);
  625. vMax += 1;
  626. maxreqseqno = "" + vMax;
  627. return maxreqseqno.getLeftPad(3,"0");
  628. }
  629. function fBugtDataSet(pRow)
  630. {
  631. ds_main_list_goodreq_goodreqlist.setColumn(pRow, "bugtcd", ds_main_BugLists_bugtlist.getColumn(grp_sea.cmb_bugtflag.index , "bugtcd"));
  632. ds_main_list_goodreq_goodreqlist.setColumn(pRow, "bugtnm", ds_main_BugLists_bugtlist.getColumn(grp_sea.cmb_bugtflag.index , "bugtcdnm"));
  633. ds_main_list_goodreq_goodreqlist.setColumn(pRow, "projectid", ds_main_BugLists_bugtlist.getColumn(grp_sea.cmb_bugtflag.index , "projectid"));
  634. ds_main_list_goodreq_goodreqlist.setColumn(pRow, "projectnm", ds_main_BugLists_bugtlist.getColumn(grp_sea.cmb_bugtflag.index , "projectnm"));
  635. ds_main_list_goodreq_goodreqlist.setColumn(pRow, "totamt", ds_main_BugLists_bugtlist.getColumn(grp_sea.cmb_bugtflag.index , "totamt"));
  636. ds_main_list_goodreq_goodreqlist.setColumn(pRow, "bugtexpcamt", ds_main_BugLists_bugtlist.getColumn(grp_sea.cmb_bugtflag.index , "bugtexpcamt"));
  637. ds_main_list_goodreq_goodreqlist.setColumn(pRow, "bugtexecamt", ds_main_BugLists_bugtlist.getColumn(grp_sea.cmb_bugtflag.index , "bugtexecamt"));
  638. ds_main_list_goodreq_goodreqlist.setColumn(pRow, "remainder", ds_main_BugLists_bugtlist.getColumn(grp_sea.cmb_bugtflag.index , "remainder"));
  639. }
  640. var tGoodFlagData = "Y." // 01 의료소모품
  641. + "Z." // 02 일반소모품
  642. + "U." // 03 의료비품
  643. + "G." // 04 일반비품
  644. + "P." // 05 약품
  645. + "P." // 06 약품
  646. + "P." // 07 약품및재료
  647. + "P." // 08 약품
  648. + "P." // 09 약품
  649. + "B." // 10 수리부품
  650. + "T." // 11 공급실물품
  651. + "T." // 12 공급실물품
  652. + "T" ; // 13 공급실물품
  653. var tGoodFlag = tGoodFlagData.split(".");
  654. function fReqFagChange(pReqFlag)
  655. {
  656. for (i = 0; i < tReqFlag.length; i++)
  657. {
  658. if (tReqFlag[i] == pReqFlag)
  659. {
  660. swt_search.gd_find.group2.cmb_goodflag.value = tGoodFlag[i];
  661. break;
  662. }
  663. }
  664. }
  665. function fGoodListReady(pGoodCd, pGoodName)
  666. {
  667. misfGridInit(swt_search.gd_find.grd_goodlist);
  668. fGoodListKeySet();
  669. if(String(ds_target_defaultvalue.getColumn(0, "reqdeptcd")).length == 0 )
  670. {
  671. ds_send_goodlist.setColumn(0, "reqdeptcd", sysf_getUserInfo("dutplcecd"));
  672. }
  673. else
  674. {
  675. ds_send_goodlist.setColumn(0, "reqdeptcd", grp_sea.cmb_reqdeptcd.value);
  676. }
  677. if (String(pGoodCd).length > 0)
  678. {
  679. ds_send_goodlist.setColumn(0, "goodcd", pGoodCd);
  680. }
  681. else if (String(pGoodName).length > 0)
  682. {
  683. ds_send_goodlist.setColumn(0, "goodnm", pGoodName);
  684. }
  685. }
  686. function fGoodListKeySet()
  687. {
  688. ds_send_goodlist.setColumn(0, "lrgcd", "");
  689. ds_send_goodlist.setColumn(0, "mdlcd", "");
  690. ds_send_goodlist.setColumn(0, "instcd", grp_sea.opt_instcdgood.value);
  691. ds_send_goodlist.setColumn(0, "reqprid", grp_sea.cmb_reqpridflag.value);
  692. rszfLMSComboList(swt_search.gd_find.group2.cmb_goodflag.value, "", "", "swt_search.gd_find.group2.ipt_lrgcd", "", "L","Y");
  693. swt_search.gd_find.group2.ipt_lrgcd.index = 0;
  694. ds_send_goodlist.setColumn(0, "reqflagnm", swt_search.gd_find.group2.cmb_reqflag.text);
  695. ds_send_goodlist.setColumn(0, "reqpridnm", grp_sea.cmb_reqpridflag.text);
  696. }
  697. function fViewToggle(pCls)
  698. {
  699. if (pCls == 1)
  700. {
  701. bbt_large.visible = false;
  702. bbt_right.visible = false;
  703. grd_goodreq.position.left = 0;
  704. grd_goodreq.position.width = 1195;
  705. grd_goodreq.position.right = 1195;
  706. lin_main.position.left = 0;
  707. lin_main.position.width = 1195;
  708. lin_main.position.right = 1195;
  709. grp_button.position.left = 589;
  710. grp_button.position.right = 1195;
  711. grp_button.position.width = 606;
  712. }
  713. else
  714. {
  715. bbt_large.visible = true;
  716. bbt_right.visible = true;
  717. grd_goodreq.position.left = 585;
  718. grd_goodreq.position.width = 610;
  719. grd_goodreq.position.right = 1195;
  720. lin_main.position.left = 585;
  721. lin_main.position.width = 610;
  722. lin_main.position.right = 1195;
  723. grp_button.position.left = 585;
  724. grp_button.position.width = 604;
  725. grp_button.position.right = 1195;
  726. }
  727. }
  728. function fSettingReqAprv()
  729. {
  730. for(var liRow = 0; liRow < ds_main_list_goodreq_goodreqlist.rowcount; liRow++)
  731. {
  732. if(ds_main_list_goodreq_goodreqlist.getColumn(liRow, "aprvyn") != "Y")
  733. {
  734. if(ds_main_list_goodreq_goodreqlist.getColumn(liRow, "deptaprvyn") == "Y")
  735. {
  736. ds_main_list_goodreq_goodreqlist.setColumn(liRow, "deptaprvyn", "N");
  737. ds_main_list_goodreq_goodreqlist.setColumn(liRow, "deptaprvdd", "");
  738. if (ds_main_list_goodreq_goodreqlist.getRowType(liRow) == "1")
  739. {
  740. ds_main_list_goodreq_goodreqlist.setRowType(liRow, "u");
  741. }
  742. }
  743. else
  744. {
  745. ds_main_list_goodreq_goodreqlist.setColumn(liRow, "deptaprvyn", "Y");
  746. ds_main_list_goodreq_goodreqlist.setColumn(liRow, "deptaprvdd", utlf_getCurrentDate());
  747. if (ds_main_list_goodreq_goodreqlist.getRowType(liRow) == "1")
  748. {
  749. ds_main_list_goodreq_goodreqlist.setRowType(liRow, "u");
  750. }
  751. }
  752. }
  753. }
  754. }
  755. function fSaveReqAprv()
  756. {
  757. var oParam = {};
  758. oParam.id = "TXRSD07002";
  759. oParam.service = "reqapp.ReqMngt";
  760. oParam.method = "reqExeSaveReqAprv";
  761. oParam.inds = "req=ds_main_list_goodreq_goodreqlist:u";
  762. oParam.outds = "";
  763. oParam.async = false;
  764. oParam.callback = "cf_TXRSD07002";
  765. tranf_submit(oParam);
  766. }
  767. function cf_TXRSD07002(sSvcId, nErrorCode, sErrorMsg)
  768. {
  769. if(nErrorCode < 0) return;
  770. else misfMsterDetailRetrieve();
  771. }
  772. function fSaveData()
  773. {
  774. if (fCheckSaveData() == false) return;
  775. ds_send_save_autoaprv.setColumn(0, "instcd", grp_sea.opt_instcdgood.value);
  776. ds_send_save_autoaprv.setColumn(0, "reqdeptcd", grp_sea.cmb_reqdeptcd.value);
  777. if (grp_sea.chk_reqnonew.value == "Y")
  778. {
  779. ds_send_save_autoaprv.setColumn(0, "reqdd", grp_sea.ipt_reqddnew.value);
  780. }
  781. else
  782. {
  783. ds_send_save_autoaprv.setColumn(0, "reqdd", grp_sea.ipt_reqdd.value);
  784. }
  785. if(grp_sea.cmb_reqpridflag.value == "1")
  786. {
  787. ds_send_save_autoaprv.setColumn(0, "autoaprvyn","Y");
  788. }
  789. if (grp_button.ckb_accept.value == "Y")
  790. {
  791. ds_send_save_autoaprv.setColumn(0, "autoaprvyn", "Y");
  792. }
  793. else
  794. {
  795. ds_send_save_autoaprv.setColumn(0, "autoaprvyn", "N");
  796. }
  797. dsf_setDefaultVal(ds_main_list_goodreq_goodreqlist, "rgstqty:0");
  798. var oParam = {};
  799. oParam.id = "TXRSD00411";
  800. oParam.service = "reqapp.ReqMngt";
  801. oParam.method = "reqExeSaveGoodReqNew";
  802. oParam.inds = "req=ds_main_list_goodreq_goodreqlist:u autoaprv=ds_send_save_autoaprv";
  803. oParam.outds = "ds_main_list_goodreq_goodmaxreqno=goodmaxreqno";
  804. oParam.async = false;
  805. oParam.callback = "cf_TXRSD00411";
  806. tranf_submit(oParam);
  807. if (grp_sea.chk_reqnonew.value == "Y")
  808. {
  809. if (grp_sea.ipt_reqdd.value == grp_sea.ipt_reqddnew.value)
  810. {
  811. fDeptReqNoQuery();
  812. }
  813. else
  814. {
  815. grp_sea.ipt_reqdd.value = grp_sea.ipt_reqddnew.value;
  816. }
  817. fNewReqNoVisibility();
  818. grp_sea.btn_search.click();
  819. }
  820. else
  821. {
  822. grp_sea.btn_search.click();
  823. if (ds_main_list_goodreq_goodreqlist.rowcount < 0)
  824. {
  825. fDeptReqNoQuery();
  826. fNewReqNoVisibility();
  827. }
  828. }
  829. }
  830. function cf_TXRSD00411(sSvcId, nErrorCode, sErrorMsg)
  831. {
  832. if(nErrorCode < 0) return;
  833. else return;
  834. }
  835. function fCheckSaveData()
  836. {
  837. if(String(grp_sea.cmb_workflag.value).length== 0 )
  838. {
  839. sysf_messageBox("작업구분을 " ,"C002");
  840. grp_sea.cmb_workflag.setFocus();
  841. return false;
  842. }
  843. if(String(grp_sea.opt_instcdgood.value).length== 0 )
  844. {
  845. sysf_messageBox("기관코드를 " ,"C002");
  846. grp_sea.opt_instcdgood.setFocus();
  847. return false;
  848. }
  849. if(String(grp_sea.ipt_reqdd.value).length== 0 )
  850. {
  851. sysf_messageBox("청구일자를 " ,"C001");
  852. grp_sea.ipt_reqdd.setFocus();
  853. return false;
  854. }
  855. if(String(grp_sea.cmb_reqpridflag.value).length== 0 )
  856. {
  857. sysf_messageBox("청구주기를 " ,"C002");
  858. grp_sea.cmb_reqpridflag.setFocus();
  859. return false;
  860. }
  861. var basevol = 0;
  862. var stocqty = 0;
  863. var reqqty =0;
  864. var minexch = 0;
  865. for(var currow = 0; currow < ds_main_list_goodreq_goodreqlist.rowcount; currow++)
  866. {
  867. if(String(ds_main_list_goodreq_goodreqlist.getColumn(currow, "goodcd")).length == 0)
  868. {
  869. sysf_messageBox(parseInt(currow+1) + " 번째 물품코드를 " ,"C001");
  870. ds_main_list_goodreq_goodreqlist.rowposition = currow;
  871. grd_goodreq.setCellPos(grd_goodreq.getBindCellIndex("body", "goodcd"));
  872. grd_goodreq.showEditor(true);
  873. return false;
  874. }
  875. else
  876. {
  877. for(var srcrow = currow + 1 ; srcrow < ds_main_list_goodreq_goodreqlist.rowcount; srcrow++)
  878. {
  879. if(ds_main_list_goodreq_goodreqlist.getColumn(currow, "goodcd") == ds_main_list_goodreq_goodreqlist.getColumn(srcrowm, "goodcd") && ds_main_list_goodreq_goodreqlist.getColumn(currow, "allsizeyn") == "N")
  880. {
  881. sysf_messageBox("동일 물품코드가1 [" + parseInt(currow+1) + "," +parseInt(srcrow+1)+ "->" + ds_main_list_goodreq_goodreqlist.getColumn(currow , "goodcd") + "] 존재하여 저장 " ,"E001");
  882. return false;
  883. }
  884. else if(ds_main_list_goodreq_goodreqlist.getColumn(currow ,"goodcd") == ds_main_list_goodreq_goodreqlist.getColumn(srcrow , "goodcd") && ds_main_list_goodreq_goodreqlist.getColumn(currow, "allsizespecid") == ds_main_list_goodreq_goodreqlist.getColumn(srcrow, "allsizespecid"))
  885. {
  886. sysf_messageBox("동일 물품코드가 (ALL SIZE) [" + parseInt(currow+1) + "," +parseInt(srcrow+1) + "->" + ds_main_list_goodreq_goodreqlist.getColumn(currow , "goodcd") + "] 존재하여 저장 " ,"E001");
  887. return false;
  888. }
  889. }
  890. }
  891. if(ds_main_list_goodreq_goodreqlist.getColumn(currow , "reqqty") <= 0)
  892. {
  893. if(ds_main_list_goodreq_goodreqlist.getColumn(currow, "reqqty") == 0)
  894. {
  895. sysf_messageBox(parseInt(currow+1) + " 번째 청구량을 " ,"C001");
  896. }
  897. else
  898. {
  899. sysf_messageBox(parseInt(currow+1) + " 번째 올바른 청구량을 " ,"C001");
  900. }
  901. ds_main_list_goodreq_goodreqlist.rowposition = currow;
  902. grd_goodreq.setCellPos(grd_goodreq.getBindCellIndex("body", "reqqty"));
  903. grd_goodreq.showEditor(true);
  904. return false;
  905. }
  906. basevol = ds_main_list_goodreq_goodreqlist.getColumn(currow , "basevol");
  907. stocqty = ds_main_list_goodreq_goodreqlist.getColumn(currow , "stocqty");
  908. reqqty = ds_main_list_goodreq_goodreqlist.getColumn(currow , "reqqty");
  909. minexch = ds_main_list_goodreq_goodreqlist.getColumn(currow , "minexch");
  910. if(minexch > 0 && (reqqty%minexch != 0))
  911. {
  912. sysf_messageBox(parseInt(currow+1) + "번째 물품은 최소청구량에 ["+ minexch + "]맞춰서" , "C001");
  913. ds_main_list_goodreq_goodreqlist.rowposition = currow;
  914. grd_goodreq.setCellPos(grd_goodreq.getBindCellIndex("body", "reqqty"));
  915. grd_goodreq.showEditor(true);
  916. return false;
  917. }
  918. if(ds_main_list_goodreq_goodreqlist.getColumn(currow , "allsizeyn") == "Y" )
  919. {
  920. if(String(ds_main_list_goodreq_goodreqlist.getColumn(currow, "allsizespecid")).length == 0 || ds_main_list_goodreq_goodreqlist.getColumn(currow, "allsizespecid") == "-")
  921. {
  922. sysf_messageBox(parseInt(currow+1) + " 번째 물품의 ALLSIZE선택을 " ,"C001");
  923. ds_main_list_goodreq_goodreqlist.rowposition = currow;
  924. grd_goodreq.setCellPos(grd_goodreq.getBindCellIndex("body", "goodspec"));
  925. grd_goodreq.showEditor(true);
  926. return false;
  927. }
  928. }
  929. else
  930. {
  931. ds_main_list_goodreq_goodreqlist.setColumn(currow, "allsizespecid", "-");
  932. }
  933. if(String(ds_main_list_goodreq_goodreqlist.getColumn(currow , "bugtcd")).length == 0)
  934. {
  935. sysf_messageBox(parseInt(currow+1)+ "번째 계정의 예산 편성 리스트를 추가해 주세요 " , "");
  936. ds_main_list_goodreq_goodreqlist.rowposition = currow;
  937. grd_goodreq.setCellPos(grd_goodreq.getBindCellIndex("body", "bugtnm"));
  938. grd_goodreq.showEditor(true);
  939. return false;
  940. }
  941. }
  942. if(String(grp_sea.cmb_reqno.value).length== 0 )
  943. {
  944. grp_sea.chk_reqnonew.value = "Y";
  945. }
  946. return true;
  947. }
  948. function fGoodListSearch()
  949. {
  950. misfGridInit(swt_search.gd_find.grd_goodlist);
  951. if(String(grp_sea.opt_instcdgood.value).length == 0 )return;
  952. if (utlf_isNull(swt_search.gd_find.group2.cmb_reqflag.value))
  953. {
  954. sysf_messageBox("청구구분을 선택하십시요!!", "");
  955. return;
  956. }
  957. if (!utlf_isNull(ds_send.getColumn(0, "goodnm")))
  958. {
  959. ds_send.setColumn(0, "indexnm", "");
  960. }
  961. ds_send_goodlist.setColumn(0, "reqprid", "");
  962. ds_send_goodlist.setColumn(0, "instcd", grp_sea.opt_instcdgood.value);
  963. ds_send_goodlist.setColumn(0, "reqflag", swt_search.gd_find.group2.cmb_reqflag.value);
  964. ds_send_goodlist.setColumn(0, "workflag", "N");
  965. if (grp_sea.cmb_workflag.value == 1 || grp_sea.cmb_workflag.value ==2 )
  966. {
  967. }
  968. else if (grp_sea.cmb_workflag.value == 3 || grp_sea.cmb_workflag.value == 4 || grp_sea.cmb_workflag.value == 5)
  969. {
  970. ds_send_goodlist.setColumn(0, "workflag" , "A");
  971. }
  972. var oParam = {};
  973. oParam.id = "TRRSD00406";
  974. oParam.service = "purccommonapp.PurcCommon";
  975. oParam.method = "reqGetGoodListByCond";
  976. oParam.inds = "req=ds_send_goodlist";
  977. oParam.outds = "ds_main_GoodLists_goodlist=goodlist";
  978. oParam.async = false;
  979. //oParam.callback = "cf_TRRSD00406";
  980. tranf_submit(oParam);
  981. ds_send_goodlist.setColumn(0, "reqflag", "");
  982. }
  983. function fSelectDataApply(pGridSource, pGridTarget, pGridNm, pQtyNm)
  984. {
  985. ds_copynode.clearData();
  986. var vSelect = 0;
  987. for (var row = 0; row < pGridSource.rowcount; row++)
  988. {
  989. if (pGridSource.getColumn(row, "select" ) == "true" )
  990. {
  991. vSelect++;
  992. }
  993. }
  994. if (vSelect < 1)
  995. {
  996. return;
  997. }
  998. pGridSource.filterstr = "select == 'true'";
  999. var rCVS = dsf_getDsCSV(pGridSource, "", "", "","");
  1000. dsf_setCSVToDs("ds_copynode", rCVS);
  1001. pGridSource.filterstr = "";
  1002. fSettingGoodList("ds_copynode", pGridNm , pQtyNm);
  1003. for (var row = 0; row < pGridSource.rowcount; row++)
  1004. {
  1005. pGridSource.setColumn(row, "select" , "false");
  1006. }
  1007. }
  1008. function fSettingGoodList(pnode, nodename, userqtynm)
  1009. {
  1010. var vTarget = "";
  1011. var vSource = "";
  1012. var codynode = eval(pnode);
  1013. var addRow = ds_main_list_goodreq_goodreqlist.rowcount-1;
  1014. if(String(ds_main_list_goodreq_goodreqlist.getColumn(addRow, "goodcd")).length > 0)
  1015. {
  1016. addRow = addRow + 1;
  1017. }
  1018. for (var j = 0; j < codynode.rowcount; j++)
  1019. {
  1020. if(ds_main_list_goodreq_goodreqlist.rowcount == 0 || addRow > ds_main_list_goodreq_goodreqlist.rowcount-1)
  1021. {
  1022. addRow = ds_main_list_goodreq_goodreqlist.addRow();
  1023. fDefaultSetting(addRow);
  1024. }
  1025. vTarget = ds_main_list_goodreq_goodreqlist;
  1026. vSource = codynode;
  1027. fSettingGoodData(vTarget, addRow, vSource, j, userqtynm, "deliveunit");
  1028. if (vSource.getColumn(j, "allsizeyn") == "Y")
  1029. {
  1030. misfSetGridColor(grd_goodreq, "stocqty", "#FFFF00", "B", addRow);
  1031. vTarget.setColumn(addRow, "allsizespecid", vSource.getColumn(j, "allsizespecid"));
  1032. vTarget.setColumn(addRow, "allsizespecidnm", vSource.getColumn(j, "allsizespecidnm"));
  1033. if (String(vSource.getColumn(j, "allsizespecid")).length > 0 )
  1034. {
  1035. vTarget.setColumn(addRow, "goodspec", vSource.getColumn(j, "allsizespecidnm"));
  1036. }
  1037. else
  1038. {
  1039. vTarget.setColumn(addRow, "allsizespecid", "-");
  1040. }
  1041. }
  1042. addRow = addRow + 1;
  1043. }
  1044. }
  1045. function fSettingGoodData(pTarget, pTargetRow, pSource, pSourceRow, pUserqtynm, pRequnit, pCls)
  1046. {
  1047. pTarget.setColumn(pTargetRow, "goodcd", pSource.getColumn(pSourceRow, "goodcd"));
  1048. pTarget.setColumn(pTargetRow, "goodnm", pSource.getColumn(pSourceRow, "goodnm"));
  1049. pTarget.setColumn(pTargetRow, "goodspec", pSource.getColumn(pSourceRow, "goodspec"));
  1050. pTarget.setColumn(pTargetRow, "reqflag", pSource.getColumn(pSourceRow, "reqflag"));
  1051. pTarget.setColumn(pTargetRow, "goodflag", pSource.getColumn(pSourceRow, "goodflag"));
  1052. pTarget.setColumn(pTargetRow, "goodmodel", pSource.getColumn(pSourceRow, "goodmodel"));
  1053. pTarget.setColumn(pTargetRow, "prodcmpynm", pSource.getColumn(pSourceRow, "prodcmpynm"));
  1054. pTarget.setColumn(pTargetRow, "purcunit", pSource.getColumn(pSourceRow, "purcunit"));
  1055. pTarget.setColumn(pTargetRow, "basevol", pSource.getColumn(pSourceRow, pUserqtynm));
  1056. pTarget.setColumn(pTargetRow, "stocqty", 0);
  1057. pTarget.setColumn(pTargetRow, "reqqty", pSource.getColumn(pSourceRow, pUserqtynm));
  1058. pTarget.setColumn(pTargetRow, "requnit", pSource.getColumn(pSourceRow, pRequnit));
  1059. pTarget.setColumn(pTargetRow, "minexch", pSource.getColumn(pSourceRow, "minexch"));
  1060. pTarget.setColumn(pTargetRow, "ddavguseqty", pSource.getColumn(pSourceRow, "ddavguseqty"));
  1061. pTarget.setColumn(pTargetRow, "exchqty", pSource.getColumn(pSourceRow, "exchqty"));
  1062. pTarget.setColumn(pTargetRow, "reqmthdflag", "3");
  1063. pTarget.setColumn(pTargetRow, "allsizeyn", pSource.getColumn(pSourceRow, "allsizeyn"));
  1064. pTarget.setColumn(pTargetRow, "reqcollcdeptcd", pSource.getColumn(pSourceRow, "reqcollcdeptcd"));
  1065. pTarget.setColumn(pTargetRow, "setunit", pSource.getColumn(pSourceRow, "setunit"));
  1066. pTarget.setColumn(pTargetRow, "constunit", pSource.getColumn(pSourceRow, "constunit"));
  1067. if (pCls == "S")
  1068. {
  1069. pTarget.setColumn(pTargetRow, "delivedeptcd", pSource.getColumn(pSourceRow, "delivedeptcd"));
  1070. }
  1071. else
  1072. {
  1073. pTarget.setColumn(pTargetRow, "delivedeptcd", pSource.getColumn(pSourceRow, "reqfnldeptcd"));
  1074. }
  1075. pTarget.setColumn(pTargetRow, "rgstqty", "0");
  1076. }
  1077. function fGoodreqButtonClick()
  1078. {
  1079. grp_allsize.visible = false;
  1080. grp_bugtflag.visible = false;
  1081. if (grd_goodreq.currentcell == grd_goodreq.getBindCellIndex("Body", "goodcd") && ds_main_list_goodreq_goodreqlist.getRowType(ds_main_list_goodreq_goodreqlist.rowposition) == 2)
  1082. {
  1083. fViewToggle(2);
  1084. swt_search.gd_find.group2.cmb_reqflag.index = 0;
  1085. fReqFagChange(swt_search.gd_find.group2.cmb_reqflag.value);
  1086. fGoodListReady(ds_main_list_goodreq_goodreqlist.getColumn(ds_main_list_goodreq_goodreqlist.rowposition, grd_goodreq.currentcol), "");
  1087. swt_search.tabindex = 2;
  1088. }
  1089. else if (grd_goodreq.currentcell == grd_goodreq.getBindCellIndex("Body", "goodspec") && ds_main_list_goodreq_goodreqlist.getColumn(ds_main_list_goodreq_goodreqlist.rowposition, "allsizeyn") == "Y" )
  1090. {
  1091. fAllSizeRead(ds_main_list_goodreq_goodreqlist.rowposition, grd_goodreq.currentcol, this.position.y);
  1092. }
  1093. else if (grd_goodreq.currentcell == grd_goodreq.getBindCellIndex("Body", "bugtnm"))
  1094. {
  1095. var iClickY = event.clientY - 100;
  1096. if (iClickY > 375) iClickY = iClickY - 319;
  1097. grp_bugtflag.position.top = iClickY+ "px";
  1098. grp_bugtflag.visible = true;
  1099. }
  1100. }
  1101. var vAllSizeCol = 0;
  1102. var vAllSizeRow = 0;
  1103. var vAllSizePath = ds_main_codelist;
  1104. var vGoodReqPath = ds_main_list_goodreq_goodreqlist;
  1105. function fAllSizeRead(pRow, pCol, pPos)
  1106. {
  1107. var iClickY = pPos - 100;
  1108. vAllSizeCol = pCol;
  1109. vAllSizeRow = pRow;
  1110. if (iClickY > 375) iClickY = iClickY - 319;
  1111. grp_allsize.position.top = iClickY;
  1112. grp_allsize.visible = true;
  1113. ds_send_allsize.setColumn(0, "instcd", grp_sea.opt_instcdgood.value);
  1114. ds_send_allsize.setColumn(0, "goodcd", ds_main_list_goodreq_goodreqlist.getColumn(pRow, "goodcd"));
  1115. var oParam = {};
  1116. oParam.id = "TRRSD00281";
  1117. oParam.service = "purccommonapp.PurcCommon";
  1118. oParam.method = "reqGetGoodCode";
  1119. oParam.inds = "req=ds_send_allsize";
  1120. oParam.outds = "ds_main_codelist=codelist";
  1121. oParam.async = false;
  1122. //oParam.callback = "cf_TRRSD00281";
  1123. tranf_submit(oParam);
  1124. }
  1125. function fGoodreqOnKeyDown()
  1126. {
  1127. if(grd_goodreq.currentcell == grd_goodreq.getBindCellIndex("Body", "reqqty"))
  1128. {
  1129. if(ds_main_list_goodreq_goodreqlist.rowposition < ds_main_list_goodreq_goodreqlist.rowcount-1)
  1130. {
  1131. ds_main_list_goodreq_goodreqlist.rowposition = ds_main_list_goodreq_goodreqlist.rowposition+1;
  1132. grd_goodreq.setCellPos(grd_goodreq.getBindCellIndex("body", "reqqty"));
  1133. grd_goodreq.showEditor(true);
  1134. }
  1135. }
  1136. }
  1137. function fAllSizeSelect()
  1138. {
  1139. grp_allsize.visible = false;
  1140. var vQty = "0";
  1141. var vSize = "";
  1142. var vSpec = "";
  1143. var vModel = "";
  1144. var vCheck = "";
  1145. var vPath = "";
  1146. var vTarget = "";
  1147. var vSource = "";
  1148. var vGoodcd = vGoodReqPath.getColumn(vAllSizeRow, "goodcd");
  1149. for (var i = 0; i < ds_main_codelist.rowcount; i++)
  1150. {
  1151. if (vAllSizePath.getColumn(i, "chk") == "true")
  1152. {
  1153. vSize = vAllSizePath.getColumn(i, "allsizespecid");
  1154. vSpec = vAllSizePath.getColumn(i, "goodspec");
  1155. vModel = vAllSizePath.getColumn(i, "goodmodel");
  1156. vQty = vAllSizePath.getColumn(i, "qty");
  1157. if (utlf_isNull(vGoodReqPath.lookupExpr("goodcd == '"+vGoodcd+"' && allsizespecid == '"+vSize+"'", "goodcd")))
  1158. {
  1159. if (utlf_isNull(vCheck))
  1160. {
  1161. vCheck = "Y";
  1162. vTarget = vGoodReqPath;
  1163. if (ds_main_list_goodreq_goodreqlist.getRowType(vAllSizeRow) == 1)
  1164. {
  1165. ds_main_list_goodreq_goodreqlist.updatecontrol = false;
  1166. ds_main_list_goodreq_goodreqlist.setRowType(vAllSizeRow, "u");
  1167. ds_main_list_goodreq_goodreqlist.updatecontrol = true;
  1168. }
  1169. else
  1170. {
  1171. addRow = ds_main_list_goodreq_goodreqlist.addRow();
  1172. fDefaultSetting(addRow);
  1173. vTarget = ds_main_list_goodreq_goodreqlist;
  1174. vSource = vGoodReqPathl
  1175. fSettingGoodData(vTarget, addRow, vSource, vAllSizeRow, "requnit", "S");
  1176. misfSetGridColor(grd_goodreq, "stocqty", "#FFFF00", "B", addRow);
  1177. }
  1178. }
  1179. else
  1180. {
  1181. vPath = vGoodReqPath.lookupExpr("goodcd == '"+ vGoodcd+"' && allsizespecid == '"+vSize+"'");
  1182. }
  1183. vTarget.setColumn(addRow, "allsizeyn", "Y");
  1184. vTarget.setColumn(addRow, "allsizespecid", vSize);
  1185. vTarget.setColumn(addRow, "goodspec", vSpec);
  1186. vTarget.setColumn(addRow, "goodmodel", vModel);
  1187. if (!utlf_isNull(vQty) && vQty != "0")
  1188. {
  1189. vTarget.setColumn(addRow, "stocqty", vQty );
  1190. }
  1191. }
  1192. }
  1193. }
  1194. }
  1195. ]]></Script>