SMRSC05302.xjs 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  3. * System Name : SMRSC05302_통합물품코드등록.xrw (SMRSC05302.xfm - JScript )
  4. * Job Name :
  5. * Creator :
  6. * Make Date : 2017-06-19
  7. * Description :
  8. *---------------------------------------------------------------------------------------
  9. * Modify Date Modifier Modify Description
  10. *---------------------------------------------------------------------------------------
  11. * 2017-06-19 Live Converter TF->XP
  12. *
  13. *---------------------------------------------------------------------------------------
  14. ****************************************************************************************/
  15. //=======================================================================================
  16. // Global Form Variable
  17. //---------------------------------------------------------------------------------------
  18. var xAuth = !(frmf_checkAuth("X"));
  19. var rAuth = !(frmf_checkAuth("R"));
  20. var gGoodFlag = "XX";
  21. var gInstcd = sysf_getUserInfo("dutplceinstcd");
  22. var gInstnm = sysf_getUserInfo("dutplceinstnm");
  23. var vGoodNew = "U"; //U:UPDATE, N:NEW
  24. //=======================================================================================
  25. // Function
  26. //---------------------------------------------------------------------------------------
  27. /****************************************************************************************
  28. * Argument : N/A
  29. * Description : 사용자권한 Check
  30. ****************************************************************************************/
  31. function fInitForm() {
  32. group3.grp_title.btn_save.enable = !xAuth ;
  33. fInitialize();
  34. }
  35. /****************************************************************************************
  36. * Argument : N/A
  37. * Description : 사용자권한 Check
  38. ****************************************************************************************/
  39. function fCheckAuth() {
  40. group3.grp_title.btn_save.enable = true; // 저장
  41. group3.bbt_newgoodcd.enable = true; // 신규재료신청
  42. group3.switch2.case5.bbt_excelload.enable = true; // Excel Load
  43. group3.btn_choidel.enable = true; // 물품삭제
  44. group3.btn_addgrdgoodlist.enable = true; // X품추가
  45. group3.grp_detail.switch1.case1.bbt_insrow.enable = true; // All Size추가
  46. group3.grp_detail.switch1.case1.bbt_delrow.enable = true; // All Size삭제
  47. group3.grp_detail.switch1.case1.btn_loadexcel.enable = true; // All Size Excel
  48. group3.grp_detail.switch1.case1.bbt_sizesave.enable = true; // All Size저장
  49. group3.switch2.case5.opt_usernm.value = sysf_getUserInfo("usernm");
  50. var instcls = "1";
  51. if (instcls == "1") {
  52. group3.grp_title.btn_save.visible = true; // 저장
  53. group3.bbt_newgoodcd.visible = true; // 신규재료신청
  54. group3.switch2.case5.bbt_excelload.visible = true; // Excel Load
  55. //group3.btn_choidel.visible = true; // 물품삭제
  56. group3.btn_addgrdgoodlist.visible = true; // X품추가
  57. group3.grp_detail.switch1.case1.bbt_insrow.visible = true; // All Size추가
  58. group3.grp_detail.switch1.case1.bbt_delrow.visible = true; // All Size삭제
  59. group3.grp_detail.switch1.case1.btn_loadexcel.visible = true; // All Size Excel
  60. group3.grp_detail.switch1.case1.bbt_sizesave.visible = true; // All Size저장
  61. }
  62. }
  63. /****************************************************************************************
  64. * Argument : N/A
  65. * Description : 초기화
  66. ****************************************************************************************/
  67. function fInitialize() {
  68. misfGridInit(group3.grp_detail.switch1.case1.grd_allsize);
  69. misfGridInit(group3.grp_detail.switch1.case3.grd_applist);
  70. misfGridInit(group3.grp_allsizecopy.grd_allsizecopy);
  71. ds_send_goodlist.clearData(); ds_send_goodlist.addRow();
  72. ds_send_save_setautoins.setColumn( 0, "setyn","N");
  73. ds_send_goodlist.setColumn( 0, "filecls", "S");
  74. rszfGoodFlagListByPgmGubn(group3.grp_title.cmb_goodflag_search,"1","N");
  75. group3.grp_detail.cmb_goodflag.innerdataset = "ds_init_goodflag";
  76. misfComboCopyItemSet(group3.grp_title.cmb_goodflag_search, "", group3.grp_detail.cmb_goodflag, ""); //물품구분
  77. dsf_createDs("ds_temp_innerdataset");
  78. var dsTemp = null;
  79. if(sysf_getObjType(group3.grp_detail.cmb_goodflag.innerdataset) != "Dataset")
  80. dsTemp = this.objects[group3.grp_detail.cmb_goodflag.innerdataset];
  81. else dsTemp = group3.grp_detail.cmb_goodflag.innerdataset;
  82. dsTemp.filter("goodflag!=''");
  83. ds_temp_innerdataset.copyData(dsTemp, true);
  84. dsTemp.filter("");
  85. group3.grp_detail.cmb_goodflag.innerdataset = "ds_temp_innerdataset";
  86. lf_showValue(this.objects[group3.grp_title.cmb_goodflag_search.innerdataset]);
  87. frmf_addComboItem("group3.grp_title.cmb_goodflag_search", "- 전 체 -", "", "above");
  88. lf_showValue(ds_temp_innerdataset);
  89. misfComboComCdListMulti("R0043,Z0007,R0032","group3.grp_detail.cmb_asetflag,group3.grp_detail.switch1.case3.cmb_instcd,group3.grp_detail.switch1.case1.grd_allsize.goodunit");
  90. //기관코드 읽어오는 부분 넣기
  91. gInstcd = sysf_getUserInfo("dutplceinstcd");
  92. gInstnm = sysf_getUserInfo("dutplceinstnm");
  93. if(gInstcd.length > 0) group3.grp_title.opt_instcd.value = gInstcd;
  94. if(gInstnm.length > 0) group3.grp_title.opt_instnm.value = gInstnm;
  95. //물품구분일 경우 첫번째 index 자동 설정
  96. if(eval(group3.grp_title.cmb_goodflag_search.innerdataset).rowcount > 0) group3.grp_title.cmb_goodflag_search.index = 0;
  97. misfGridInit(group3.switch2.case5.grd_goodlist);
  98. misfGridInit(group3.grp_detail.switch1.case2.grd_instinfo);
  99. // 대분류 코드 콤보 설정.
  100. rszfLMSComboList("ALL", "", "", "group3.grp_title.cmb_lrgcd_search", "", "L", "Y", "Y");
  101. misfComboCopyItemSet(group3.grp_title.cmb_lrgcd_search, "", group3.grp_detail.cmb_lrgcd, "");
  102. misfChangeItemsetFilter(group3.grp_detail.cmb_lrgcd,"goodflag==null || goodflag==''");
  103. frmf_inputEnterKey("group3.grp_title.cmb_goodflag_search", "onitemchanged", new ItemChangeEventInfo);
  104. frmf_inputEnterKey("group3.grp_detail.cmb_goodflag", "onitemchanged", new ItemChangeEventInfo);
  105. misfMsterDetailSet(group3.switch2.case5.grd_goodlist,null , "TRRSC05309" ,"Y", "row");
  106. misfMsterDetailSet(group3.grp_detail.switch1.case2.grd_instinfo,group3.switch2.case5.grd_goodlist, "TRRSC05308" ,"N", "row");
  107. grdf_setGridSort(group3.switch2.case5.grd_goodlist);
  108. fCheckAuth();
  109. fAppInstcdGridSet(gInstcd);
  110. group3.grp_title.ipt_goodcd_search.setFocus();
  111. ds_main_goodlists_goodlist.clearData();
  112. ds_main_goodlists_goodlist.addRow();
  113. dsf_setDefaultVal(ds_main_goodlists_goodlist, "all");
  114. ds_main_goodlists_goodlist.setColumn(0, "mngtflag", "N");
  115. }
  116. function lf_showValue(objDs:Dataset){
  117. var nRowCnt = objDs.rowcount;
  118. for(var i=0 ; i<nRowCnt ; i++){
  119. var sItemCd = utlf_transNullToEmpty(objDs.getColumn(i, "goodflag"));
  120. var sItemNm = utlf_transNullToEmpty(objDs.getColumn(i, "goodflagnm"));
  121. var sMergeItemNm = "["+sItemCd+"]"+" "+sItemNm;
  122. objDs.setColumn(i, "goodflagnm", sMergeItemNm);
  123. }
  124. }
  125. // --------------------------------------------------
  126. // 화면이 다른 폼에 의해 불려졌을때 실행!!
  127. // --------------------------------------------------
  128. function fOpenForm()
  129. {
  130. if (checkOpener()) {
  131. if(opener.window.javascript.getScreenID() == "SMPIC00100")
  132. {
  133. //입력및 저장관련 컨트롤 설정.
  134. fOpenFormControlSetting(true);
  135. model.makeNode("/root/temp/good");
  136. model.copyNode("/root/temp/good", opener.root.main.item1.mchrginfo);
  137. model.setValue("/root/send/goodlist/goodcd", model.getValue("/root/temp/good/calcscorcd"));
  138. //팝업으로 띄워졌을경우 물품구분 콤보에 "전체" Item을 추가
  139. //품목세부사항의 단위 콤보를 설정하기 위해 넘어온 goodcd의 물품구분을 가져와서 설정함.
  140. if(model.getValue("/root/send/goodlist/goodcd") != "")
  141. {
  142. //addComboItem("cmb_goodflag_search", "", "", "above");
  143. var goodcdflag = model.getValue("/root/send/goodlist/goodcd");
  144. var flag = goodcdflag.substr(0,1);
  145. cmb_goodflag_search.value = flag;
  146. //cmb_goodflag_search.select(0);
  147. btn_search.dispatch("DOMActivate");
  148. }
  149. }else if(opener.window.javascript.getScreenID() == "SMRSI02600"){ // 평화드림 월정산에서 로드했을시....
  150. if (model.getValue("/root/temp/goodcd") != "")
  151. {
  152. cmb_goodflag_search.value = model.getValue("/root/temp/goodflag");
  153. ipt_goodcd_search.value = model.getValue("/root/temp/goodcd");
  154. btn_search.dispatch("DOMActivate");
  155. }
  156. }
  157. }
  158. }
  159. // --------------------------------------------------
  160. // 화면이 Button Control
  161. // --------------------------------------------------
  162. function fOpenFormControlSetting(fBool) {
  163. btn_save.disabled = fBool;
  164. //btn_sgsave.disabled = fBool;
  165. button2.disabled = fBool;
  166. //btn_choidel.disabled = fBool;
  167. btn_insert.disabled = fBool;
  168. btn_photinfo.disabled = fBool;
  169. btn_goodcdcopy.disabled = fBool;
  170. btn_useinstinfo.disabled = fBool;
  171. btn_allsizergst.disabled = fBool;
  172. btn_goodsetrgst.disabled = fBool;
  173. }
  174. /****************************************************************************************
  175. * Argument : nodecopy - true / false
  176. * Description : 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  177. * : 화면 전체 조회
  178. ****************************************************************************************/
  179. function fRetrGoodList(nodecopy) {
  180. ds_send_goodlist.setColumn( 0, "filecls" ,"S");
  181. misfMsterDetailRetrieve();
  182. // 중분류_소분류 combo setting
  183. var goodflag = ds_main_list_goodlists_goodlist.getColumn(ds_main_list_goodlists_goodlist.rowposition, "goodflag");
  184. var lrgcd = ds_main_list_goodlists_goodlist.getColumn(ds_main_list_goodlists_goodlist.rowposition, "lrgcd");
  185. var mdlcd = ds_main_list_goodlists_goodlist.getColumn(ds_main_list_goodlists_goodlist.rowposition, "mdlcd");
  186. var smlcd = ds_main_list_goodlists_goodlist.getColumn(ds_main_list_goodlists_goodlist.rowposition, "smlcd");
  187. group3.grp_detail.cmb_goodflag.value = goodflag;
  188. misfChangeItemsetFilter(group3.grp_detail.cmb_lrgcd,"goodflag=='" + goodflag + "'");
  189. // 물품구분별 권한
  190. fSetGoodFlagAuth();
  191. if (!utlf_isNull(smlcd))
  192. {
  193. var valMTemp = ds_main_goodlists_goodlist.getColumn(0, "mdlcd");
  194. rszfLMSComboList(goodflag, lrgcd, "", "group3.grp_detail.cmb_mdlcd", "", "M", "", "Y");
  195. ds_main_goodlists_goodlist.setColumn(0, "mdlcd", valMTemp);
  196. var valSTemp = ds_main_goodlists_goodlist.getColumn(0, "smlcd");
  197. rszfLMSComboList(goodflag, lrgcd, mdlcd, "group3.grp_detail.cmb_smlcd", "", "S", "", "Y");
  198. ds_main_goodlists_goodlist.setColumn(0, "smlcd", valSTemp);
  199. } else if (!utlf_isNull(mdlcd))
  200. {
  201. var valMTemp = ds_main_goodlists_goodlist.getColumn(0, "mdlcd");
  202. rszfLMSComboList(goodflag, lrgcd, "", "group3.grp_detail.cmb_mdlcd", "", "M", "", "Y");
  203. ds_main_goodlists_goodlist.setColumn(0, "mdlcd", valMTemp);
  204. }
  205. if (nodecopy == true) fAfterRetrGoodList();
  206. fAppInstcdGridSet(utlf_transNullToEmpty(group3.grp_detail.ipt_appinstdata.value));
  207. fAllSizeRead();
  208. }
  209. /****************************************************************************************
  210. * Argument : N/A
  211. * Description : 물품구분별 권한체크.
  212. ****************************************************************************************/
  213. function fSetGoodFlagAuth() {
  214. var setStatus = true;
  215. var goodFlag = group3.grp_detail.cmb_goodflag.value;
  216. if(goodFlag == gGoodFlag) return; // 이전조회 물품구분과 동일할 경우 스킵
  217. if(!utlf_isNull(group3.grp_title.opt_instcd.value) && !utlf_isNull(goodFlag)) {
  218. rszfGetPurcGoodFlagAuthInfo(group3.grp_title.opt_instcd.value , goodFlag, sysf_getUserInfo("userid"), "%");
  219. if (rszfGetGoodFlagAuthInfoByCond("goodflagauth") == "Y")
  220. {
  221. setStatus = false;
  222. }
  223. }
  224. group3.grp_title.btn_save.enable = !setStatus;
  225. gGoodFlag = goodFlag;
  226. }
  227. /****************************************************************************************
  228. * Argument : pAppinstdata
  229. * Description :
  230. ****************************************************************************************/
  231. function fAppInstcdGridSet(pAppinstdata) {
  232. var vAppinstdata = pAppinstdata.split(" ");
  233. fAppInstcdClear();
  234. for(var j = 0; j < vAppinstdata.length; j++){
  235. if(!utlf_isNull(vAppinstdata[j])) {
  236. for(var i = 0 ; i < ds_init_comcd_Z00071_Z00071.rowcount ; i++) {
  237. if(ds_init_comcd_Z00071_Z00071.getColumn(i,"cdid") == vAppinstdata[j]) ds_init_comcd_Z00071_Z00071.setColumn(i, "minval", "Y")
  238. }
  239. }
  240. }
  241. }
  242. /****************************************************************************************
  243. * Argument : N/A
  244. * Description :
  245. ****************************************************************************************/
  246. function fAppInstcdClear() {
  247. for (var i = 0 ; i < ds_init_comcd_Z00071_Z00071.rowcount; i++) {
  248. ds_init_comcd_Z00071_Z00071.setColumn(i, "minval", "N");
  249. }
  250. }
  251. /****************************************************************************************
  252. * Argument : N/A
  253. * Description : Check All Size Data
  254. ****************************************************************************************/
  255. function fAllSizeRead()
  256. {
  257. ds_send_allsizelist.setColumn( 0, "goodcd" ,group3.grp_detail.ipt_goodcd.value);
  258. ds_send_allsizelist.setColumn( 0, "instflag","1");
  259. dsf_setDefaultVal(ds_send_allsizelist, "instflag:2");
  260. var oParam = {};
  261. oParam.id = "TRRSC00211";
  262. oParam.service = "purcbaseapp.PurcBaseMngt";
  263. oParam.method = "reqGetAllSize";
  264. oParam.inds = "req=ds_send_allsizelist";
  265. oParam.outds = "ds_main_allsizelists_allsizelist=allsizelist";
  266. oParam.async = false;
  267. //oParam.callback = "cf_TRRSC00211";
  268. tranf_submit(oParam);
  269. }
  270. /****************************************************************************************
  271. * Argument : N/A
  272. * Description : Save Data Check
  273. ****************************************************************************************/
  274. function fCheckSaveData() {
  275. if (utlf_isNull(group3.grp_detail.ipt_goodcd.value)) {
  276. sysf_messageBox("물품코드는" ,"I003");
  277. group3.grp_detail.ipt_goodcd.setFocus();
  278. return false;
  279. }
  280. if (!utlf_isNull(group3.grp_detail.ipt_goodnm.value)) {
  281. if (utlf_isNull(group3.grp_detail.ipt_goodhngnm.value)) {
  282. group3.grp_detail.ipt_goodhngnm.value = group3.grp_detail.ipt_goodnm.value;
  283. }
  284. if (utlf_isNull(group3.grp_detail.ipt_goodengnm.value)) {
  285. group3.grp_detail.ipt_goodengnm.value = group3.grp_detail.ipt_goodnm.value;
  286. }
  287. }
  288. if (!utlf_isNull(group3.grp_detail.ipt_goodhngnm.value)) {
  289. if (utlf_isNull(group3.grp_detail.ipt_goodnm.value)) {
  290. group3.grp_detail.ipt_goodnm.value = group3.grp_detail.ipt_goodhngnm.value;
  291. }
  292. if (utlf_isNull(group3.grp_detail.ipt_goodengnm.value)) {
  293. group3.grp_detail.ipt_goodengnm.value = group3.grp_detail.ipt_goodhngnm.value;
  294. }
  295. }
  296. if (!utlf_isNull(group3.grp_detail.ipt_goodengnm.value))
  297. {
  298. if (utlf_isNull(group3.grp_detail.ipt_goodnm.value)) {
  299. group3.grp_detail.ipt_goodnm.value = group3.grp_detail.ipt_goodengnm.value;
  300. }
  301. if (utlf_isNull(group3.grp_detail.ipt_goodhngnm.value)) {
  302. group3.grp_detail.ipt_goodhngnm.value = group3.grp_detail.ipt_goodengnm.value;
  303. }
  304. }
  305. if(utlf_isNull(group3.grp_detail.ipt_goodnm.value))
  306. {
  307. sysf_messageBox("물품코드명은" ,"I003");
  308. group3.grp_detail.ipt_goodnm.setFocus();
  309. return false;
  310. }
  311. if(utlf_isNull(group3.grp_detail.cmb_lrgcd.value))
  312. {
  313. sysf_messageBox("대분류코드는" ,"I003");
  314. group3.grp_detail.cmb_lrgcd.setFocus();
  315. return false;
  316. }
  317. if(utlf_isNull(group3.grp_detail.cmb_asetflag.value))
  318. {
  319. sysf_messageBox("자산구분은" ,"I003");
  320. group3.grp_detail.cmb_asetflag.setFocus();
  321. return false;
  322. }
  323. return true;
  324. }
  325. /****************************************************************************************
  326. * Argument : N/A
  327. * Description : Check All Size Data
  328. ****************************************************************************************/
  329. function fRscdtchgRead() {
  330. misfGridInit(group3.grp_detail.switch1.case4.grd_chgdata);
  331. var goodcd = String(group3.grp_detail.ipt_goodcd.value).getTrim();
  332. var goodflag = group3.grp_title.cmb_goodflag_search.value.getTrim();
  333. ds_send_rscdtchglist.setColumn( 0, "goodcd" ,goodcd);
  334. ds_send_rscdtchglist.setColumn( 0, "goodflag",goodflag);
  335. dsf_setDefaultVal(ds_send_rscdtchglist, "instcd:000,tabname:RSCMGOOD,changedt:20081001");
  336. if(!utlf_isNull(goodcd) && !utlf_isNull(goodflag)) {
  337. var oParam = {};
  338. oParam.id = "TRRSC00214";
  339. oParam.service = "purcbaseapp.PurcBaseMngt";
  340. oParam.method = "reqGetRscdtchgLists";
  341. oParam.inds = "req=ds_send_rscdtchglist";
  342. oParam.outds = "ds_main_rscdtchglists_rscdtchglist=rscdtchglist";
  343. oParam.async = false;
  344. //oParam.callback = "cf_TRRSC00214";
  345. tranf_submit(oParam);
  346. }
  347. }
  348. //----------------------------
  349. // Check All Size Data
  350. //----------------------------
  351. function fCheckSaveAllSize()
  352. {
  353. if (model.getValue(opt_goodcd.attribute("ref")).length== 0 ) {
  354. messageBox("물품코드가 존재하지 않아 저장 " ,"E001");
  355. return false;
  356. }
  357. for (var currow = 1 ; currow < grd_allsize.rows ; currow++)
  358. {
  359. if (grd_allsize.valueMatrix(currow , grd_allsize.colRef("goodspec")).length == 0)
  360. {
  361. messageBox(currow + " 번째 규격을 " ,"C001");
  362. grd_allsize.row = currow;
  363. grd_allsize.col= grd_allsize.colRef("goodspec");
  364. grd_allsize.editCell();
  365. return false;
  366. }
  367. }
  368. return true;
  369. }
  370. /****************************************************************************************
  371. * Argument : N/A
  372. * Description : 물품조회후 후처리
  373. ****************************************************************************************/
  374. function fAfterRetrGoodList() {
  375. ds_main_goodlists_goodlist.clearData(); ds_main_goodlists_goodlist.addRow();
  376. ds_main_goodlists_goodlist.copyRow(0, ds_main_list_goodlists_goodlist, ds_main_list_goodlists_goodlist.rowposition);
  377. group3.grp_detail.ipt_acptdd.value = "";
  378. group3.grp_detail.ipt_goodcd.setFocus();
  379. fSetOldGoodList();
  380. }
  381. /****************************************************************************************
  382. * Argument : N/A
  383. * Description : old물품코드 처리
  384. ****************************************************************************************/
  385. function fSetOldGoodList() {
  386. var sPath = "ds_main_goodlists_goodlist";
  387. var tPath = "ds_init_oldgoodlist";
  388. eval(tPath).copyData(eval(sPath));
  389. fRscdtchgRead();
  390. }
  391. //
  392. function fChkSaveData(pgrid_name, ptarget_node, psource_node) {
  393. var node1 = instance1.selectNodes(ptarget_node + "/*");
  394. var node2 = instance1.selectNodes(psource_node + "/*");
  395. for (var i = 0; i < node1.length ; i++) {
  396. for (var j = 0; j < node2.length; j++) {
  397. if (node1.item(i).nodeName == node2.item(j).nodeName) {
  398. var nextnode1 = instance1.selectNodes(ptarget_node + "/" + node1.item(i).nodeName + "[" + (pgrid_name.row - pgrid_name.fixedRows + 1) + "]" + "/*");
  399. var nextnode2 = instance1.selectNodes(psource_node + "/" + node2.item(j).nodeName + "/*");
  400. var copytarget = ptarget_node + "/" + node1.item(i).nodeName + "[" + (pgrid_name.row - pgrid_name.fixedRows + 1) + "]";
  401. var copysource = psource_node + "/" + node2.item(j).nodeName;
  402. for (var k = 0; k < nextnode1.length; k++) {
  403. for (var p = 0; p < nextnode2.length; p++) {
  404. if (nextnode1.item(k).nodeName == nextnode2.item(p).nodeName) {
  405. if (model.getValue(ptarget_node + "/" + node1.item(i).nodeName + "[" + (pgrid_name.row - pgrid_name.fixedRows + 1) + "]" + "/" + nextnode1.item(k).nodeName) !=
  406. model.getValue(psource_node + "/" + node2.item(j).nodeName + "/" + nextnode2.item(p).nodeName))return true;
  407. }
  408. }
  409. }
  410. }
  411. }
  412. }
  413. return false;
  414. }
  415. /****************************************************************************************
  416. * Argument : N/A
  417. * Description : ???
  418. ****************************************************************************************/
  419. function fCheckRetrieveData()
  420. {
  421. if(group3.grp_title.cmb_goodflag_search.value.length== 0 )
  422. {
  423. if(group3.grp_title.cmb_goodflag_search.text != "- 전 체 -")
  424. {
  425. //sysf_messageBox("물품구분을 " ,"C002");
  426. //model.setFocus("cmb_goodflag");
  427. //return false;
  428. }
  429. }
  430. return true;
  431. }
  432. function fInstGoodCdCopy()
  433. {
  434. if(grd_goodlist.rows - grd_goodlist.fixedRows == 0)return;
  435. btn_insert.dispatch("DOMActivate");
  436. model.SetValue(ipt_goodcd.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodcd"));
  437. model.SetValue(ipt_goodnm.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodnm"));
  438. model.SetValue(ipt_goodhngnm.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodhngnm"));
  439. model.SetValue(ipt_goodengnm.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodengnm"));
  440. model.SetValue(ipt_goodspec.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodspec"));
  441. model.SetValue(ipt_goodmodel.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodmodel"));
  442. model.SetValue(cmb_lrgcd.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/lrgcd"));
  443. cmb_lrgcd.dispatch("xforms-value-changed"); // 선택한 대분류에 대한 중분류 값을 얻기 위한 action
  444. model.SetValue(cmb_mdlcd.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/mdlcd"));
  445. model.SetValue(cmb_smlcd.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/smlcd"));
  446. model.refresh();
  447. model.setFocus("ipt_winacnt");
  448. }
  449. /****************************************************************************************
  450. * Argument : N/A
  451. * Description : 코드생성
  452. ****************************************************************************************/
  453. function fGoodCdCopy() {
  454. if(utlf_isNull(group3.grp_detail.cmb_goodflag.value)) {
  455. sysf_messageBox("물품구분을 " ,"C002");
  456. group3.grp_detail.cmb_goodflag.setFocus();
  457. return false;
  458. }
  459. if(utlf_isNull(group3.grp_detail.cmb_lrgcd.value)) {
  460. sysf_messageBox("대분류코드를 " ,"C002");
  461. group3.grp_detail.cmb_lrgcd.setFocus();
  462. return false;
  463. }
  464. if(utlf_isNull(group3.grp_detail.cmb_mdlcd.value)) {
  465. sysf_messageBox("중분류코드를 " ,"C002");
  466. group3.grp_detail.cmb_mdlcd.setFocus();
  467. return false;
  468. }
  469. dsf_makeValue( ds_send_goodcopy, "goodflag", "string", group3.grp_detail.cmb_goodflag.value);
  470. dsf_makeValue( ds_send_goodcopy, "lrgcd", "string", group3.grp_detail.cmb_lrgcd.value);
  471. dsf_makeValue( ds_send_goodcopy, "mdlcd", "string", group3.grp_detail.cmb_mdlcd.value);
  472. var oParam = {};
  473. oParam.id = "TRRSC05303";
  474. oParam.service = "purcbaseapp.PurcBaseMngt";
  475. oParam.method = "reqGetNewGoodCd";
  476. oParam.inds = "req=ds_send_goodcopy";
  477. oParam.outds = "ds_main_goodcopy_goodlist=goodlist";
  478. oParam.async = false;
  479. //oParam.callback = "cf_TRRSC05303";
  480. tranf_submit(oParam);
  481. var goodcd = ds_main_goodcopy_goodlist.getColumn(0, "goodcd");
  482. group3.grp_detail.ipt_goodcd.value = goodcd;
  483. }
  484. // --------------------------------------------------
  485. // Excel File를 Load한다.
  486. // --------------------------------------------------
  487. function fLoadExcel(pCls)
  488. {
  489. // if (model.getValue(cmb_instcd.attribute("ref")).length== 0 )
  490. // {
  491. // messageBox("기관코드를 " ,"C002");
  492. // model.setFocus("cmb_instcd");
  493. // return false;
  494. // }
  495. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  496. misfGridInit(grd_allsizecopy);
  497. grd_allsizecopy.loadExcel(fileName, 1);
  498. // fGridInsertChanged();
  499. // misfGridIUD(grd_rscdexcellist, "D");
  500. // misfGridIUD(grd_instexcellist, "D");
  501. grd_allsizecopy.refresh();
  502. }
  503. /****************************************************************************************
  504. * Argument : N/A
  505. * Description : Excel File를 Load한다.
  506. ****************************************************************************************/
  507. function fLoadExcel_2(pCls,pGroup,pGrid) {
  508. pGroup.visible = true;
  509. misfGridInit(pGrid);
  510. grdf_ImportExcel("ds_init_CopyData_CopyGoodLists_goodexcel", 2, pGrid, 0);
  511. }
  512. /****************************************************************************************
  513. * Argument : N/A
  514. * Description : Delete All Size Data
  515. ****************************************************************************************/
  516. function fDeleteSizeIdNull() {
  517. for (var cRow = ds_init_CopyData_CopySizeLists_CopySizeList.rowcount - 1 ; cRow >= 0 ; cRow--) {
  518. if (utlf_isNull(ds_init_CopyData_CopySizeLists_CopySizeList.getColumn(cRow , "allsizespecid"))) {
  519. ds_init_CopyData_CopySizeLists_CopySizeList.deleteRow(cRow);
  520. }
  521. }
  522. }
  523. /****************************************************************************************
  524. * Argument : N/A
  525. * Description : Remove Node All Size Data
  526. ****************************************************************************************/
  527. function fRemoveNodeSizeId()
  528. {
  529. var vGoodCd = group3.grp_detail.ipt_goodcd.value;
  530. var sPath ="ds_init_CopyData_CopySizeLists_CopySizeList";
  531. for (var cRow = eval(sPath).rowcount - 1 ; cRow >= 0 ; cRow--) {
  532. if (vGoodCd != eval(sPath).getColumn(cRow, "goodcd")) {
  533. eval(sPath).deleteRow(cRow);
  534. }
  535. }
  536. }
  537. /****************************************************************************************
  538. * Argument : N/A
  539. * Description : 선택물품을 적용하는 처리하는 함수
  540. ****************************************************************************************/
  541. function fCopyAllSizeId()
  542. {
  543. var vGoodCd = group3.grp_detail.ipt_goodcd.value;
  544. var tPath = "ds_main_allsizelists_allsizelist";
  545. var sPath = "ds_init_CopyData_CopySizeLists_CopySizeList";
  546. for (var cRow = 0; cRow < eval(sPath).rowcount; cRow++) {
  547. vAllSizeId = eval(sPath).getColumn(cRow, "allsizespecid");
  548. if (utlf_isNull(eval(tPath).lookup("allsizespecid", vAllSizeId, "goodcd"))) {
  549. misfGridIUD(group3.grp_detail.switch1.case1.grd_allsize, "A");
  550. eval(tPath).getColumn(eval(tPath).rowposition, "goodcd" , ds_send_allsizelist.getColumn(0, "goodcd"));
  551. eval(tPath).getColumn(eval(tPath).rowposition, "instflag" , ds_send_allsizelist.getColumn(0, "instflag"));
  552. eval(tPath).getColumn(eval(tPath).rowposition, "allsizespecid" , eval(sPath).getColumn(cRow, "allsizespecid"));
  553. eval(tPath).getColumn(eval(tPath).rowposition, "goodspec" , eval(sPath).getColumn(cRow, "goodspec"));
  554. eval(tPath).getColumn(eval(tPath).rowposition, "goodmodel" , eval(sPath).getColumn(cRow, "goodmodel"));
  555. eval(tPath).getColumn(eval(tPath).rowposition, "goodunit" , eval(sPath).getColumn(cRow, "goodunit"));
  556. } else {
  557. for (var tRow = 0; tRow < eval(tPath).rowcount; tRow++) {
  558. if (eval(tPath).getColumn(tRow, "allsizespecid") == vAllSizeId) {
  559. grdf_setStatus(group3.grp_detail.switch1.case1.grd_allsize, "U", [tRow]);
  560. eval(tPath).setColumn(tRow, "allsizespecid" , eval(sPath).getColumn(cRow, "allsizespecid" ));
  561. eval(tPath).setColumn(tRow, "goodspec" , eval(sPath).getColumn(cRow, "goodspec" ));
  562. eval(tPath).setColumn(tRow, "goodmodel" , eval(sPath).getColumn(cRow, "goodmodel" ));
  563. if (!utlf_isNull(eval(sPath).getColumn(cRow, "goodunit"))) {
  564. eval(tPath).setColumn(tRow, "goodunit" , eval(sPath).getColumn(cRow, "goodunit" ));
  565. }
  566. break;
  567. }
  568. }
  569. }
  570. }
  571. group3.grp_allsizecopy.visible = false;
  572. misfGridInit(group3.grp_allsizecopy.grd_allsizecopy);
  573. }
  574. //---------------------------------------
  575. // 제조회사코드 일괄 가져오기
  576. //---------------------------------------
  577. function fAllProdCmpySet()
  578. {
  579. //var sPath ="/root/init/CopyData/CopySizeLists/CopySizeList/goodcd
  580. // /root/main/allsizelists/allsizelist/goodcd
  581. // var vGoodCd = model.getValue(ipt_goodcd.attribute("ref"));
  582. var sPath = grd_copygood.nodeset;
  583. for (var cRow = (grd_copygood.rows-1) ; cRow > 0 ; cRow--)
  584. {
  585. if ((model.getValue(sPath+"["+cRow+"]/prodcmpycd") =="") &&
  586. (model.getValue(sPath+"["+cRow+"]/prodcmpynm") !="") ) {
  587. model.setValue("/root/send/prodcmpy/refcond" ,"prodcmpynm");
  588. model.setValue("/root/send/prodcmpy/prodcmpynm", model.getValue(sPath+"["+cRow+"]/prodcmpynm"));
  589. submit("TRRSC00213");
  590. if (instance1.selectNodes("/root/main/prodcmpylists/prodcmpylist/*").length > 0) {
  591. model.setValue(sPath+"["+cRow+"]/prodcmpycd",model.getValue("/root/main/prodcmpylists/prodcmpylist[1]/prodcmpycd"));
  592. }
  593. }
  594. }
  595. grd_copygood.refresh();
  596. }
  597. /****************************************************************************************
  598. * Argument : N/A
  599. * Description : 엑셀입력 데이터 저장
  600. ****************************************************************************************/
  601. function fSaveGoodExcel() {
  602. if (ds_init_CopyData_CopyGoodLists_goodexcel.rowcount < 1) return;
  603. var vData = "";
  604. var vHeader = "stat" + "▦" // 01 상태 org : m
  605. + "goodcd" + "▦" // 02 New Code
  606. + "edicd" + "▦" // 03 EDI코드
  607. + "goodflag" + "▦" // 04 물품구분
  608. + "lrgcd" + "▦" // 05 대분류
  609. + "mdlcd" + "▦" // 06 중분류
  610. + "smlcd" + "▦" // 07 소분류
  611. + "allsizespecid" + "▦" // 08 ALLSIZE
  612. + "goodnm" + "▦" // 09 품명
  613. + "goodspec" + "▦" // 10 규격
  614. + "goodmodel" + "▦" // 11 모델
  615. + "prodcmpycd" + "▦" // 12 제조회사코드
  616. + "prodcmpynm" + "▦" // 13 제조회사명
  617. + "ogoodcd" + "▦" // 14 자재코드
  618. + "asetflag" + "▦" // 15 자산코드
  619. + "cmt" + "▦" // 16 비고
  620. + "appinstdata" + "▩"; // 17 적용기관
  621. //
  622. for (var cRow = 0 ; cRow < ds_init_CopyData_CopyGoodLists_goodexcel.rowcount ; cRow++) {
  623. vData += "i" + "▦" // 01 상태
  624. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"goodcd" ) + "▦" // 02 New Code
  625. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"edicd" ) + "▦" // 03 EDI코드
  626. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"goodflag" ) + "▦" // 04 물품구분
  627. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"lrgcd" ) + "▦" // 05 대분류
  628. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"mdlcd" ) + "▦" // 06 중분류
  629. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"smlcd" ) + "▦" // 07 소분류
  630. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"allsizespecid") + "▦" // 08 ALLSIZE
  631. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"goodnm" ) + "▦" // 09 품명
  632. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"goodspec" ) + "▦" // 10 규격
  633. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"goodmodel" ) + "▦" // 11 모델
  634. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"prodcmpycd" ) + "▦" // 12 제조회사코드
  635. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"prodcmpynm" ) + "▦" // 13 제조회사명
  636. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"ogoodcd" ) + "▦" // 14 자재코드
  637. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"asetflag" ) + "▦" // 15 자산코드
  638. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"cmt" ) + "▦" // 16 비고
  639. + ds_init_CopyData_CopyGoodLists_goodexcel.getColumn(cRow,"appinstdata" ) + "▩"; // 17 적용기관
  640. }
  641. ds_send_save_excelgoodlists_goodexcel.clear();
  642. dsf_setCSVToDs("ds_send_save_excelgoodlists_goodexcel", vHeader+vData);
  643. var oParam = {};
  644. oParam.id = "TXRSC05305";
  645. oParam.service = "purcbaseapp.PurcBaseMngt";
  646. oParam.method = "reqExeExcelGood";
  647. oParam.inds = "goodexceldata=ds_send_save_excelgoodlists_goodexcel";
  648. oParam.outds = "";
  649. oParam.async = false;
  650. oParam.callback = "cf_TXRSC05305";
  651. tranf_submit(oParam);
  652. if (arErrorCode.pop("TXRSC05305") > -1) {
  653. misfGridInit(grp_copygood.grd_copygood);
  654. grp_copygood.visible = false;
  655. } else {
  656. alert("저장 실패!!! 확인요.");
  657. }
  658. }
  659. function cf_TXRSC05305(sSvcId, nErrorCode, sErrorMsg) {
  660. arErrorCode.push(sSvcId, nErrorCode);
  661. }
  662. /****************************************************************************************
  663. * Argument : N/A
  664. * Description : Save Grid to Excel
  665. ****************************************************************************************/
  666. function fSaveGridToExcel() {
  667. misfSaveExcel(group3.switch2.case5.grd_goodlist, "통합물품코드List", "물품코드");
  668. }
  669. /****************************************************************************************
  670. * Argument : N/A
  671. * Description : 신규재료 신청등록
  672. ****************************************************************************************/
  673. function fNewGoodcdCreate() {
  674. frmf_modal("SMRSD04500","SMRSD04500","","","","","","","","","","","M");
  675. }
  676. /****************************************************************************************
  677. * Argument : N/A
  678. * Description : fSetDataCopy
  679. ****************************************************************************************/
  680. function fSetDataCopy(){
  681. var vAppinstdata = fAppInstcdSet();
  682. group3.grp_detail.ipt_appinstdata.value = vAppinstdata;
  683. fGoodOldNewCompare(); // 변경Column Check
  684. misfGridRowStatusChange(group3.switch2.case5.grd_goodlist, "ds_main_list_goodlists_goodlist", "ds_main_goodlists_goodlist");
  685. }
  686. /****************************************************************************************
  687. * Argument : N/A
  688. * Description : 기관코드 리턴
  689. ****************************************************************************************/
  690. function fAppInstcdSet() {
  691. var vAppinstdata = "";
  692. for (var i = 0 ; i < ds_init_comcd_Z00071_Z00071.rowcount; i++) {
  693. if (ds_init_comcd_Z00071_Z00071.getColumn(i, "minval") == "Y") {
  694. vAppinstdata += ds_init_comcd_Z00071_Z00071.getColumn(i, "cdid") + " ";
  695. }
  696. }
  697. return vAppinstdata;
  698. }
  699. /****************************************************************************************
  700. * Argument : N/A
  701. * Description : Column별 변경이력정보를 비교하는 구분
  702. ****************************************************************************************/
  703. var GoodColumnData = "goodcd" +"*goodcd" +"*GOODCD" +"*물품코드" +"*V#" // 01 물품코드 VARCHAR2(12)
  704. + "goodflag" +"*goodflagnm" +"*GOODFLAG" +"*물품구분" +"*V#" // 02 물품구분 VARCHAR2(1)
  705. + "goodnm" +"*goodnm" +"*GOODNM" +"*물품명" +"*V#" // 03 물품명 VARCHAR2(200)
  706. + "goodhngnm" +"*goodhngnm" +"*GOODHNGNM" +"*물품명" +"*V#" // 04 영문명 VARCHAR2(200)
  707. + "goodengnm" +"*goodengnm" +"*GOODENGNM" +"*영문명" +"*V#" // 05 물품명 VARCHAR2(200)
  708. + "goodspec" +"*goodspec" +"*GOODSPEC" +"*물품규격" +"*V#" // 06 물품규격 VARCHAR2(100)
  709. + "goodmodel" +"*goodmodel" +"*GOODMODEL" +"*모델" +"*V#" // 07 모델 VARCHAR2(100)
  710. + "asetflag" +"*asetflagnm" +"*ASETFLAG" +"*자산구분" +"*V#" // 08 자산구분(R0043) VARCHAR2(1)
  711. + "lrgcd" +"*lrgnm" +"*LRGCD" +"*대분류코드" +"*V#" // 09 대분류코드 VARCHAR2(2)
  712. + "mdlcd" +"*mdlnm" +"*MDLCD" +"*중분류코드" +"*V#" // 10 중분류코드 VARCHAR2(3)
  713. + "smlcd" +"*smlnm" +"*SMLCD" +"*소분류코드" +"*V#" // 11 소분류코드 VARCHAR2(2)
  714. + "edicd" +"*edicd" +"*EDICD" +"*EDI코드" +"*V#" // 12 EDI코드 VARCHAR2(16)
  715. + "prodcmpycd" +"*prodcmpynm" +"*PRODCMPYCD" +"*제조회사코드" +"*V#" // 13 제조회사코드 VARCHAR2(5)
  716. + "mngtflag" +"*mngtflag" +"*MNGTFLAG" +"*수술Set" +"*V#" // 14 수술Set VARCHAR2(5)
  717. + "cmt" +"*cmt" +"*CMT" +"*비고" +"*V" ; // 15 비고 VARCHAR2(200)
  718. var GoodColumn = GoodColumnData.split("#");
  719. /****************************************************************************************
  720. * Argument : N/A
  721. * Description : 저장데이터 생성
  722. ****************************************************************************************/
  723. function fGoodOldNewCompare() {
  724. var DefCnt = 0;
  725. var chngCnt = 0;
  726. var vOldPath = "ds_init_oldgoodlist";
  727. var vNewPath = "ds_main_goodlists_goodlist";
  728. var vSndPath = "ds_send_save_goodchange";
  729. var vHeadData = "instcd" +"▦" // 01 기관코드
  730. + "tabname" +"▦" // 02 테이블명
  731. + "changefl" +"▦" // 03 변경분류 물품분류
  732. + "changecd" +"▦" // 04 변경코드 물품코드
  733. + "colname" +"▦" // 05 컬럼명
  734. + "colcomt" +"▦" // 06 컬럼코멘드
  735. + "oldvalue" +"▦" // 07 변경전변경값
  736. + "oldvalnm" +"▦" // 08 변경전변경명
  737. + "newvalue" +"▦" // 09 변경후변경값
  738. + "newvalnm" +"▦" // 10 변경후변경명
  739. + "colflag" +"▦" // 11 컬럼구분 V:VARCHAR,D:DATE,N:NUMBER,T:TIMESTAMP
  740. + "acptdd" +"▦" // 15 적용일자(추가)
  741. + "userid" +"▩"; // 14 변경작업자
  742. if (vGoodNew == "N") {
  743. dsf_setCSVToDs(vSndPath, vHeadData);
  744. return;
  745. }
  746. var vBodyData = "";
  747. var vInstcd = "000";
  748. var vUserId = sysf_getUserInfo("userid");
  749. var vTabName = "RSCMGOOD";
  750. var vGoodcd = eval(vNewPath).getColumn(0, "goodcd");
  751. var vGoodFalg = eval(vNewPath).getColumn(0, "goodflag");
  752. var vAcptdd = eval(vNewPath).getColumn(0, "acptdd");
  753. for (var i = 0; i < GoodColumn.length; i++) {
  754. var vColumn = GoodColumn[i].split("*");
  755. if (eval(vOldPath).getColumn(0,vColumn[0]) != eval(vNewPath).getColumn(0,vColumn[0])) {
  756. DefCnt++;
  757. if (vColumn[0] == "goodcd" || vColumn[0] == "goodnm" || vColumn[0] == "goodhngnm" ||
  758. vColumn[0] == "goodengnm" || vColumn[0] == "goodspec" || vColumn[0] == "goodmodel" ||
  759. vColumn[0] == "prodcmpycd" || vColumn[0] == "edicd" || vColumn[0] == "mngtflag" ) {
  760. chngCnt++;
  761. }
  762. vBodyData += vInstcd + "▦" // 01 기관코드
  763. + vTabName + "▦" // 02 테이블명
  764. + vGoodFalg + "▦" // 03 변경분류 물품분류
  765. + vGoodcd + "▦" // 04 변경코드 물품코드
  766. + vColumn[2] + "▦" // 05 컬럼명
  767. + vColumn[3] + "▦" // 06 컬럼코멘드
  768. + eval(vOldPath).getColumn(0,vColumn[0])+ "▦" // 07 변경전변경값
  769. + eval(vOldPath).getColumn(0,vColumn[1])+ "▦" // 08 변경전변경명
  770. + eval(vNewPath).getColumn(0,vColumn[0])+ "▦" // 09 변경후변경값
  771. + eval(vNewPath).getColumn(0,vColumn[1])+ "▦" // 10 변경후변경명
  772. + vColumn[4] + "▦" // 11 컬럼구분 V:VARCHAR,D:DATE,N:NUMBER,T:TIMESTAMP
  773. + vAcptdd + "▦" // 15 적용일자(추가)
  774. + vUserId + "▩"; // 14 변경작업자
  775. }
  776. }
  777. // dsf_createDs("ds_send_save", [
  778. // {col:"chngyn", type:"STRING", size:256}
  779. // ]);
  780. ds_main_list_goodlists_goodlist.updatecontrol = false;
  781. for(var i = 0; i < ds_main_list_goodlists_goodlist.rowcount; i++) {
  782. if(chngCnt > 0) {
  783. ds_main_list_goodlists_goodlist.setColumn(i, "chngyn", "Y");
  784. } else {
  785. ds_main_list_goodlists_goodlist.setColumn(i, "chngyn", "N");
  786. }
  787. }
  788. ds_main_list_goodlists_goodlist.updatecontrol = true;
  789. dsf_setCSVToDs(vSndPath, vHeadData+vBodyData);
  790. }
  791. /****************************************************************************************
  792. * Argument : N/A
  793. * Description : 통합물품 삭제처리
  794. ****************************************************************************************/
  795. function fDeleteRscmgoodView() {
  796. grp_delete.chk_delcheck1.value = "";
  797. grp_delete.chk_delcheck2.value = "";
  798. grp_delete.chk_delcheck3.value = "";
  799. grp_delete.chk_delcheck4.value = "";
  800. grp_delete.chk_delcheck5.value = "";
  801. grp_delete.ipt_delgood.value = group3.grp_detail.ipt_goodcd.value;
  802. grp_delete.ipt_delgoodnm.value = group3.grp_detail.ipt_goodnm.value;
  803. grp_delete.visible = true;
  804. }
  805. //--------------------------------------
  806. // 통합물품 삭제처리
  807. //--------------------------------------
  808. function fDeleteRscmgood()
  809. {
  810. if ((model.getValue(ipt_delgood.attribute("ref")) == "")) {
  811. alert("물품코드를 확인하십시요!!.");
  812. return;
  813. };
  814. if ((model.getValue(ipt_delgoodnm.attribute("ref")) == "")) {
  815. alert("물품코드명를 확인하십시요!!.");
  816. return;
  817. };
  818. if ((model.getValue(chk_delcheck1.attribute("ref")) != "Y") ||
  819. (model.getValue(chk_delcheck2.attribute("ref")) != "Y") ||
  820. (model.getValue(chk_delcheck3.attribute("ref")) != "Y") ||
  821. (model.getValue(chk_delcheck4.attribute("ref")) != "Y") ||
  822. (model.getValue(chk_delcheck5.attribute("ref")) != "Y") ) {
  823. alert("삭제의 Check여부를 확인하십시요!!.");
  824. return;
  825. };
  826. model.setValue("/root/send/delrscmgood/delflag" ,"All");
  827. submit("TXRSC05103");
  828. grp_delete.visible = false;
  829. btn_search.dispatch("DOMActivate");
  830. }
  831. //--------------------------------------
  832. // 제조회사 일괄변경처리
  833. //--------------------------------------
  834. function fChangeProdcmpy()
  835. {
  836. if ((model.getValue(ipt_delgood.attribute("ref")) == "")) {
  837. alert("물품코드를 확인하십시요!!.");
  838. return;
  839. };
  840. if ((model.getValue(ipt_delgoodnm.attribute("ref")) == "")) {
  841. alert("물품코드명를 확인하십시요!!.");
  842. return;
  843. };
  844. if ((model.getValue(chk_delcheck1.attribute("ref")) != "Y") ||
  845. (model.getValue(chk_delcheck2.attribute("ref")) != "Y") ||
  846. (model.getValue(chk_delcheck3.attribute("ref")) != "Y") ||
  847. (model.getValue(chk_delcheck4.attribute("ref")) != "Y") ||
  848. (model.getValue(chk_delcheck5.attribute("ref")) != "Y") ) {
  849. alert("삭제의 Check여부를 확인하십시요!!.");
  850. return;
  851. };
  852. model.setValue("/root/send/delrscmgood/delflag" ,"All");
  853. submit("TXRSC05103");
  854. grp_delete.visible = false;
  855. btn_search.dispatch("DOMActivate");
  856. }
  857. /****************************************************************************************
  858. * Argument : N/A
  859. * Description : ALLSIZE정보 저장데이터 생성
  860. ****************************************************************************************/
  861. function fSetHistInfo() {
  862. var vHeadData = "instcd" +"▦" // 01 기관코드
  863. + "tabname" +"▦" // 02 테이블명
  864. + "changefl" +"▦" // 03 변경분류 물품분류
  865. + "changecd" +"▦" // 04 변경코드 물품코드
  866. + "colname" +"▦" // 05 컬럼명
  867. + "colcomt" +"▦" // 06 컬럼코멘드
  868. + "oldvalue" +"▦" // 07 변경전변경값
  869. + "oldvalnm" +"▦" // 08 변경전변경명
  870. + "newvalue" +"▦" // 09 변경후변경값
  871. + "newvalnm" +"▦" // 10 변경후변경명
  872. + "colflag" +"▦" // 11 컬럼구분 V:VARCHAR,D:DATE,N:NUMBER,T:TIMESTAMP
  873. + "userid" +"▩"; // 14 변경작업자
  874. var vBodyData = "";
  875. var vUserId = sysf_getUserInfo("userid");
  876. var vInstcd = sysf_getUserInfo("dutplceinstcd");
  877. var vTabName = "RSCDGOOD2";
  878. var vGoodcd = "";
  879. var vAllSizeSpecid = "";
  880. var vCmt = "";
  881. var vStatus = "";
  882. var vGoodFlag = group3.grp_detail.cmb_goodflag.value;
  883. for(var i = 0; i < ds_main_allsizelists_allsizelist.rowcount; i++) {
  884. vGoodcd = ds_main_allsizelists_allsizelist.getColumn(i, "goodcd");
  885. vAllSizeSpecid = ds_main_allsizelists_allsizelist.getColumn(i, "allsizespecid");
  886. vStatus = ds_main_allsizelists_allsizelist.getRowType(i);
  887. if(vStatus != 1) {
  888. vBodyData += vInstcd + "▦" // 01 기관코드
  889. + vTabName + "▦" // 02 테이블명
  890. + vGoodFlag + "▦" // 03 변경분류 물품분류
  891. + vGoodcd + "▦" // 04 변경코드 물품코드
  892. + " " + "▦" // 05 컬럼명
  893. + "Allsize변경" + "▦" // 06 컬럼코멘드
  894. + " " + "▦" // 07 변경전변경값
  895. + "" + "▦" // 08 변경전변경명
  896. + " " + "▦" // 09 변경후변경값
  897. + "" + "▦" // 10 변경후변경명
  898. + "" + "▦" // 11 컬럼구분 V:VARCHAR,D:DATE,N:NUMBER,T:TIMESTAMP
  899. + vUserId + "▩"; // 14 변경작업자
  900. break;
  901. }
  902. }
  903. dsf_setCSVToDs("ds_send_save_allsizelists_histinfo", vHeadData + vBodyData);
  904. }
  905. /****************************************************************************************
  906. * Argument : N/A
  907. * Description : 항목 초기화
  908. ****************************************************************************************/
  909. function fClearGoodInfo() {
  910. group3.grp_detail.cmb_lrgcd.value = "";
  911. group3.grp_detail.cmb_mdlcd.value = "";
  912. group3.grp_detail.cmb_smlcd.value = "";
  913. group3.grp_detail.ipt_instcd.value = "";
  914. group3.grp_detail.cmb_goodflag.value = "";
  915. group3.grp_detail.ipt_goodnm.value = "";
  916. group3.grp_detail.ipt_goodhngnm.value = "";
  917. group3.grp_detail.ipt_goodengnm.value = "";
  918. group3.grp_detail.ipt_goodspec.value = "";
  919. group3.grp_detail.ipt_goodmodel.value = "";
  920. group3.grp_detail.ipt_prodcmpycd.value = "";
  921. group3.grp_detail.opt_prodcmpynm.value = "";
  922. group3.grp_detail.ipt_edicd.value = "";
  923. group3.grp_detail.cmb_asetflag.value = "";
  924. group3.grp_detail.ipt_lastupdtridnm.value = "";
  925. group3.grp_detail.ipt_cmt.value = "";
  926. group3.grp_detail.ipt_appinstdata.value = "";
  927. }
  928. /* ------------------------------------------------- */
  929. /* ------End Of List ------------------------------- */
  930. /* -------------------------------------------------- */
  931. ]]></Script>