SMRSC05302.js 53 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210
  1. /* ---------------------------------------------------------------------
  2. SMRSC05302_통합물품코드등록.xrw (SMRSC05302.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By HR Choi
  6. : 2015.05.02
  7. ---------------------------------------------------------------------- */
  8. var xAuth = !(checkAuth("X"));
  9. var rAuth = !(checkAuth("R"));
  10. var gGoodFlag = "XX";
  11. var gInstcd = getUserInfo("dutplceinstcd");
  12. var gInstnm = getUserInfo("dutplceinstnm");
  13. var vGoodNew = "U"; //U:UPDATE, N:NEW
  14. // --------------------------------------------------
  15. // 사용자권한 Check
  16. // --------------------------------------------------
  17. function fInitForm() {
  18. // btn_search.disabled = rAuth ;
  19. btn_save.disabled = xAuth ;
  20. fInitialize();
  21. // fCheckAuth();
  22. // fOpenForm();
  23. }
  24. // --------------------------------------------------
  25. // 사용자권한 Check
  26. // --------------------------------------------------
  27. function fCheckAuth()
  28. {
  29. btn_save.disabled = false; // 저장
  30. bbt_newgoodcd.disabled = false; // 신규재료신청
  31. bbt_excelload.disabled = false; // Excel Load
  32. btn_choidel.disabled = false; // 물품삭제
  33. btn_addgrdgoodlist.disabled = false; // 뭎품추가
  34. bbt_insrow.disabled = false; // All Size추가
  35. bbt_delrow.disabled = false; // All Size삭제
  36. btn_loadexcel.disabled = false; // All Size Excel
  37. bbt_sizesave.disabled = false; // All Size저장
  38. model.setValue(opt_usernm.attribute("ref"), getUserInfo("usernm"));
  39. var instcls = "1";
  40. // if (gInstcd == "012" ) instcls = "1"; // 012:서울성모
  41. // if (gInstnm == "103" ) instcls = "1"; // 103:성의교정
  42. //-----------------------------------------------------------------------------------
  43. // 일반소모품의경우는 모든 병원에서 수정저장할수 있도록 한다.
  44. // 2009.11.05 각병원 ITC요청으로 수정함.
  45. //-----------------------------------------------------------------------------------
  46. /*
  47. if (gGoodFlag =="Z") {
  48. instcls = "1";
  49. btn_choidel.visible = true; // 물품삭제
  50. }
  51. //
  52. if ((gGoodFlag =="Y") && (getUserInfo("userid") == "80030609")) { // 80030609(이혜숙)
  53. instcls = "1";
  54. btn_choidel.visible = true; // 물품삭제
  55. }
  56. //
  57. if ((gGoodFlag =="U") && (getUserInfo("userid") == "80030609")) { // 80030609(이혜숙)
  58. instcls = "1";
  59. btn_choidel.visible = true; // 물품삭제
  60. }
  61. //
  62. if ((gGoodFlag =="Y") && (getUserInfo("userid") == "95055737")) { // 95055737(김영순)
  63. instcls = "1";
  64. btn_choidel.visible = true; // 물품삭제
  65. }
  66. //
  67. if ((gGoodFlag =="U") && (getUserInfo("userid") == "95055737")) { // 95055737(김영순)
  68. instcls = "1";
  69. btn_choidel.visible = true; // 물품삭제
  70. }
  71. //
  72. */
  73. if (instcls == "1") {
  74. btn_save.visible = true; // 저장
  75. bbt_newgoodcd.visible = true; // 신규재료신청
  76. bbt_excelload.visible = true; // Excel Load
  77. // btn_choidel.visible = true; // 물품삭제
  78. btn_addgrdgoodlist.visible = true; // 물품추가
  79. bbt_insrow.visible = true; // All Size추가
  80. bbt_delrow.visible = true; // All Size삭제
  81. btn_loadexcel.visible = true; // All Size Excel
  82. bbt_sizesave.visible = true; // All Size저장
  83. }
  84. }
  85. // --------------------------------------------------
  86. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  87. // --------------------------------------------------
  88. function fInitialize()
  89. {
  90. misfGridInit(grd_allsize);
  91. misfGridInit(grd_applist);
  92. misfGridInit(grd_allsizecopy);
  93. model.resetInstanceNode("/root/send");
  94. model.setValue("/root/send/save/setautoins/setyn","N");
  95. model.setValue("/root/send/goodlist/filecls", "S");
  96. rszfGoodFlagListByPgmGubn(cmb_goodflag_search,"1","N");
  97. addComboItem("cmb_goodflag_search", "- 전 체 -", "", "above");
  98. misfComboCopyItemSet(cmb_goodflag_search, "", cmb_goodflag, ""); //물품구분
  99. cmb_goodflag.choices.itemset.attribute("nodeset") = cmb_goodflag.choices.itemset.attribute("nodeset") + "[goodflag!='']";
  100. misfComboComCdListMulti("R0043,Z0007,R0032","cmb_asetflag,cmb_instcd,grd_allsize.goodunit");
  101. //기관코드 읽어오는 부분 넣기
  102. gInstcd = getUserInfo("dutplceinstcd");
  103. gInstnm = getUserInfo("dutplceinstnm");
  104. if(gInstcd.length > 0)model.setValue(opt_instcd.attribute("ref"), gInstcd);
  105. if(gInstnm.length > 0)model.setValue(opt_instnm.attribute("ref"), gInstnm);
  106. //물품구분일 경우 첫번째 index 자동 설정
  107. if(cmb_goodflag_search.length> 0) cmb_goodflag_search.selectedindex= 0;
  108. model.removeNodeset(grd_goodlist.nodeset);
  109. model.removeNodeset(grd_instinfo.nodeset);
  110. // model.removeNodeset(grd_allsize.nodeset );
  111. // 대분류 코드 콤보 설정.
  112. rszfLMSComboList("ALL", "", "", "cmb_lrgcd_search", "", "L", "Y", "Y");
  113. misfComboCopyItemSet(cmb_lrgcd_search, "", cmb_lrgcd, "");
  114. misfChangeItemsetFilter(cmb_lrgcd_search,"goodflag=null");
  115. misfChangeItemsetFilter(cmb_lrgcd,"goodflag=''");
  116. cmb_goodflag_search.dispatch("xforms-value-changed");
  117. cmb_goodflag.dispatch("xforms-value-changed");
  118. misfMsterDetailSet(grd_goodlist,null , "TRRSC05309" ,"Y", "byrow");
  119. misfMsterDetailSet(grd_instinfo,grd_goodlist, "TRRSC05308" ,"N", "byrow");
  120. grd_goodlist.explorerbar = "sortshow";
  121. fCheckAuth();
  122. model.refresh();
  123. model.setFocus("ipt_goodcd_search");
  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. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  176. // 화면 전체 조회
  177. // --------------------------------------------------
  178. function fRetrGoodList(nodecopy) {
  179. //model.resetInstanceNode("/root/main/goodlists/det/gooddetlist");
  180. model.setValue("/root/send/goodlist/filecls" ,"S");
  181. misfMsterDetailRetrieve();
  182. // 중분류/소분류 combo setting
  183. var goodflag = grd_goodlist.valueMatrix(grd_goodlist.row,grd_goodlist.colRef("goodflag"));
  184. var lrgcd = grd_goodlist.valueMatrix(grd_goodlist.row,grd_goodlist.colRef("lrgcd"));
  185. var mdlcd = grd_goodlist.valueMatrix(grd_goodlist.row,grd_goodlist.colRef("mdlcd"));
  186. var smlcd = grd_goodlist.valueMatrix(grd_goodlist.row,grd_goodlist.colRef("smlcd"));
  187. cmb_goodflag.value = goodflag;
  188. misfChangeItemsetFilter(cmb_lrgcd,"goodflag='" + goodflag + "'");
  189. // 물품구분별 권한
  190. fSetGoodFlagAuth();
  191. if (smlcd.length > 0 )
  192. {
  193. rszfLMSComboList(goodflag, lrgcd, "" , "cmb_mdlcd", "", "M", "", "Y");
  194. rszfLMSComboList(goodflag, lrgcd, mdlcd, "cmb_smlcd", "", "S", "", "Y");
  195. } else if (mdlcd.length > 0 )
  196. {
  197. rszfLMSComboList(goodflag, lrgcd, "", "cmb_mdlcd", "", "M", "", "Y");
  198. }
  199. if (nodecopy == true) fAfterRetrGoodList();
  200. fAppInstcdGridSet(model.getValue(ipt_appinstdata.attribute("ref")));
  201. fAllSizeRead();
  202. // fRscdtchgRead();
  203. }
  204. // --------------------------------------------------
  205. // 물품구분별 권한체크.
  206. // --------------------------------------------------
  207. function fSetGoodFlagAuth()
  208. {
  209. var setStatus = true;
  210. var goodFlag = model.getValue(cmb_goodflag.attribute("ref"));
  211. if(goodFlag == gGoodFlag) return; // 이전조회 물품구분과 동일할 경우 스킵
  212. if(opt_instcd.value != "" && goodFlag != "") {
  213. rszfGetPurcGoodFlagAuthInfo(opt_instcd.value , goodFlag, getUserInfo("userid"), "%");
  214. if (rszfGetGoodFlagAuthInfoByCond("goodflagauth") =="Y")
  215. {
  216. setStatus = false;
  217. }
  218. }
  219. btn_save.disabled = setStatus;
  220. gGoodFlag = goodFlag;
  221. }
  222. // --------------------------------------------------
  223. // Save Data Check
  224. // --------------------------------------------------
  225. function fCheckSaveData()
  226. {
  227. if (model.getValue(ipt_goodcd.attribute("ref")).length== 0 )
  228. {
  229. messageBox("물품코드는" ,"I003");
  230. model.setFocus("ipt_goodcd");
  231. return false;
  232. }
  233. //
  234. if (model.getValue(ipt_goodnm.attribute("ref")).length > 0 )
  235. {
  236. if (model.getValue(ipt_goodhngnm.attribute("ref")).length == 0 ) {
  237. model.setValue(ipt_goodhngnm.attribute("ref"), model.getValue(ipt_goodnm.attribute("ref")));
  238. }
  239. //
  240. if (model.getValue(ipt_goodengnm.attribute("ref")).length == 0 ) {
  241. model.setValue(ipt_goodengnm.attribute("ref"), model.getValue(ipt_goodnm.attribute("ref")));
  242. }
  243. }
  244. //
  245. if (model.getValue(ipt_goodhngnm.attribute("ref")).length > 0 )
  246. {
  247. if (model.getValue(ipt_goodnm.attribute("ref")).length == 0 ) {
  248. model.setValue(ipt_goodnm.attribute("ref"), model.getValue(ipt_goodhngnm.attribute("ref")));
  249. }
  250. //
  251. if (model.getValue(ipt_goodengnm.attribute("ref")).length == 0 ) {
  252. model.setValue(ipt_goodengnm.attribute("ref"), model.getValue(ipt_goodhngnm.attribute("ref")));
  253. }
  254. }
  255. //
  256. if (model.getValue(ipt_goodengnm.attribute("ref")).length > 0 )
  257. {
  258. if (model.getValue(ipt_goodnm.attribute("ref")).length == 0 ) {
  259. model.setValue(ipt_goodnm.attribute("ref"), model.getValue(ipt_goodengnm.attribute("ref")));
  260. }
  261. //
  262. if (model.getValue(ipt_goodhngnm.attribute("ref")).length == 0 ) {
  263. model.setValue(ipt_goodhngnm.attribute("ref"), model.getValue(ipt_goodengnm.attribute("ref")));
  264. }
  265. }
  266. if(model.getValue(ipt_goodnm.attribute("ref")).length== 0 )
  267. {
  268. messageBox("물품코드명은" ,"I003");
  269. model.setFocus("ipt_goodnm");
  270. return false;
  271. }
  272. if(model.getValue(cmb_lrgcd.attribute("ref")).length== 0 )
  273. {
  274. messageBox("대분류코드는" ,"I003");
  275. model.setFocus("cmb_lrgcd");
  276. return false;
  277. }
  278. //----------------
  279. if(model.getValue(cmb_asetflag.attribute("ref")).length== 0 )
  280. {
  281. messageBox("자산구분은" ,"I003");
  282. model.setFocus("cmb_asetflag");
  283. return false;
  284. }
  285. //-----------------------------------------------------------------------------------------------
  286. return true;
  287. }
  288. //----------------------------
  289. // Check All Size Data
  290. //----------------------------
  291. function fRscdtchgRead()
  292. {
  293. misfGridInit(grd_chgdata);
  294. var goodcd = ipt_goodcd.value.getTrim();
  295. var goodflag = model.getValue(cmb_goodflag_search.attribute("ref")).getTrim();
  296. model.setValue("/root/send/rscdtchglist/goodcd" ,goodcd);
  297. model.setValue("/root/send/rscdtchglist/goodflag",goodflag);
  298. if(goodcd != "" && goodflag != "") {
  299. submit("TRRSC00214",false);
  300. grd_chgdata.refresh();
  301. }
  302. }
  303. //----------------------------
  304. // Check All Size Data
  305. //----------------------------
  306. function fAllSizeRead()
  307. {
  308. model.setValue("/root/send/allsizelist/goodcd" ,ipt_goodcd.value);
  309. model.setValue("/root/send/allsizelist/instflag","1");
  310. submit("TRRSC00211",false);
  311. grd_allsize.refresh();
  312. }
  313. //----------------------------
  314. // Check All Size Data
  315. //----------------------------
  316. function fCheckSaveAllSize()
  317. {
  318. if (model.getValue(opt_goodcd.attribute("ref")).length== 0 ) {
  319. messageBox("물품코드가 존재하지 않아 저장 " ,"E001");
  320. return false;
  321. }
  322. for (var currow = 1 ; currow < grd_allsize.rows ; currow++)
  323. {
  324. if (grd_allsize.valueMatrix(currow , grd_allsize.colRef("goodspec")).length == 0)
  325. {
  326. messageBox(currow + " 번째 규격을 " ,"C001");
  327. grd_allsize.row = currow;
  328. grd_allsize.col= grd_allsize.colRef("goodspec");
  329. grd_allsize.editCell();
  330. return false;
  331. }
  332. }
  333. return true;
  334. }
  335. //
  336. function fAfterRetrGoodList() {
  337. model.copyNode("/root/main/goodlists/goodlist","/root/main/list/goodlists/goodlist[" + (grd_goodlist.row - grd_goodlist.fixedRows + 1) + "]");
  338. model.makeValue(ipt_acptdd.attribute("ref"),"");
  339. grp_detail.refresh();
  340. model.setFocus("ipt_goodcd");
  341. fSetOldGoodList();
  342. }
  343. //
  344. function fSetOldGoodList() {
  345. var sPath = "/root/main/goodlists/goodlist";
  346. var tPath = "/root/init/oldgoodlist";
  347. model.copyNode(tPath, sPath);
  348. fRscdtchgRead();
  349. // model.removenode(tPath);
  350. // model.makeNode(tPath);
  351. // model.setValue(tPath, vData);
  352. }
  353. //
  354. function fSetDataCopy(){
  355. var vAppinstdata = fAppInstcdSet();
  356. model.setValue(ipt_appinstdata.attribute("ref"), vAppinstdata);
  357. fGoodOldNewCompare(); // 변경Column Check
  358. misfGridRowStatusChange(grd_goodlist,"/root/main/list/goodlists" , "/root/main/goodlists/");
  359. grp_detail.refresh();
  360. }
  361. function fAppInstcdClear() {
  362. for (var i = 1 ; i < grd_applist.rows ; i++) {
  363. model.setValue(grd_applist.nodeset+"["+ i +"]/minval", "N");
  364. }
  365. // grd_applist.refresh();
  366. }
  367. function fAppInstcdSet() {
  368. var vAppinstdata = "";
  369. for (var i = 1 ; i < grd_applist.rows ; i++) {
  370. if (model.getValue(grd_applist.nodeset+"["+ i +"]/minval") == "Y") {
  371. vAppinstdata += model.getValue(grd_applist.nodeset+"["+ i +"]/cdid") + " ";
  372. }
  373. }
  374. return vAppinstdata;
  375. }
  376. //
  377. function fAppInstcdGridSet(pAppinstdata) {
  378. var vAppinstdata = pAppinstdata.split(" ");
  379. fAppInstcdClear();
  380. for(var j=0; j < vAppinstdata.length; j++){
  381. if(vAppinstdata[j] != "") {
  382. var chkNode = instance1.selectNodes(grd_applist.nodeset+"[cdid ='"+ vAppinstdata[j] + "']");
  383. if(chkNode != null && chkNode.length > 0) {
  384. model.setValue(grd_applist.nodeset+"[cdid ='"+ vAppinstdata[j] + "']/minval", "Y");
  385. }
  386. }
  387. }
  388. grd_applist.refresh();
  389. }
  390. //
  391. function fChkSaveData(pgrid_name, ptarget_node, psource_node) {
  392. var node1 = instance1.selectNodes(ptarget_node + "/*");
  393. var node2 = instance1.selectNodes(psource_node + "/*");
  394. for (var i = 0; i < node1.length ; i++) {
  395. for (var j = 0; j < node2.length; j++) {
  396. if (node1.item(i).nodeName == node2.item(j).nodeName) {
  397. var nextnode1 = instance1.selectNodes(ptarget_node + "/" + node1.item(i).nodeName + "[" + (pgrid_name.row - pgrid_name.fixedRows + 1) + "]" + "/*");
  398. var nextnode2 = instance1.selectNodes(psource_node + "/" + node2.item(j).nodeName + "/*");
  399. var copytarget = ptarget_node + "/" + node1.item(i).nodeName + "[" + (pgrid_name.row - pgrid_name.fixedRows + 1) + "]";
  400. var copysource = psource_node + "/" + node2.item(j).nodeName;
  401. for (var k = 0; k < nextnode1.length; k++) {
  402. for (var p = 0; p < nextnode2.length; p++) {
  403. if (nextnode1.item(k).nodeName == nextnode2.item(p).nodeName) {
  404. if (model.getValue(ptarget_node + "/" + node1.item(i).nodeName + "[" + (pgrid_name.row - pgrid_name.fixedRows + 1) + "]" + "/" + nextnode1.item(k).nodeName) !=
  405. model.getValue(psource_node + "/" + node2.item(j).nodeName + "/" + nextnode2.item(p).nodeName))return true;
  406. }
  407. }
  408. }
  409. }
  410. }
  411. }
  412. return false;
  413. }
  414. function fCheckRetrieveData()
  415. {
  416. if(model.getValue(cmb_goodflag_search.attribute("ref")).length== 0 )
  417. {
  418. if(cmb_goodflag_search.label != "- 전 체 -")
  419. {
  420. //messageBox("물품구분을 " ,"C002");
  421. //model.setFocus("cmb_goodflag");
  422. //return false;
  423. }
  424. }
  425. return true;
  426. }
  427. function fInstGoodCdCopy()
  428. {
  429. if(grd_goodlist.rows - grd_goodlist.fixedRows == 0)return;
  430. btn_insert.dispatch("DOMActivate");
  431. model.SetValue(ipt_goodcd.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodcd"));
  432. model.SetValue(ipt_goodnm.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodnm"));
  433. model.SetValue(ipt_goodhngnm.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodhngnm"));
  434. model.SetValue(ipt_goodengnm.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodengnm"));
  435. model.SetValue(ipt_goodspec.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodspec"));
  436. model.SetValue(ipt_goodmodel.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodmodel"));
  437. model.SetValue(cmb_lrgcd.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/lrgcd"));
  438. cmb_lrgcd.dispatch("xforms-value-changed"); // 선택한 대분류에 대한 중분류 값을 얻기 위한 action
  439. model.SetValue(cmb_mdlcd.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/mdlcd"));
  440. model.SetValue(cmb_smlcd.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/smlcd"));
  441. model.refresh();
  442. model.setFocus("ipt_winacnt");
  443. }
  444. function fGoodCdCopy()
  445. {
  446. if(model.getValue(cmb_goodflag.attribute("ref")).length== 0 ) {
  447. messageBox("물품구분을 " ,"C002");
  448. model.setFocus("cmb_goodflag");
  449. return false;
  450. }
  451. if(model.getValue(cmb_lrgcd.attribute("ref")).length== 0 ) {
  452. messageBox("대분류코드를 " ,"C002");
  453. model.setFocus("cmb_lrgcd");
  454. return false;
  455. }
  456. if(model.getValue(cmb_mdlcd.attribute("ref")).length== 0 ) {
  457. messageBox("중분류코드를 " ,"C002");
  458. model.setFocus("cmb_mdlcd");
  459. return false;
  460. }
  461. model.makeValue("/root/send/goodcopy/goodflag", model.getValue(cmb_goodflag.attribute("ref")));
  462. model.makeValue("/root/send/goodcopy/lrgcd" , model.getValue(cmb_lrgcd.attribute("ref")));
  463. model.makeValue("/root/send/goodcopy/mdlcd" , model.getValue(cmb_mdlcd.attribute("ref")));
  464. submit("TRRSC05303");
  465. var goodcd = model.getValue("/root/main/goodcopy/goodlist/goodcd");
  466. //if (goodcd.length == 0)goodcd = model.getValue(cmb_goodflag_search.attribute("ref")) + model.getValue(cmb_lrgcd.attribute("ref")) + model.getValue(cmb_mdlcd.attribute("ref")) + "0001";
  467. model.setValue(ipt_goodcd.attribute("ref"), goodcd);
  468. grp_detail.refresh();
  469. }
  470. // --------------------------------------------------
  471. // Excel File를 Load한다.
  472. // --------------------------------------------------
  473. function fLoadExcel(pCls)
  474. {
  475. // if (model.getValue(cmb_instcd.attribute("ref")).length== 0 )
  476. // {
  477. // messageBox("기관코드를 " ,"C002");
  478. // model.setFocus("cmb_instcd");
  479. // return false;
  480. // }
  481. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  482. misfGridInit(grd_allsizecopy);
  483. grd_allsizecopy.loadExcel(fileName, 1);
  484. // fGridInsertChanged();
  485. // misfGridIUD(grd_rscdexcellist, "D");
  486. // misfGridIUD(grd_instexcellist, "D");
  487. grd_allsizecopy.refresh();
  488. }
  489. // --------------------------------------------------
  490. // Excel File를 Load한다.
  491. // --------------------------------------------------
  492. function fLoadExcel_2(pCls,pGroup,pGrid)
  493. {
  494. pGroup.visible = true;
  495. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  496. misfGridInit(pGrid);
  497. pGrid.loadExcel(fileName, 1);
  498. pGrid.refresh();
  499. }
  500. //----------------------------
  501. // Delete All Size Data
  502. //----------------------------
  503. function fDeleteSizeIdNull()
  504. {
  505. for (var cRow = (grd_allsizecopy.rows-1) ; cRow > 0 ; cRow--)
  506. {
  507. if (grd_allsizecopy.valueMatrix(cRow , grd_allsizecopy.colRef("allsizespecid")).length == 0)
  508. {
  509. grd_allsizecopy.deleteRow(cRow);
  510. }
  511. }
  512. grd_allsizecopy.refresh();
  513. }
  514. //----------------------------
  515. // Remove Node All Size Data
  516. //----------------------------
  517. function fRemoveNodeSizeId()
  518. {
  519. //var sPath ="/root/init/CopyData/CopySizeLists/CopySizeList/goodcd
  520. // /root/main/allsizelists/allsizelist/goodcd
  521. var vGoodCd = model.getValue(ipt_goodcd.attribute("ref"));
  522. var sPath ="/root/init/CopyData/CopySizeLists/CopySizeList";
  523. for (var cRow = (grd_allsizecopy.rows-1) ; cRow > 0 ; cRow--)
  524. {
  525. if (vGoodCd != model.getValue(sPath+"["+cRow+"]/goodcd")) {
  526. model.removeNodeset(sPath+"["+cRow+"]");
  527. }
  528. }
  529. grd_allsizecopy.refresh();
  530. }
  531. //----------------------------
  532. // Remove Node All Size Data
  533. //----------------------------
  534. function fCopyAllSizeId()
  535. {
  536. //var sPath ="/root/init/CopyData/CopySizeLists/CopySizeList/goodcd
  537. // /root/main/allsizelists/allsizelist/goodcd
  538. var vGoodCd = model.getValue(ipt_goodcd.attribute("ref"));
  539. var tPath = "/root/main/allsizelists/allsizelist";
  540. var sPath = "/root/init/CopyData/CopySizeLists/CopySizeList";
  541. for (var cRow = 1; cRow < grd_allsizecopy.rows ; cRow++)
  542. {
  543. vAllSizeId = model.getValue(sPath+"["+cRow+"]/allsizespecid");
  544. if (model.getValue(tPath+"[allsizespecid='"+vAllSizeId+"']/goodcd") =="") {
  545. misfGridIUD(grd_allsize, "A");
  546. model.setValue(grd_allsize.nodeset + "["+ grd_allsize.row + "]/goodcd" , model.getValue("/root/send/allsizelist/goodcd" ));
  547. model.setValue(grd_allsize.nodeset + "["+ grd_allsize.row + "]/instflag" , model.getValue("/root/send/allsizelist/instflag"));
  548. model.setValue(grd_allsize.nodeset + "["+ grd_allsize.row + "]/allsizespecid" , model.getValue(sPath+"["+cRow+"]/allsizespecid" ));
  549. model.setValue(grd_allsize.nodeset + "["+ grd_allsize.row + "]/goodspec" , model.getValue(sPath+"["+cRow+"]/goodspec" ));
  550. model.setValue(grd_allsize.nodeset + "["+ grd_allsize.row + "]/goodmodel" , model.getValue(sPath+"["+cRow+"]/goodmodel" ));
  551. model.setValue(grd_allsize.nodeset + "["+ grd_allsize.row + "]/goodunit" , model.getValue(sPath+"["+cRow+"]/goodunit" ));
  552. } else {
  553. for (var tRow = 1; tRow < grd_allsize.rows ; tRow++) {
  554. if (model.getValue(tPath+"["+tRow+"]/allsizespecid") == vAllSizeId) {
  555. grd_allsize.rowStatus(tRow) = 2;
  556. model.setValue(grd_allsize.nodeset + "["+ tRow+ "]/allsizespecid" , model.getValue(sPath+"["+cRow+"]/allsizespecid" ));
  557. model.setValue(grd_allsize.nodeset + "["+ tRow+ "]/goodspec" , model.getValue(sPath+"["+cRow+"]/goodspec" ));
  558. model.setValue(grd_allsize.nodeset + "["+ tRow+ "]/goodmodel" , model.getValue(sPath+"["+cRow+"]/goodmodel" ));
  559. if (model.getValue(sPath+"["+cRow+"]/goodunit") != ""){
  560. model.setValue(grd_allsize.nodeset + "["+ tRow+ "]/goodunit" , model.getValue(sPath+"["+cRow+"]/goodunit" ));
  561. }
  562. break;
  563. }
  564. }
  565. }
  566. }
  567. grp_allsizecopy.visible = false;
  568. misfGridInit(grd_allsizecopy);
  569. grd_allsize.refresh();
  570. }
  571. //---------------------------------------
  572. // 제조회사코드 일괄 가져오기
  573. //---------------------------------------
  574. function fAllProdCmpySet()
  575. {
  576. //var sPath ="/root/init/CopyData/CopySizeLists/CopySizeList/goodcd
  577. // /root/main/allsizelists/allsizelist/goodcd
  578. // var vGoodCd = model.getValue(ipt_goodcd.attribute("ref"));
  579. var sPath = grd_copygood.nodeset;
  580. for (var cRow = (grd_copygood.rows-1) ; cRow > 0 ; cRow--)
  581. {
  582. if ((model.getValue(sPath+"["+cRow+"]/prodcmpycd") =="") &&
  583. (model.getValue(sPath+"["+cRow+"]/prodcmpynm") !="") ) {
  584. model.setValue("/root/send/prodcmpy/refcond" ,"prodcmpynm");
  585. model.setValue("/root/send/prodcmpy/prodcmpynm", model.getValue(sPath+"["+cRow+"]/prodcmpynm"));
  586. submit("TRRSC00213");
  587. if (instance1.selectNodes("/root/main/prodcmpylists/prodcmpylist/*").length > 0) {
  588. model.setValue(sPath+"["+cRow+"]/prodcmpycd",model.getValue("/root/main/prodcmpylists/prodcmpylist[1]/prodcmpycd"));
  589. }
  590. }
  591. }
  592. grd_copygood.refresh();
  593. }
  594. //----------------------------
  595. // Remove Node All Size Data
  596. //----------------------------
  597. function fSaveGoodExcel()
  598. {
  599. var tPath = "/root/send/save/excelgoodlists";
  600. var sPath = "/root/init/CopyData/CopyGoodLists";
  601. if (instance1.selectNodes(sPath+"/*").length < 1) return;
  602. var vData = "";
  603. var vHeader = "m" + "▦" // 01 상태
  604. + "goodcd" + "▦" // 02 New Code
  605. + "edicd" + "▦" // 03 EDI코드
  606. + "goodflag" + "▦" // 04 물품구분
  607. + "lrgcd" + "▦" // 05 대분류
  608. + "mdlcd" + "▦" // 06 중분류
  609. + "smlcd" + "▦" // 07 소분류
  610. + "allsizespecid" + "▦" // 08 ALLSIZE
  611. + "goodnm" + "▦" // 09 품명
  612. + "goodspec" + "▦" // 10 규격
  613. + "goodmodel" + "▦" // 11 모델
  614. + "prodcmpycd" + "▦" // 12 제조회사코드
  615. + "prodcmpynm" + "▦" // 13 제조회사명
  616. + "ogoodcd" + "▦" // 14 자재코드
  617. + "asetflag" + "▦" // 15 자산코드
  618. + "cmt" + "▦" // 16 비고
  619. + "appinstdata" + "▩"; // 17 적용기관
  620. //
  621. for (var cRow = grd_copygood.fixedRows ; cRow < grd_copygood.rows ; cRow++)
  622. {
  623. vData += "i" + "▦" // 01 상태
  624. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/goodcd" ) + "▦" // 02 New Code
  625. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/edicd" ) + "▦" // 03 EDI코드
  626. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/goodflag" ) + "▦" // 04 물품구분
  627. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/lrgcd" ) + "▦" // 05 대분류
  628. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/mdlcd" ) + "▦" // 06 중분류
  629. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/smlcd" ) + "▦" // 07 소분류
  630. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/allsizespecid") + "▦" // 08 ALLSIZE
  631. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/goodnm" ) + "▦" // 09 품명
  632. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/goodspec" ) + "▦" // 10 규격
  633. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/goodmodel" ) + "▦" // 11 모델
  634. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/prodcmpycd" ) + "▦" // 12 제조회사코드
  635. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/prodcmpynm" ) + "▦" // 13 제조회사명
  636. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/ogoodcd" ) + "▦" // 14 자재코드
  637. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/asetflag" ) + "▦" // 15 자산코드
  638. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/cmt" ) + "▦" // 16 비고
  639. + model.getValue(grd_copygood.nodeset+"["+cRow+"]/appinstdata" ) + "▩"; // 17 적용기관
  640. }
  641. //
  642. model.removenode(tPath);
  643. model.makeNode(tPath+"/goodexcel");
  644. model.setValue(tPath+"/goodexcel" ,vHeader+vData);
  645. // model.setValue(tPath+"/goodexcel" ,grd_copygood.getUpdateData());
  646. submit("TXRSC05305");
  647. if (model.getValue(gvErrorMsgPath + "/type") != "error") {
  648. misfGridInit(grd_copygood);
  649. grp_copygood.visible = false;
  650. } else {
  651. alert("저장 실패!!! 확인요.");
  652. }
  653. }
  654. //----------------------------
  655. // Save Grid to Excel
  656. //----------------------------
  657. function fSaveGridToExcel()
  658. {
  659. var fileName = window.fileDialog("save", ",", false, "통합물품코드List", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  660. if (fileName != "") {
  661. grd_goodlist.saveExcel(fileName, "물품코드");
  662. }
  663. // if(fCheckRetrieveData() == false)return;
  664. //
  665. // var filenm = "물품코드List";
  666. // var localfile = window.fileDialog("save", ",", false, filenm, "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  667. //
  668. // if (localfile != "") {
  669. // var param = "&goodflag=" + model.getValue("/root/send/goodlist/goodflag");
  670. // param += "&mdlcd=" + model.getValue("/root/send/goodlist/mdlcd");
  671. // param += "&spec=" + model.getValue("/root/send/goodlist/spec");
  672. // param += "&prodcmpy=" + model.getValue("/root/send/goodlist/prodcmpy");
  673. // param += "&smlcd=" + model.getValue("/root/send/goodlist/smlcd");
  674. // param += "&model=" + model.getValue("/root/send/goodlist/model");
  675. // param += "&goodnm=" + model.getValue("/root/send/goodlist/goodnm");
  676. // param += "&lrgcd=" + model.getValue("/root/send/goodlist/lrgcd");
  677. // param += "&goodcd=" + model.getValue("/root/send/goodlist/goodcd");
  678. // param += "&edicd=" + model.getValue("/root/send/goodlist/edicd");
  679. //
  680. // model.download(getActionURL("TRRSC05312") + param, localfile, true);
  681. // var rtn = messageBox("파일을", "Q004");
  682. // if( rtn == 6 ) {
  683. // window.exec(localfile);
  684. // }
  685. // }
  686. //
  687. }
  688. //----------------------------
  689. // 신규재료 신청등록
  690. //----------------------------
  691. function fNewGoodcdCreate()
  692. {
  693. modal("SMRSD04500");
  694. /*
  695. model.removenode(gvParamPath +"/SMRSD04500_/SMRSD04500_value");
  696. rszfOpenPopUpListByWndName("","","","SMRSD04500","newmatrprcsstat,openergoodmgt","5,Y");
  697. model.removenode("/root/copynode");
  698. model.makeNode("/root/copynode");
  699. var CSV = model.getValue(gvParamPath + "/SMRSD04500_/SMRSD04500_value");
  700. setCSVToNode("/root/copynode", CSV, "newmstgood");
  701. var copynode = "/root/copynode/newmstgood";
  702. var newgoodcd = model.getValue(copynode + "/goodcd");
  703. if (newgoodcd.length > 0)
  704. {
  705. var currow = grd_goodlist.findRow(newgoodcd,grd_goodlist.fixedRows, grd_goodlist.colRef("goodcd"), false,true);
  706. //신규코드로 등록된 코드가 존재한다면(존재할 경우는 없지만서도..)
  707. if (currow > -1) {
  708. grd_goodlist.row = currow;
  709. return;
  710. }
  711. else
  712. {
  713. //misfGridInit(grd_gooddetlist);
  714. misfGridIUD(grd_goodlist, "A");
  715. model.setValue(grd_goodlist.nodeset + "/goodflag" , model.getValue(copynode + "/goodflag" ));
  716. model.setValue(grd_goodlist.nodeset + "/goodcd" , model.getValue(copynode + "/goodcd" ));
  717. //model.setValue(grd_gooddetlist.nodeset + "/fromdd" , getCurrentDate());
  718. model.setValue(grd_goodlist.nodeset + "/lrgcd" , model.getValue(copynode + "/lrgcd" ));
  719. model.setValue(grd_goodlist.nodeset + "/lrgnm" , model.getValue(copynode + "/lrgnm" ));
  720. model.setValue(grd_goodlist.nodeset + "/mdlcd" , model.getValue(copynode + "/mdlcd" ));
  721. model.setValue(grd_goodlist.nodeset + "/mdlnm" , model.getValue(copynode + "/mdlnm" ));
  722. model.setValue(grd_goodlist.nodeset + "/prodcmpycd" , model.getValue(copynode + "/prodcmpycd"));
  723. model.setValue(grd_goodlist.nodeset + "/prodcmpynm" , model.getValue(copynode + "/prodcmpynm"));
  724. model.setValue(grd_goodlist.nodeset + "/goodhngnm" , model.getValue(copynode + "/goodhngnm" ));
  725. model.setValue(grd_goodlist.nodeset + "/goodengnm" , model.getValue(copynode + "/goodengnm" ));
  726. model.setValue(grd_goodlist.nodeset + "/asetflag" , model.getValue(copynode + "/asetflag" ));
  727. model.setValue(grd_goodlist.nodeset + "/goodspec" , model.getValue(copynode + "/goodspec" ));
  728. model.setValue(grd_goodlist.nodeset + "/goodmodel" , model.getValue(copynode + "/goodmodel" ));
  729. model.copyNode("/root/main/goodlists/goodlist","/root/main/list/goodlists/goodlist");
  730. grp_detail.refresh();
  731. return;
  732. }
  733. }
  734. */
  735. }
  736. //----------------------------------------------------------
  737. // Column별 변경이력정보를 비교하는 구분
  738. //----------------------------------------------------------
  739. var GoodColumnData = "goodcd" +"*goodcd" +"*GOODCD" +"*물품코드" +"*V#" // 01 물품코드 VARCHAR2(12)
  740. + "goodflag" +"*goodflagnm" +"*GOODFLAG" +"*물품구분" +"*V#" // 02 물품구분 VARCHAR2(1)
  741. + "goodnm" +"*goodnm" +"*GOODNM" +"*물품명" +"*V#" // 03 물품명 VARCHAR2(200)
  742. + "goodhngnm" +"*goodhngnm" +"*GOODHNGNM" +"*물품명" +"*V#" // 04 영문명 VARCHAR2(200)
  743. + "goodengnm" +"*goodengnm" +"*GOODENGNM" +"*영문명" +"*V#" // 05 물품명 VARCHAR2(200)
  744. + "goodspec" +"*goodspec" +"*GOODSPEC" +"*물품규격" +"*V#" // 06 물품규격 VARCHAR2(100)
  745. + "goodmodel" +"*goodmodel" +"*GOODMODEL" +"*모델" +"*V#" // 07 모델 VARCHAR2(100)
  746. + "asetflag" +"*asetflagnm" +"*ASETFLAG" +"*자산구분" +"*V#" // 08 자산구분(R0043) VARCHAR2(1)
  747. + "lrgcd" +"*lrgnm" +"*LRGCD" +"*대분류코드" +"*V#" // 09 대분류코드 VARCHAR2(2)
  748. + "mdlcd" +"*mdlnm" +"*MDLCD" +"*중분류코드" +"*V#" // 10 중분류코드 VARCHAR2(3)
  749. + "smlcd" +"*smlnm" +"*SMLCD" +"*소분류코드" +"*V#" // 11 소분류코드 VARCHAR2(2)
  750. + "edicd" +"*edicd" +"*EDICD" +"*EDI코드" +"*V#" // 12 EDI코드 VARCHAR2(16)
  751. + "prodcmpycd" +"*prodcmpynm" +"*PRODCMPYCD" +"*제조회사코드" +"*V#" // 13 제조회사코드 VARCHAR2(5)
  752. + "mngtflag" +"*mngtflag" +"*MNGTFLAG" +"*수술Set" +"*V#" // 14 수술Set VARCHAR2(5)
  753. + "cmt" +"*cmt" +"*CMT" +"*비고" +"*V" ; // 15 비고 VARCHAR2(200)
  754. var GoodColumn = GoodColumnData.split("#");
  755. //
  756. function fGoodOldNewCompare() {
  757. var DefCnt = 0;
  758. var chngCnt = 0;
  759. var vOldPath = "/root/init/oldgoodlist/";
  760. var vNewPath = "/root/main/goodlists/goodlist/";
  761. var vSndPath = "/root/send/save/goodchange";
  762. var vHeadData = "instcd" +"▦" // 01 기관코드
  763. + "tabname" +"▦" // 02 테이블명
  764. + "changefl" +"▦" // 03 변경분류 물품분류
  765. + "changecd" +"▦" // 04 변경코드 물품코드
  766. + "colname" +"▦" // 05 컬럼명
  767. + "colcomt" +"▦" // 06 컬럼코멘드
  768. + "oldvalue" +"▦" // 07 변경전변경값
  769. + "oldvalnm" +"▦" // 08 변경전변경명
  770. + "newvalue" +"▦" // 09 변경후변경값
  771. + "newvalnm" +"▦" // 10 변경후변경명
  772. + "colflag" +"▦" // 11 컬럼구분 V:VARCHAR,D:DATE,N:NUMBER,T:TIMESTAMP
  773. + "acptdd" +"▦" // 15 적용일자(추가)
  774. + "userid" +"▩"; // 14 변경작업자
  775. if (vGoodNew == "N") {;
  776. model.removenode(vSndPath);
  777. model.makeNode(vSndPath);
  778. model.setValue(vSndPath, vHeadData);
  779. return;
  780. }
  781. var vBodyData = "";
  782. var vInstcd = '000';
  783. var vUserId = getUserInfo("userid") ;
  784. var vTabName = "RSCMGOOD" ;
  785. var vGoodcd = model.getValue(vNewPath + "goodcd" );
  786. var vGoodFalg = model.getValue(vNewPath + "goodflag");
  787. var vAcptdd = model.getValue(vNewPath + "acptdd" );
  788. for (var i=0; i < GoodColumn.length; i++){
  789. var vColumn = GoodColumn[i].split("*");
  790. if (model.getValue(vOldPath+vColumn[0]) !=
  791. model.getValue(vNewPath+vColumn[0]) ) {
  792. DefCnt++;
  793. if (vColumn[0] == "goodcd" || vColumn[0] == "goodnm" || vColumn[0] == "goodhngnm" ||
  794. vColumn[0] == "goodengnm" || vColumn[0] == "goodspec" || vColumn[0] == "goodmodel" ||
  795. vColumn[0] == "prodcmpycd" || vColumn[0] == "edicd" || vColumn[0] == "mngtflag" ) {
  796. chngCnt++;
  797. }
  798. vBodyData += vInstcd + "▦" // 01 기관코드
  799. + vTabName + "▦" // 02 테이블명
  800. + vGoodFalg + "▦" // 03 변경분류 물품분류
  801. + vGoodcd + "▦" // 04 변경코드 물품코드
  802. + vColumn[2] + "▦" // 05 컬럼명
  803. + vColumn[3] + "▦" // 06 컬럼코멘드
  804. + model.getValue(vOldPath+vColumn[0]) + "▦" // 07 변경전변경값
  805. + model.getValue(vOldPath+vColumn[1]) + "▦" // 08 변경전변경명
  806. + model.getValue(vNewPath+vColumn[0]) + "▦" // 09 변경후변경값
  807. + model.getValue(vNewPath+vColumn[1]) + "▦" // 10 변경후변경명
  808. + vColumn[4] + "▦" // 11 컬럼구분 V:VARCHAR,D:DATE,N:NUMBER,T:TIMESTAMP
  809. + vAcptdd + "▦" // 15 적용일자(추가)
  810. + vUserId + "▩"; // 14 변경작업자
  811. }
  812. }
  813. model.makeNode("/root/send/save/chngyn");
  814. /*
  815. if(chngCnt > 0) {
  816. model.setValue("/root/send/save/chngyn", "Y");
  817. } else {
  818. model.setValue("/root/send/save/chngyn", "N");
  819. }
  820. */
  821. for(var i = grd_goodlist.fixedRows; i < grd_goodlist.rows; i++) {
  822. if(chngCnt > 0) {
  823. grd_goodlist.valueMatrix(i, grd_goodlist.colRef("chngyn")) = "Y";
  824. } else {
  825. grd_goodlist.valueMatrix(i, grd_goodlist.colRef("chngyn")) = "N";
  826. }
  827. }
  828. model.removenode(vSndPath);
  829. model.makeNode(vSndPath);
  830. model.setValue(vSndPath, vHeadData+vBodyData);
  831. }
  832. //--------------------------------------
  833. // 통합물품 삭제처리
  834. //--------------------------------------
  835. function fDeleteRscmgoodView()
  836. {
  837. model.setValue(chk_delcheck1.attribute("ref"), "");
  838. model.setValue(chk_delcheck2.attribute("ref"), "");
  839. model.setValue(chk_delcheck3.attribute("ref"), "");
  840. model.setValue(chk_delcheck4.attribute("ref"), "");
  841. model.setValue(chk_delcheck5.attribute("ref"), "");
  842. model.setValue(ipt_delgood.attribute("ref") ,model.getValue(ipt_goodcd.attribute("ref")));
  843. model.setValue(ipt_delgoodnm.attribute("ref"),model.getValue(ipt_goodnm.attribute("ref")));
  844. grp_delete.visible = true;
  845. grp_delete.refresh();
  846. }
  847. //--------------------------------------
  848. // 통합물품 삭제처리
  849. //--------------------------------------
  850. function fDeleteRscmgood()
  851. {
  852. if ((model.getValue(ipt_delgood.attribute("ref")) == "")) {
  853. alert("물품코드를 확인하십시요!!.");
  854. return;
  855. };
  856. if ((model.getValue(ipt_delgoodnm.attribute("ref")) == "")) {
  857. alert("물품코드명를 확인하십시요!!.");
  858. return;
  859. };
  860. if ((model.getValue(chk_delcheck1.attribute("ref")) != "Y") ||
  861. (model.getValue(chk_delcheck2.attribute("ref")) != "Y") ||
  862. (model.getValue(chk_delcheck3.attribute("ref")) != "Y") ||
  863. (model.getValue(chk_delcheck4.attribute("ref")) != "Y") ||
  864. (model.getValue(chk_delcheck5.attribute("ref")) != "Y") ) {
  865. alert("삭제의 Check여부를 확인하십시요!!.");
  866. return;
  867. };
  868. model.setValue("/root/send/delrscmgood/delflag" ,"All");
  869. submit("TXRSC05103");
  870. grp_delete.visible = false;
  871. btn_search.dispatch("DOMActivate");
  872. }
  873. //--------------------------------------
  874. // 제조회사 일괄변경처리
  875. //--------------------------------------
  876. function fChangeProdcmpy()
  877. {
  878. if ((model.getValue(ipt_delgood.attribute("ref")) == "")) {
  879. alert("물품코드를 확인하십시요!!.");
  880. return;
  881. };
  882. if ((model.getValue(ipt_delgoodnm.attribute("ref")) == "")) {
  883. alert("물품코드명를 확인하십시요!!.");
  884. return;
  885. };
  886. if ((model.getValue(chk_delcheck1.attribute("ref")) != "Y") ||
  887. (model.getValue(chk_delcheck2.attribute("ref")) != "Y") ||
  888. (model.getValue(chk_delcheck3.attribute("ref")) != "Y") ||
  889. (model.getValue(chk_delcheck4.attribute("ref")) != "Y") ||
  890. (model.getValue(chk_delcheck5.attribute("ref")) != "Y") ) {
  891. alert("삭제의 Check여부를 확인하십시요!!.");
  892. return;
  893. };
  894. model.setValue("/root/send/delrscmgood/delflag" ,"All");
  895. submit("TXRSC05103");
  896. grp_delete.visible = false;
  897. btn_search.dispatch("DOMActivate");
  898. }
  899. function fSetHistInfo() {
  900. var vHeadData = "instcd" +"▦" // 01 기관코드
  901. + "tabname" +"▦" // 02 테이블명
  902. + "changefl" +"▦" // 03 변경분류 물품분류
  903. + "changecd" +"▦" // 04 변경코드 물품코드
  904. + "colname" +"▦" // 05 컬럼명
  905. + "colcomt" +"▦" // 06 컬럼코멘드
  906. + "oldvalue" +"▦" // 07 변경전변경값
  907. + "oldvalnm" +"▦" // 08 변경전변경명
  908. + "newvalue" +"▦" // 09 변경후변경값
  909. + "newvalnm" +"▦" // 10 변경후변경명
  910. + "colflag" +"▦" // 11 컬럼구분 V:VARCHAR,D:DATE,N:NUMBER,T:TIMESTAMP
  911. + "userid" +"▩"; // 14 변경작업자
  912. var vBodyData = "";
  913. var vUserId = getUserInfo("userid");
  914. var vInstcd = getUserInfo("dutplceinstcd");
  915. var vTabName = "RSCDGOOD2";
  916. var vGoodcd = "";
  917. var vAllSizeSpecid = "";
  918. var vCmt = "";
  919. var vStatus = "";
  920. var vGoodFlag = model.getValue(cmb_goodflag.attribute("ref"));
  921. for(var i = grd_allsize.fixedRows; i < grd_allsize.rows; i++) {
  922. vGoodcd = grd_allsize.valueMatrix(i, grd_allsize.colRef("goodcd"));
  923. vAllSizeSpecid = grd_allsize.valueMatrix(i, grd_allsize.colRef("allsizespecid"));
  924. vStatus = grd_allsize.rowStatus(i);
  925. if(vStatus != "0") {
  926. vBodyData += vInstcd + "▦" // 01 기관코드
  927. + vTabName + "▦" // 02 테이블명
  928. + vGoodFlag + "▦" // 03 변경분류 물품분류
  929. + vGoodcd + "▦" // 04 변경코드 물품코드
  930. + " " + "▦" // 05 컬럼명
  931. + "Allsize변경" + "▦" // 06 컬럼코멘드
  932. + " " + "▦" // 07 변경전변경값
  933. + "" + "▦" // 08 변경전변경명
  934. + " " + "▦" // 09 변경후변경값
  935. + "" + "▦" // 10 변경후변경명
  936. + "" + "▦" // 11 컬럼구분 V:VARCHAR,D:DATE,N:NUMBER,T:TIMESTAMP
  937. + vUserId + "▩"; // 14 변경작업자
  938. break;
  939. }
  940. }
  941. model.makeValue("/root/send/save/allsizelists/histinfo", vHeadData + vBodyData);
  942. }
  943. function fClearGoodInfo() {
  944. model.resetInstanceNode(cmb_lrgcd.attribute("ref"));
  945. model.resetInstanceNode(cmb_mdlcd.attribute("ref"));
  946. model.resetInstanceNode(cmb_smlcd.attribute("ref"));
  947. model.resetInstanceNode(ipt_instcd.attribute("ref"));
  948. model.resetInstanceNode(cmb_goodflag.attribute("ref"));
  949. model.resetInstanceNode(ipt_goodnm.attribute("ref"));
  950. model.resetInstanceNode(ipt_goodhngnm.attribute("ref"));
  951. model.resetInstanceNode(ipt_goodengnm.attribute("ref"));
  952. model.resetInstanceNode(ipt_goodspec.attribute("ref"));
  953. model.resetInstanceNode(ipt_goodmodel.attribute("ref"));
  954. model.resetInstanceNode(ipt_prodcmpycd.attribute("ref"));
  955. model.resetInstanceNode(opt_prodcmpynm.attribute("ref"));
  956. model.resetInstanceNode(ipt_edicd.attribute("ref"));
  957. model.resetInstanceNode(cmb_asetflag.attribute("ref"));
  958. model.resetInstanceNode(ipt_lastupdtridnm.attribute("ref"));
  959. model.resetInstanceNode(ipt_cmt.attribute("ref"));
  960. model.resetInstanceNode(ipt_appinstdata.attribute("ref"));
  961. cmb_lrgcd.refresh();
  962. cmb_mdlcd.refresh();
  963. cmb_smlcd.refresh();
  964. ipt_instcd.refresh();
  965. cmb_goodflag.refresh();
  966. ipt_goodnm.refresh();
  967. ipt_goodhngnm.refresh();
  968. ipt_goodengnm.refresh();
  969. ipt_goodspec.refresh();
  970. ipt_goodmodel.refresh();
  971. ipt_prodcmpycd.refresh();
  972. opt_prodcmpynm.refresh();
  973. ipt_edicd.refresh();
  974. cmb_asetflag.refresh();
  975. ipt_lastupdtridnm.refresh();
  976. ipt_cmt.refresh();
  977. ipt_appinstdata.refresh();
  978. }
  979. // multilinegrid.rowStatus(2) = 1;
  980. /* ------------------------------------------------- */
  981. /* ------End Of List ------------------------------- */
  982. /* -------------------------------------------------- */