SMRSD00200.js 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662
  1. /* ---------------------------------------------------------------------
  2. SMRSD00200_일반청구Set관리.xrw (SMRSD00200.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By Francis Choi
  6. : 2015.05.02
  7. ---------------------------------------------------------------------- */
  8. // --------------------------------------------------------------
  9. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  10. // --------------------------------------------------------------
  11. function fInitialize() {
  12. misfGridInit(grd_reqsetmst);
  13. misfGridInit(grd_reqsetlist);
  14. model.resetInstanceNode("/root/send");
  15. // alert(getUserInfo("userid"));
  16. rszfUserReqInstList(cmb_instcd,getUserInfo("userid"),"%","C"); // 기관설정
  17. model.setValue(cmb_instcd.attribute( "ref"), getUserInfo("dutplceinstcd")); // Login 사용자 기관코드
  18. model.setValue(ipt_reqdeptcd.attribute("ref"), getUserInfo("dutplcecd" )); // Login 사용자 부서
  19. model.setValue(ipt_reqdept.attribute( "ref"), getUserInfo("dutplcecd" )); // Login 사용자부서 (부서값 Init 에 적용)
  20. model.setValue(opt_reqdeptnm.attribute("ref"), getUserInfo("dutplcenm" )); // Login 사용자 부서명
  21. misfMsterDetailSet(grd_reqsetmst ,null , "TRRSD00211" ,"N");
  22. misfMsterDetailSet(grd_reqsetlist,grd_reqsetmst, "TRRSD00210" ,"Y");
  23. grd_reqsetmst.colHidden(grd_reqsetmst.colRef("reqdeptnm")) = true;
  24. // alert(rszfGetPurcDeptCd(cmb_instcd.value) +"=="+ getUserInfo("dutplcecd"));
  25. // 구매팀 조회이면 전체부서를 다 볼수 있다.
  26. if (rszfGetPurcDeptCd(cmb_instcd.value) == getUserInfo("dutplcecd")) {
  27. btn_reqdeptcd.disabled = false;
  28. ipt_reqdeptcd.disabled = false;
  29. }
  30. model.refresh();
  31. }
  32. // 기본자료 Check
  33. function fDataCheck() {
  34. if (model.getValue(cmb_instcd.attribute("ref")).length==0) {
  35. messageBox("기관코드는" ,"I003");
  36. model.setFocus("cmb_instcd");
  37. return false;
  38. }
  39. return true;
  40. }
  41. // 행추가
  42. function fGridAddRow (grd_mst, grd_list) {
  43. if (grd_list == null ) {
  44. misfGridIUD(grd_mst,"A");
  45. model.setValue(grd_mst.attribute("nodeset")+"["+(grd_mst.row - grd_mst.fixedrows + 1) +"]/instcd" , model.getValue(cmb_instcd.attribute("ref")) );
  46. model.setValue(grd_mst.attribute("nodeset")+"["+(grd_mst.row - grd_mst.fixedrows + 1) +"]/reqflag" , "-" ); //청구구분 Default -
  47. model.setValue(grd_mst.attribute("nodeset")+"["+(grd_mst.row - grd_mst.fixedrows + 1) +"]/reqprid" , "-" ); //청구구분 Default -
  48. model.setValue(grd_mst.attribute("nodeset")+"["+(grd_mst.row - grd_mst.fixedrows + 1) +"]/reqdeptcd", model.getValue(ipt_reqdeptcd.attribute("ref")));
  49. misfGridInit(grd_reqsetlist);
  50. }
  51. else {
  52. if (grd_mst.rows > 1) {
  53. if ( fAddRowCheck() == false ) return;
  54. misfGridIUD(grd_list,"A");
  55. var instcd = grd_mst.valueMatrix(grd_mst.row, grd_mst.colRef("instcd" )); // 기관코드
  56. var reqdeptcd = grd_mst.valueMatrix(grd_mst.row, grd_mst.colRef("reqdeptcd")); // 청구부서
  57. var goodsetnm = grd_mst.valueMatrix(grd_mst.row, grd_mst.colRef("goodsetnm")); // 부서 Set명
  58. model.setValue(grd_list.attribute("nodeset")+"["+grd_list.row+"]/instcd" ,instcd ); // 기관코드
  59. model.setValue(grd_list.attribute("nodeset")+"["+grd_list.row+"]/reqdeptcd" ,reqdeptcd); // 청구부서
  60. model.setValue(grd_list.attribute("nodeset")+"["+grd_list.row+"]/goodsetnm" ,goodsetnm); // 부서 Set명
  61. } else {
  62. messageBox("좌측 목록에서 청구 set 명을 ","C002");
  63. }
  64. model.refresh();
  65. }
  66. }
  67. // 입력항목 Check
  68. function fSaveCheck() {
  69. for (var i = 1; i < grd_reqsetlist.rows; i++) {
  70. if (model.getValue( grd_reqsetlist.attribute("nodeset")+"["+ i +"]/goodcd" ).length==0 ) {
  71. messageBox("물품코드는","I003");
  72. return false;
  73. }
  74. //
  75. if ((model.getValue( grd_reqsetlist.attribute("nodeset")+"["+ i +"]/allsizeyn" ) == "Y") &&
  76. (model.getValue( grd_reqsetlist.attribute("nodeset")+"["+ i +"]/allsizespecid" ).length == 0 ) ){
  77. messageBox("규격은","I003");
  78. return false;
  79. }
  80. //
  81. if (model.getValue( grd_reqsetlist.attribute("nodeset")+"["+ i +"]/goodqty" ).length==0 ) {
  82. messageBox("물품수량은","I003");
  83. return false;
  84. }
  85. }
  86. return true;
  87. }
  88. // 입력 Row Check
  89. function fAddRowCheck() {
  90. if (model.getValue( grd_reqsetmst.attribute("nodeset")+"["+ grd_reqsetmst.row +"]/reqdeptcd" ).length==0 ) {
  91. messageBox("청구부서는","I003");
  92. return false;
  93. }
  94. //
  95. if (model.getValue( grd_reqsetmst.attribute("nodeset")+"["+ grd_reqsetmst.row +"]/goodsetnm" ).length==0 ) {
  96. messageBox("물품SET명","I003");
  97. return false;
  98. }
  99. return true;
  100. }
  101. // 행삭제 Check
  102. function fDeleteRow(pGrid) {
  103. vPath ="/root/main/list/reqset/reqsetlist";
  104. for (var i = (pGrid.rows-1); i > 0; i--) {
  105. if (model.getValue(vPath+"["+i+"]/chk") == "true") {
  106. if (pGrid.rowStatus(i) == 1 ||
  107. pGrid.rowStatus(i) == 3 ) {
  108. // model.removeNodeset(vPath+"["+i+"]");
  109. pGrid.deleteRow(i);
  110. } else {
  111. pGrid.rowStatus(i) = 4;
  112. }
  113. }
  114. }
  115. // model.refresh();
  116. }
  117. //
  118. function fSettingGoodList(pnode, nodename, userqtynm){
  119. var codynode = instance1.selectNodes(pnode + "/*");
  120. var addRow = grd_reqsetlist.rows - grd_reqsetlist.fixedRows;
  121. if (model.getValue(grd_reqsetlist.nodeset + "[" + addRow + "]/goodcd").length > 0) addRow = addRow + 1;
  122. for (var j = 1; j <= codynode.length ; j++) {
  123. if((grd_reqsetlist.rows - grd_reqsetlist.fixedRows == 0) ||
  124. (addRow > grd_reqsetlist.rows - grd_reqsetlist.fixedRows))
  125. {
  126. misfGridIUD(grd_reqsetlist,"A");
  127. addRow = grd_reqsetlist.rows - grd_reqsetlist.fixedRows;
  128. model.setValue( grd_reqsetlist.attribute("nodeset")+"["+(addRow) +"]/instcd" , model.getValue(cmb_instcd.attribute("ref")));
  129. model.setValue( grd_reqsetlist.attribute("nodeset")+"["+(addRow) +"]/reqdeptcd",model.getValue(ipt_reqdept.attribute("ref")));
  130. }
  131. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/goodcd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodcd" ));
  132. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/goodnm" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodnm" ));
  133. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/goodspec" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodspec" ));
  134. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/goodmodel" , model.getValue(pnode +"/" + nodename + "[" + j + "]/goodmodel" ));
  135. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/prodcmpycd", model.getValue(pnode +"/" + nodename + "[" + j + "]/prodcmpycd"));
  136. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/prodcmpynm", model.getValue(pnode +"/" + nodename + "[" + j + "]/prodcmpynm"));
  137. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/deliveunit", model.getValue(pnode +"/" + nodename + "[" + j + "]/purcunit" ));
  138. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/goodqty" , model.getValue(pnode +"/" + nodename + "[" + j + "]/" + userqtynm));
  139. if( model.getValue(pnode +"/" + nodename + "[" + j + "]/allsizespecid" ) == "" )
  140. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/allsizespecid" , "-" );
  141. else
  142. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/allsizespecid" , model.getValue(pnode +"/" + nodename + "[" + j + "]/allsizespecid" ));
  143. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/reqflag" , model.getValue(pnode +"/" + nodename + "[" + j + "]/reqflag" ));
  144. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/reqflagnm" , model.getValue(pnode +"/" + nodename + "[" + j + "]/reqflagnm"));
  145. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/reqprid" , model.getValue(pnode +"/" + nodename + "[" + j + "]/reqprid" ));
  146. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/reqpridnm" , model.getValue(pnode +"/" + nodename + "[" + j + "]/reqpridnm"));
  147. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/allsizeyn" , model.getValue(pnode +"/" + nodename + "[" + j + "]/allsizeyn"));
  148. if (model.getValue(grd_reqsetlist.nodeset + "[" + addRow + "]/allsizeyn") == "Y" ) {
  149. grd_reqsetlist.cellstyle("background-color", addRow, 5) = "#FFFF00";
  150. //} else {
  151. // grd_reqsetlist.cellstyle("background-color", j, 5) = "transparent";
  152. }
  153. // if (model.getValue(grd_reqsetlist.nodeset+"["+addRow+"]/reqdeptcd") == "" )
  154. // {
  155. // model.setValue( grd_reqsetlist.nodeset+"["+addRow+"]/reqdeptcd" , model.getValue("/root/send/reqlist/reqdeptcd") );
  156. // }
  157. addRow = addRow + 1;
  158. }
  159. grd_reqsetlist.gridToInstance();
  160. //
  161. model.refresh();
  162. }
  163. // 조회버튼 Click
  164. function fDataSearch(){
  165. if (fDataCheck() == false ) return;
  166. var updtdata = getGridUpdateData(grd_reqsetlist);
  167. if (updtdata != "" ) {
  168. var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 조회 작업을","Q003");
  169. if (ret != 6) { // not OK
  170. return;
  171. }
  172. }
  173. // 구매부서 조회시 각 부서란이 보여진다.
  174. if (ipt_reqdeptcd.value.length == 0) {
  175. grd_reqsetmst.colwidth(6) = 180;
  176. grd_reqsetmst.colHidden(grd_reqsetmst.colRef("reqdeptnm")) = false;
  177. }
  178. else {
  179. grd_reqsetmst.colwidth(6) = 280; // 328
  180. grd_reqsetmst.colHidden(grd_reqsetmst.colRef("reqdeptnm")) = true;
  181. }
  182. misfMsterDetailRetrieve();
  183. // alert(grd_reqsetmst.rows);
  184. if (grd_reqsetmst.rows > 1) {
  185. grd_reqsetmst.row = 1;
  186. }
  187. //
  188. if (grd_reqsetlist.rows > 1) {
  189. grd_reqsetlist.row = 1;
  190. }
  191. }
  192. // All Size항목은 색깔를 준다.
  193. function fSetListColor(){
  194. var vPath = "/root/main/list/reqset/reqsetlist";
  195. var iRows = getNodesetCount(vPath);
  196. for (var j = 1; j <= iRows; j++) {
  197. // alert(grd_reqsetlist.valueMatrix(j , grd_reqsetlist.colRef("allsizeyn")) +"==Y" ) ;
  198. if (model.getValue(vPath+"["+j+ "]/allsizeyn") == "Y" ) {
  199. grd_reqsetlist.cellstyle("background-color", j, 5) = "#FFFF00";
  200. //} else {
  201. // grd_reqsetlist.cellstyle("background-color", j, 5) = "transparent";
  202. }
  203. }
  204. grd_reqsetlist.refresh();
  205. }
  206. // --------------------------------------------------
  207. // 물품청구 버튼 Click 처리하는 함수
  208. // --------------------------------------------------
  209. function fSetListButtonClick() {
  210. grp_allsize.attribute("visibility") ="hidden" ;
  211. if (grd_reqsetlist.col == grd_reqsetlist.colRef("goodcd")) { //물품코드 버튼을 눌렀을 때
  212. if( fDataCheck() == false ) return;
  213. model.removenode("/root/copynode");
  214. model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  215. model.makeNode("/root/copynode");
  216. // rszfOpenPopUpListByWndName(grd_reqsetlist,"","goodcd,goodnm","SPRSD00190","instcd,goodflag,reqflag,reqprid","cmb_instcd,opt_goodflag,cmb_reqflag,cmb_reqpridflag");
  217. rszfOpenPopUpListByWndName(grd_reqsetlist,"","goodcd,goodnm","SPRSD00190","instcd,reqcheck","cmb_instcd,Y");
  218. var cur_row = grd_reqsetlist.row;
  219. var status = grd_reqsetlist.valueMatrix(cur_row, grd_reqsetlist.colRef("m"));
  220. var CSV = model.getValue(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  221. setCSVToNode("/root/copynode", CSV, "reqsetlist");
  222. fSettingGoodList("/root/copynode", "reqsetlist" , "userqty");
  223. }
  224. else if (grd_reqsetlist.col == grd_reqsetlist.colRef("goodspec") && grd_reqsetlist.valueMatrix(grd_reqsetlist.row , grd_reqsetlist.colRef("allsizeyn")) == "Y" )
  225. {
  226. fAllSizeRead(grd_reqsetlist.row ,grd_reqsetlist.col, event.clientY);
  227. }
  228. model.refresh();
  229. }
  230. // --------------------------------------------------
  231. // 일반청구Set상비품복사 버튼 Click 처리하는 함수
  232. // --------------------------------------------------
  233. function fSetListBaseClick() {
  234. if (model.getValue(cmb_instcd.attribute("ref")).length == 0)
  235. {
  236. messageBox("기관코드를" ,"C001");
  237. return;
  238. }
  239. if(model.getValue(ipt_reqdeptcd.attribute("ref")).length == 0)
  240. {
  241. messageBox("청구부서를" ,"C001");
  242. return;
  243. }
  244. model.removenode("/root/copynode");
  245. model.removenode(gvParamPath +"/SMRSD00230_/SMRSD00230_value");
  246. model.makeNode("/root/copynode");
  247. rszfOpenPopUpListByWndName(ipt_reqdeptcd,"","instcd,reqdeptcd","SMRSD00230","instcd,reqdeptcd","cmb_instcd,ipt_reqdeptcd");
  248. var cur_row = grd_reqsetlist.row;
  249. var status = grd_reqsetlist.valueMatrix(cur_row, grd_reqsetlist.colRef("m"));
  250. var CSV = model.getValue(gvParamPath +"/SMRSD00230_/SMRSD00230_value");
  251. setCSVToNode("/root/copynode", CSV, "reqsetlist");
  252. fSettingGoodList("/root/copynode", "reqsetlist" , "userqty");
  253. model.refresh();
  254. }
  255. // --------------------------------------------------
  256. // All Size 읽어오는 함수
  257. // --------------------------------------------------
  258. var vAllSizeCol = 0;
  259. var vAllSizeRow = 0;
  260. var vAllSizePath = "/root/main/codelist";
  261. var vGoodReqPath = "/root/main/list/reqset/reqsetlist";
  262. function fAllSizeRead(pRow, pCol, pPos) {
  263. var iClickY = pPos - 100;
  264. vAllSizeCol = pCol;
  265. vAllSizeRow = pRow;
  266. if (iClickY > 375) iClickY = iClickY - 319;
  267. grp_allsize.attribute("top") = iClickY+ "px";
  268. grp_allsize.attribute("visibility") = "visible" ;
  269. model.setValue("/root/send/allsize/instcd", model.getValue(cmb_instcd.attribute("ref" )));
  270. model.setValue("/root/send/allsize/goodcd", grd_reqsetlist.valueMatrix(pRow, grd_reqsetlist.colRef("goodcd")) );
  271. submit("TRRSD00281");
  272. grp_allsize.refresh();
  273. }
  274. //
  275. // All Size 선택
  276. function fAllSizeSelect(pRow) {
  277. grp_allsize.attribute("visibility") = "hidden" ;
  278. var vQty = "0";
  279. var vSize = "";
  280. var vSpec = "";
  281. var vModel = "";
  282. var vCheck = "";
  283. var vPath = "";
  284. var vRow = vAllSizeRow;
  285. var vGoodcd = model.getValue(vGoodReqPath+"["+(vAllSizeRow)+"]/goodcd");
  286. for (var i = 1; i < grd_codelist.rows; i++) {
  287. if (model.getValue(vAllSizePath+"["+i+"]/chk") == "true") {
  288. vSize = model.getValue(vAllSizePath+"["+ i +"]/allsizespecid");
  289. vSpec = model.getValue(vAllSizePath+"["+ i +"]/goodspec" );
  290. vModel = model.getValue(vAllSizePath+"["+ i +"]/goodmodel" );
  291. vQty = model.getValue(vAllSizePath+"["+ i +"]/qty" );
  292. if (model.getValue(vGoodReqPath+"["+"[goodcd='"+ vGoodcd+"' and allsizespecid='"+vSize+"']" +"/goodcd") == "") {
  293. if (vCheck == "") {
  294. vCheck = "Y";
  295. vPath = vGoodReqPath+"["+(vAllSizeRow)+"]" ;
  296. if (grd_reqsetlist.rowStatus(vAllSizeRow) == 0)
  297. grd_reqsetlist.rowStatus(vAllSizeRow) = 2 ;
  298. //grd_reqsetlist.valueMatrix(vAllSizeRow, 4) = vSpec
  299. } else {
  300. misfGridIUD(grd_reqsetlist,"A");
  301. addRow = grd_reqsetlist.rows - grd_reqsetlist.fixedRows;
  302. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/instcd" , model.getValue(cmb_instcd.attribute("ref" )));
  303. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/reqdeptcd" , model.getValue(vGoodReqPath+"["+(vAllSizeRow)+ "]/reqdeptcd" ));
  304. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/goodcd" , model.getValue(vGoodReqPath+"["+(vAllSizeRow)+ "]/goodcd" ));
  305. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/goodnm" , model.getValue(vGoodReqPath+"["+(vAllSizeRow)+ "]/goodnm" ));
  306. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/goodspec" , "" );
  307. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/goodmodel" , "" );
  308. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/prodcmpycd" , model.getValue(vGoodReqPath+"["+(vAllSizeRow)+ "]/prodcmpycd"));
  309. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/prodcmpynm" , model.getValue(vGoodReqPath+"["+(vAllSizeRow)+ "]/prodcmpynm"));
  310. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/deliveunit" , model.getValue(vGoodReqPath+"["+(vAllSizeRow)+ "]/deliveunit" ));
  311. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/goodqty" , "0" );
  312. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/reqflag" , model.getValue(vGoodReqPath+"["+(vAllSizeRow)+ "]/reqflag" ));
  313. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/allsizeyn" , "Y" );
  314. model.setValue(grd_reqsetlist.nodeset + "[" + addRow + "]/allsizespecid", "" );
  315. vPath = grd_reqsetlist.nodeset + "[" + addRow + "]" ;
  316. }
  317. } else {
  318. vPath = vGoodReqPath+"["+"[goodcd='"+ vGoodcd+"' and allsizespecid='"+vSize+"']";
  319. }
  320. // alert(vPath);
  321. //
  322. model.setValue(vPath + "/allsizespecid" , vSize );
  323. model.setValue(vPath + "/goodspec" , vSpec );
  324. model.setValue(vPath + "/goodmodel" , vModel);
  325. if (vQty != "" && vQty != "0") {
  326. model.setValue(vPath + "/goodqty" , vQty );
  327. }
  328. }
  329. }
  330. grd_reqsetlist.refresh();
  331. }
  332. //
  333. function fSetListButtonClick_BAK() {
  334. if (grd_reqsetlist.col == grd_reqsetlist.colRef("goodcd"))
  335. {//물품코드 버튼을 눌렀을 때
  336. /*
  337. var recv_list = "goodcd,goodnm,goodspec,goodmodel,prodcmpycd,prodcmpynm,deliveunitnm";
  338. rszfOpenPopUpListByWndName(grd_reqsetlist,"",recv_list,"SPRSD00210","instcd,reqflag","cmb_instcd,cmb_reqflag", "Y");
  339. var cur_row = grd_reqsetlist.row;
  340. var status = grd_reqsetlist.valueMatrix(cur_row, grd_reqsetlist.colRef("m"));
  341. if(status !="insert" && status !="delete") grd_reqsetlist.addStatus(cur_row,"update");
  342. */
  343. if( fDataCheck() == false ) return;
  344. model.removenode("/root/copynode");
  345. model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  346. model.makeNode("/root/copynode");
  347. rszfOpenPopUpListByWndName(grd_reqsetlist,"","goodcd,goodnm","SPRSD00190","instcd,goodflag,reqflag,reqprid","cmb_instcd,opt_goodflag,cmb_reqflag,cmb_reqpridflag");
  348. var cur_row = grd_reqsetlist.row;
  349. var status = grd_reqsetlist.valueMatrix(cur_row, grd_reqsetlist.colRef("m"));
  350. var CSV = model.getValue(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
  351. setCSVToNode("/root/copynode", CSV, "reqsetlist");
  352. fSettingGoodList("/root/copynode", "reqsetlist" , "userqty");
  353. }
  354. else if (grd_reqsetlist.col == grd_reqsetlist.colRef("goodspec") && grd_reqsetlist.valueMatrix(grd_reqsetlist.row , grd_reqsetlist.colRef("allsizeyn")) == "Y" )
  355. {
  356. rszfOpenPopUpListByWndName(grd_reqsetlist,"","allsizespecid,goodspec","SPRSD00280","instcd,goodcd","cmb_instcd,"+grd_reqsetlist.valueMatrix(grd_reqsetlist.row , grd_reqsetlist.colRef("goodcd")) );
  357. }
  358. model.refresh();
  359. grp_allsize.attribute("visibility") ="hidden" ;
  360. if (grd_goodreq.col == grd_goodreq.colRef("goodcd") &&
  361. grd_goodreq.rowStatus(grd_goodreq.row) == "1" ) { //구성물품코드를 눌렀을 경우
  362. fViewToggle(2); // 1 :늘리기, 2 : 줄이기
  363. fGoodListReady(grd_goodreq.valueMatrix(grd_goodreq.row, grd_goodreq.col),""); // 물품찾기 처리하는 함수
  364. model.toggle("gd_find");
  365. bbt_good.selected = "true";
  366. }
  367. else if (grd_goodreq.col == grd_goodreq.colRef("goodspec") && grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("allsizeyn")) == "Y" )
  368. {
  369. fAllSizeRead(grd_goodreq.row ,grd_goodreq.col, event.clientY);
  370. }
  371. model.refresh();
  372. }
  373. //
  374. function fSetCopyButtonClick() {
  375. if (model.getValue(cmb_instcd.attribute("ref")).length == 0)
  376. {
  377. messageBox("기관코드를" ,"C001");
  378. return;
  379. }
  380. if(model.getValue(ipt_reqdeptcd.attribute("ref")).length == 0)
  381. {
  382. messageBox("청구부서를" ,"C001");
  383. return;
  384. }
  385. rszfOpenPopUpListByWndName(ipt_reqdeptcd,"","instcd,reqdeptcd","SMRSD00220","instcd,reqdeptcd","cmb_instcd,ipt_reqdeptcd");
  386. btn_search.dispatch("DOMActivate");
  387. }
  388. // 그리드에 있는 물품중 수정한 항목의 ALL Size가 기존의 그리드에
  389. // 존재하는 물품과 같은 경우 일경우 경고 메시지를 뿌려준다.
  390. /*
  391. function Updatecheckdatagrid() {
  392. var goodcdi = '';
  393. var allsizespecidi = '';
  394. var goodcdj = '';
  395. var allsizespecidj = '';
  396. for (var i = 1; i<grd_reqsetlist.rows ; i++ )
  397. {
  398. for (var j= i+1; j<grd_reqsetlist.rows; j++)
  399. {
  400. goodcdi = model.getValue(grd_reqsetlist.nodeset+"["+i+"]/goodcd");
  401. allsizespecidi = model.getValue(grd_reqsetlist.nodeset+"["+i+"]/allsizespecid");
  402. goodcdj = model.getValue(grd_reqsetlist.nodeset+"["+j+"]/goodcd");
  403. allsizespecidj = model.getValue(grd_reqsetlist.nodeset+"["+j+"]/allsizespecid");
  404. if ( goodcdi == goodcdj && allsizespecidi == allsizespecidj )
  405. {
  406. return false;
  407. } //end if
  408. } //end for(j)
  409. }//end for (i)
  410. }//End function
  411. */
  412. function Updatecheckdatagrid() {
  413. var goodcdi = '';
  414. var allsizespecidi = '';
  415. var goodcdj = '';
  416. var allsizespecidj = '';
  417. var vSelect = 0;
  418. for (var i = 1 ; i< grd_reqsetlist.rows ; i++ )
  419. {
  420. for (var j= i+1; j<grd_reqsetlist.rows; j++)
  421. {
  422. goodcdi = model.getValue(grd_reqsetlist.nodeset+"["+i+"]/goodcd");
  423. allsizespecidi = model.getValue(grd_reqsetlist.nodeset+"["+i+"]/allsizespecid");
  424. goodcdj = model.getValue(grd_reqsetlist.nodeset+"["+j+"]/goodcd");
  425. allsizespecidj = model.getValue(grd_reqsetlist.nodeset+"["+j+"]/allsizespecid");
  426. if ( goodcdi == goodcdj && allsizespecidi == allsizespecidj )
  427. {
  428. return false;
  429. } //end if
  430. }//end for(j)
  431. }//end for (i)
  432. }//End function
  433. //--------------------------------------
  434. // 청구set명칭변경 컨트롤을 View
  435. //--------------------------------------
  436. function fUpdateSetNameView()
  437. {
  438. if (grd_reqsetmst.rowStatus(grd_reqsetmst.row) == "1") {
  439. // alert("Set 입력중 입니다!! 바로 수정하십시요.");
  440. return;
  441. }
  442. model.setValue(ipt_setinstcd.attribute("ref") ,model.getValue(grd_reqsetmst.nodeset+"["+ grd_reqsetmst.row + "]/instcd" ));
  443. model.setValue(ipt_setdeptcd.attribute("ref") ,model.getValue(grd_reqsetmst.nodeset+"["+ grd_reqsetmst.row + "]/reqdeptcd"));
  444. model.setValue(ipt_setdeptnm.attribute("ref") ,model.getValue(grd_reqsetmst.nodeset+"["+ grd_reqsetmst.row + "]/reqdeptnm"));
  445. model.setValue(ipt_oldsetname.attribute("ref"),model.getValue(grd_reqsetmst.nodeset+"["+ grd_reqsetmst.row + "]/goodsetnm"));
  446. model.setValue(ipt_setname.attribute("ref") ,model.getValue(grd_reqsetmst.nodeset+"["+ grd_reqsetmst.row + "]/goodsetnm"));
  447. // 버튼 클릭시 addPhone group 컨트롤을 popup 형태로 설정하여 윈도우 스크린 좌표로 나타나게 함
  448. //grp_setname.attribute("popup") = "true";
  449. //grp_setname.attribute("left") = parseInt( grp_setname.attribute("left") ) + window.screenLeft;
  450. //grp_setname.attribute("top") = parseInt( grp_setname.attribute("top") ) + window.screenTop;
  451. grp_setname.visible = true;
  452. model.setFocus("ipt_setname");
  453. grp_biz.disabled = true; // addGroup 컨트롤이 나타나면 listGroup 컨트롤을 disabled 시킴
  454. grp_setname.refresh();
  455. }
  456. //--------------------------------------------
  457. // 입력한 값들을 초기화 시키고, 컨트롤을 숨김
  458. //--------------------------------------------
  459. function fUpdateSetNameExit()
  460. {
  461. // 입력한 값들을 초기화 시키고, 컨트롤을 숨김
  462. grp_setname.visible = false;
  463. ipt_setinstcd.value = "";
  464. ipt_setdeptcd.value = "";
  465. ipt_setdeptnm.value = "";
  466. ipt_oldsetname.value = "";
  467. ipt_setname.value = "";
  468. //컨트롤을 숨기고 좌표를 초기화 시킴
  469. // grp_setname.initStyle("left");
  470. // grp_setname.initStyle("top");
  471. grp_biz.disabled = false;
  472. }
  473. //--------------------------------------
  474. // 청구set명칭을 변경 한다
  475. //--------------------------------------
  476. function fUpdateSetName()
  477. {
  478. if ((model.getValue(ipt_setname.attribute("ref")) == "")) {
  479. alert("청구set명칭을 입력하십시요!!.");
  480. return;
  481. };
  482. model.setValue("/root/send/setname/updateflag" ,"NAME");
  483. submit("TXRSD00202");
  484. if (model.getValue(gvErrorMsgPath + "/type") == "error") {
  485. return;
  486. }
  487. //
  488. var vSetName = model.getValue(ipt_setname.attribute("ref"));
  489. model.setValue(grd_reqsetmst.nodeset+"["+ grd_reqsetmst.row + "]/goodsetnm", vSetName);
  490. //
  491. for (var i = 1 ; i< grd_reqsetlist.rows ; i++ )
  492. {
  493. model.setValue(grd_reqsetlist.nodeset+"["+ i + "]/goodsetnm", vSetName);
  494. }
  495. grd_reqsetmst.refresh();
  496. grd_reqsetlist.refresh();
  497. fUpdateSetNameExit();
  498. }
  499. /* ------------------------------------------------- */
  500. /* ------End Of List ------------------------------- */
  501. /* -------------------------------------------------- */