SMRSC05302.js 54 KB

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