AST.js 63 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613
  1. /**
  2. astfInsertGridData : Source 그리드에서 선택된 row를 Target 그리드로 삽입하는 함수
  3. astfChkMatrixData : 쌍으로 이루어진 값의 배열을 체크하고 값들을 배열로 리턴한다.
  4. astfMakePopup : 팝업메뉴를 생성한다.
  5. astfAddCombo : 콤보박스에 원하는 instance node와 value를 설정한다.
  6. */
  7. var PrnKind =1;
  8. var PrnMarginLeft =0;
  9. var PrnMarginTop =0;
  10. var PageSize = "";
  11. /**
  12. * @ver : 2007.3.12
  13. * @by : 공두경
  14. * @---------------------------------------------------
  15. * @type : function
  16. * @access : public
  17. * @desc : Source 그리드에서 선택된 row를 Target 그리드로 삽입하는 함수
  18. * @param1 : src_grid (Source 그리드 컨트롤 ID)
  19. * @param2 : trgt_grid (Target 그리드 컨트롤 ID)
  20. * @param3 : row_select_val (1:Grid 선택(1 Row 복사) 2: 체크박스(multi-Rows) 3: Grid 전체(All-Rows)
  21. * @param4 : chkbox_col_nm(row_select_val의 값이 2일 경우 해당 체크박스의 ref ID명, 그 외 null("")값)
  22. * @param5 : src_grid_col_nm_matrix (두 그리드간 컬럼명이 다를 경우 서로 다른 컬럼의 쌍으로 matrix 생성
  23. 두 그리드간 컬럼명이 완전히 같을 경우 null("")값)
  24. * @param6 : dupl_val_matrix (중복(Duplication) 값을 제거해야하는 경우 중복체크할 컬럼을 쌍으로 matrix 생성
  25. 중복값을 제거하지 않아도 되는 경우에는 null("")값)
  26. * @return : int(결과 값에 따른 메시지 처리 가능 - 필요시 사용 권장)
  27. * @---------------------------------------------------
  28. */
  29. function astfInsertGridData(src_grid, trgt_grid, row_select_val, chkbox_col_nm, src_grid_col_nm_matrix, dupl_val_matrix)
  30. {
  31. //matrix ???? ??? ??
  32. var grid_matrix_val = astfChkMatrixData(src_grid_col_nm_matrix)
  33. if(grid_matrix_val == "E"){
  34. return 0;
  35. }
  36. var dupl_matrix_val = astfChkMatrixData(dupl_val_matrix);
  37. if(dupl_matrix_val == "E"){
  38. return 1;
  39. }
  40. var chk_opener = checkOpener(); //팝업화면인지를 체크
  41. var src_gridCols = src_grid.cols;
  42. var trgt_gridCols = trgt_grid.cols;
  43. if(row_select_val == 1){ //Source Grid를 클릭 또는 더블클릭으로 1row를 선택시
  44. var insert_vali = true;
  45. var src_node_set = src_grid.nodeset + "[" + src_grid.row+ "]/";
  46. if(dupl_val_matrix != ""){
  47. var dupl_trgt_nodeset = trgt_grid.nodeset + "[";
  48. var chk = dupl_matrix_val.length;
  49. for(var j=0; j < chk; j+=2){
  50. if(j == 0){
  51. dupl_trgt_nodeset += dupl_matrix_val[j+1] + "='" + model.getValue(src_node_set+dupl_matrix_val[j]) + "'";
  52. } else {
  53. dupl_trgt_nodeset += " and " + dupl_matrix_val[j+1] + "='" + model.getValue(src_node_set+dupl_matrix_val[j]) + "'";
  54. }
  55. }
  56. dupl_trgt_nodeset += "]/" + dupl_matrix_val[1];
  57. if ( chk_opener ) {
  58. if(opener.model.getValue(dupl_trgt_nodeset) != ""){ //중복되는 컬럼이 있으면 insert 안함
  59. insert_vali = false; //insert 안함
  60. }
  61. } else {
  62. if(model.getValue(dupl_trgt_nodeset) != ""){ //중복되는 컬럼이 있으면 insert 안함
  63. insert_vali = false; //insert 안함
  64. }
  65. }
  66. if(!insert_vali){
  67. messageBox("데이터가 중복되어 처리 ", "E001");
  68. return 2;
  69. }
  70. }
  71. if(insert_vali) {
  72. trgt_grid.addRow();
  73. var trgt_node_set = trgt_grid.nodeset + "[" + (trgt_grid.rows-1) + "]/";
  74. //src와 trgt grid간에 같은 컬럼명인 경우 값을 셋팅함
  75. for(var i = src_grid.fixedcols; i < src_gridCols; i++){
  76. var src_ref_nm = src_grid.colattribute(i,"ref");
  77. for(var j = trgt_grid.fixedcols; j < trgt_gridCols; j++){
  78. var trgt_ref_nm = trgt_grid.colattribute(j,"ref");
  79. if( src_ref_nm == trgt_ref_nm){
  80. if ( chk_opener ) {
  81. opener.model.setValue(trgt_node_set+trgt_ref_nm,model.getValue(src_node_set+src_ref_nm));
  82. } else {
  83. model.setValue(trgt_node_set+trgt_ref_nm,model.getValue(src_node_set+src_ref_nm));
  84. }
  85. }
  86. }
  87. }
  88. //src_grid_col_nm_matrix 파라미터값이 있는 경우 서로 다른 컬럼명에 값을 셋팅함
  89. if( src_grid_col_nm_matrix != ""){
  90. var chk = grid_matrix_val.length;
  91. for(var i=0; i < chk; i+=2){
  92. if ( chk_opener ) {
  93. opener.model.setValue(trgt_node_set+grid_matrix_val[i+1],model.getValue(src_node_set+grid_matrix_val[i]));
  94. } else {
  95. model.setValue(trgt_node_set+grid_matrix_val[i+1],model.getValue(src_node_set+grid_matrix_val[i]));
  96. }
  97. }
  98. }
  99. // trgt_grid.refresh();
  100. model.refresh();
  101. }
  102. } else if(row_select_val == 2){ //source grid에서 체크박스로 여러 row를 선택시
  103. if(chkbox_col_nm == ""){
  104. //messageBox("CheckBox의 ref name 값이 잘못입력되어 ", "E008");
  105. return 3;
  106. }
  107. var insert_vali = true;
  108. var insert_cnt = 0;
  109. //source grid의 전체 row중 check된 row만 insert 함
  110. for(var t = src_grid.fixedrows; t < src_grid.rows; t++){
  111. var src_node_set = src_grid.nodeset + "[" + t + "]/";
  112. insert_vali = true;
  113. if(model.getValue(src_node_set+chkbox_col_nm) == "true"){ //check된 row일 경우
  114. if(dupl_val_matrix != ""){ //중복 체크를 해야하는 경우
  115. var dupl_trgt_nodeset = trgt_grid.nodeset + "[";
  116. var chk = dupl_matrix_val.length;
  117. for(var j=0; j < chk; j+=2){
  118. if(j == 0){
  119. dupl_trgt_nodeset += dupl_matrix_val[j+1] + "='" + model.getValue(src_node_set+dupl_matrix_val[j]) + "'";
  120. } else {
  121. dupl_trgt_nodeset += " and " + dupl_matrix_val[j+1] + "='" + model.getValue(src_node_set+dupl_matrix_val[j]) + "'";
  122. }
  123. }
  124. dupl_trgt_nodeset += "]/" + dupl_matrix_val[1];
  125. if ( chk_opener ) {
  126. if(opener.model.getValue(dupl_trgt_nodeset) != ""){ //중복되는 컬럼이 있으면 insert 안함
  127. insert_vali = false; //insert 안함
  128. }
  129. } else {
  130. if(model.getValue(dupl_trgt_nodeset) != ""){ //중복되는 컬럼이 있으면 insert 안함
  131. insert_vali = false; //insert 안함
  132. }
  133. }
  134. }
  135. if(insert_vali){
  136. insert_cnt++;
  137. trgt_grid.addRow();
  138. var trgt_node_set = trgt_grid.nodeset + "[" + (trgt_grid.rows-1)+ "]/";
  139. //src와 trgt grid간에 같은 컬럼명인 경우 값을 셋팅함
  140. for(var i = src_grid.fixedcols; i < src_gridCols; i++){
  141. var src_ref_nm = src_grid.colattribute(i,"ref");
  142. for(var j = trgt_grid.fixedcols; j < trgt_gridCols; j++){
  143. var trgt_ref_nm = trgt_grid.colattribute(j,"ref");
  144. if( src_ref_nm == trgt_ref_nm){
  145. if ( chk_opener ) {
  146. opener.model.setValue(trgt_node_set+trgt_ref_nm,model.getValue(src_node_set+src_ref_nm));
  147. } else {
  148. model.setValue(trgt_node_set+trgt_ref_nm,model.getValue(src_node_set+src_ref_nm));
  149. }
  150. }
  151. }
  152. }
  153. //src_grid_col_nm_matrix 파라미터값이 있는 경우 서로 다른 컬럼명에 값을 셋팅함
  154. if( src_grid_col_nm_matrix != ""){
  155. var chk = grid_matrix_val.length;
  156. for(var i=0; i < chk; i+=2){
  157. if ( chk_opener ) {
  158. opener.model.setValue(trgt_node_set+grid_matrix_val[i+1],model.getValue(src_node_set+grid_matrix_val[i]));
  159. } else {
  160. model.setValue(trgt_node_set+grid_matrix_val[i+1],model.getValue(src_node_set+grid_matrix_val[i]));
  161. }
  162. }
  163. }
  164. //trgt_grid.refresh();
  165. //model.refresh();
  166. }
  167. }
  168. }
  169. model.refresh();
  170. if(insert_cnt == 0){
  171. //messageBox("데이터가 중복되어 처리 ", "E001");
  172. return 2;
  173. }
  174. } else if(row_select_val == 3){ //source grid의 전체를 insert 해야할 경우
  175. var insert_vali = true;
  176. var insert_cnt = 0;
  177. for(var t = src_grid.fixedrows; t < src_grid.rows; t++){
  178. var src_node_set = src_grid.nodeset + "[" + t + "]/";
  179. insert_vali = true;
  180. if(dupl_val_matrix != ""){ //중복 체크를 해야하는 경우
  181. var dupl_trgt_nodeset = trgt_grid.nodeset + "[";
  182. var chk = dupl_matrix_val.length;
  183. for(var j=0; j < chk; j+=2){
  184. if(j == 0){
  185. dupl_trgt_nodeset += dupl_matrix_val[j+1] + "='" + model.getValue(src_node_set+dupl_matrix_val[j]) + "'";
  186. } else {
  187. dupl_trgt_nodeset += " and " + dupl_matrix_val[j+1] + "='" + model.getValue(src_node_set+dupl_matrix_val[j]) + "'";
  188. }
  189. }
  190. dupl_trgt_nodeset += "]/" + dupl_matrix_val[1];
  191. if ( chk_opener ) {
  192. if(opener.model.getValue(dupl_trgt_nodeset) != ""){ //중복되는 컬럼이 있으면 insert 안함
  193. insert_vali = false; //insert 안함
  194. }
  195. } else {
  196. if(model.getValue(dupl_trgt_nodeset) != ""){ //중복되는 컬럼이 있으면 insert 안함
  197. insert_vali = false; //insert 안함
  198. }
  199. }
  200. }
  201. //if(insert_vali){
  202. insert_cnt++;
  203. trgt_grid.addRow();
  204. var trgt_node_set = trgt_grid.nodeset + "[" + (trgt_grid.rows-1)+ "]/";
  205. for(var i = src_grid.fixedcols; i < src_gridCols; i++){
  206. var src_ref_nm = src_grid.colattribute(i,"ref");
  207. for(var j = trgt_grid.fixedcols; j < trgt_gridCols; j++){
  208. var trgt_ref_nm = trgt_grid.colattribute(j,"ref");
  209. if( src_ref_nm == trgt_ref_nm){
  210. if ( chk_opener ) {
  211. opener.model.setValue(trgt_node_set+trgt_ref_nm,model.getValue(src_node_set+src_ref_nm));
  212. } else {
  213. model.setValue(trgt_node_set+trgt_ref_nm,model.getValue(src_node_set+src_ref_nm));
  214. }
  215. }
  216. }
  217. }
  218. //src_grid_col_nm_matrix 파라미터값이 있는 경우 서로 다른 컬럼명에 값을 셋팅함
  219. if( src_grid_col_nm_matrix != ""){
  220. var chk = grid_matrix_val.length;
  221. for(var i=0; i < chk; i+=2){
  222. if ( chk_opener ) {
  223. opener.model.setValue(trgt_node_set+grid_matrix_val[i+1],model.getValue(src_node_set+grid_matrix_val[i]));
  224. } else {
  225. model.setValue(trgt_node_set+grid_matrix_val[i+1],model.getValue(src_node_set+grid_matrix_val[i]));
  226. }
  227. }
  228. }
  229. //trgt_grid.refresh();
  230. model.refresh();
  231. //}
  232. }
  233. if(insert_cnt == 0){
  234. //messageBox("데이터가 중복되어 처리 ", "E001");
  235. return 2;
  236. }
  237. }
  238. if ( chk_opener ) {
  239. opener.model.refresh();
  240. } else {
  241. model.refresh();
  242. }
  243. return 10;
  244. }
  245. /**
  246. * @ver : 2007.3.13
  247. * @by : 공두경
  248. * @---------------------------------------------------
  249. * @type : function
  250. * @access : public
  251. * @desc : 구분자 ‘,’(쉼표)를 통해 “src_param1,tagt_param1,src_param2,tagt_param2,..."으로 쌍으로 이루어진
  252. 단일 matrix의 오류체크를 하고 matrix를 배열(array)로 변환하는 함수
  253. * @param1 : matrix_val (구분자를 통해 source와 target의 값의 쌍으로 이루어진 String형 변수값을 받음)
  254. * @return : Array(처리 오류 발생시에는 "E"값 반환)
  255. * @---------------------------------------------------
  256. */
  257. function astfChkMatrixData(matrix_val)
  258. {
  259. var col_data = "";
  260. if(matrix_val != ""){
  261. var col_flag = ",";
  262. col_data = matrix_val.split(col_flag); //구분자를 통한 array 생성
  263. if(col_data.length <= 1) {
  264. col_data = "E";
  265. return col_data; //col-anme set이 오류 발생시
  266. }
  267. var chk = col_data.length % 2;
  268. if( chk == 1 ) {
  269. col_data = "E";
  270. return col_data; //col-anme set에 오류 발생시
  271. }
  272. }
  273. return col_data;
  274. }
  275. /**
  276. * @ver : 2007.4.10
  277. * @by : 공두경
  278. * @---------------------------------------------------
  279. * @type : function
  280. * @access : public
  281. * @desc : 팝업메뉴를 생성하는 함수
  282. * @param1 : ctrlD(해당 컨트롤의 ID)
  283. * @param2 : xPath(팝업메뉴에 보여질 label, func의 xPath)
  284. * @return :
  285. * @---------------------------------------------------
  286. */
  287. function astfMakePopup(ctrID, xPath){
  288. var id = ctrID.elementName;
  289. if (event.button == 3){
  290. if(id == "xforms:datagrid"){
  291. if(ctrID.isCell(event.target) && ctrID.mouseRow >= ctrID.fixedrows){
  292. window.setPopupMenu(true, xPath, label, func, false);
  293. }else{
  294. window.setPopupMenu(false);
  295. }
  296. } else if(id == "xforms:calendar" || id == "xforms:select" || id == "xforms:select1" || id == "xforms:treeview"){
  297. if(ctrID.isCell(event.target)){
  298. window.setPopupMenu(true, xPath, "label", "func", false);
  299. }else{
  300. window.setPopupMenu(false);
  301. }
  302. } else if(id == "xforms:multilinegrid"){
  303. if(ctrID.mouseRow >= ctrID.fixedrows){
  304. window.setPopupMenu(true, xPath, "label", "func", false);
  305. }else{
  306. window.setPopupMenu(false);
  307. }
  308. } else if(id == "xforms:img"){
  309. window.setPopupMenu(true, xPath, "label", "func", false);
  310. } else {
  311. window.setPopupMenu(false);
  312. }
  313. }
  314. }
  315. /**
  316. * @ver : 2007.7.16
  317. * @by : 공두경
  318. * @---------------------------------------------------
  319. * @type : function
  320. * @access : public
  321. * @desc : 콤보박스에 원하는 instance node와 value를 설정
  322. * @param1 : combo의 itemset중 nodeset의 경로가 들어감(예: "/root/hidden/deptlist")
  323. * @param2 : combo의 label값과 value값 바로 상위의 노드이름(예: "dept")
  324. * @param3 : combo의 label과 value를 구분자 ','로 공백없이 쌍으로 받음(예 : "cd,nm")
  325. * @param4 : label과 value의 값의 쌍을 받음 (예 : "전체,-")
  326. * @return
  327. * @---------------------------------------------------
  328. */
  329. function astfAddCombo(combopath, parentnode, nodename, nodeval)
  330. {
  331. nodename = nodename.split(",");
  332. nodeval = nodeval.split(",");
  333. if(nodename.length != nodeval.length){
  334. return;
  335. }
  336. var label = model.instances(0).createElement(nodename[0]);
  337. var val = model.instances(0).createElement(nodename[1]);
  338. var combo = model.instances(0).createElement(parentnode);
  339. label.value = "" + nodeval[0] + "";
  340. val.value = "" + nodeval[1] + "";
  341. combo.appendChild(label);
  342. combo.appendChild(val);
  343. chkNode = model.instances(0).selectSingleNode(combopath);
  344. if(chkNode == null){
  345. model.makeNode(combopath);
  346. srcNode = model.instances(0).selectSingleNode(combopath);
  347. }else{
  348. srcNode = model.instances(0).selectSingleNode(combopath);
  349. }
  350. desNode = model.instances(0).selectSingleNode(combopath + "/" + parentnode);
  351. //cnt = model.getXPathValue("count(" + combopath + "/" + parentnode + ")");
  352. // alert(cnt);
  353. if(desNode == null){
  354. //messageBox("MIS 조회된 데이터가 없음===>", "E001");
  355. return 0;
  356. }else{
  357. srcNode.insertBefore(combo, desNode);
  358. //messageBox("MIS 조회된 데이터가 있음===>", "E001");
  359. }
  360. model.refresh();
  361. }
  362. /**
  363. * @ver : 2007.9.6
  364. * @by : 공두경
  365. * @---------------------------------------------------
  366. * @type : function
  367. * @access : public
  368. * @desc : 원하는 nodeset을 1...n개 만들어서 뒤에 *추가*로 복사함
  369. * @param1 : target nodeset의 경로가 들어감(예: "/root/send/deptlist")
  370. * @param2 : source nodeset의 경로가 들어감(예: "/root/main/deptlist/deptlist["+i+"]")
  371. * @return
  372. * @---------------------------------------------------
  373. */
  374. function astfCopyNodeSet(trgtNodeSet, srcNodeSet) {
  375. var nodename_array = trgtNodeSet.split("/");
  376. var nodename = "";
  377. for( var i = 1; i< nodename_array.length -1; i++ ) {
  378. nodename += "/"+nodename_array[i];
  379. }
  380. var srcNodeList = model.instance1.selectNodes(srcNodeSet);
  381. if( srcNodeList.length == 0 )
  382. return;
  383. var tmpNodeSet;
  384. for( var j = srcNodeList.length - 1; j >= 0; j-- ) {
  385. tmpSrcNode = srcNodeList.item(j).cloneNode(true);
  386. tmpSrcNode.nodeName = nodename_array[i];
  387. model.duplicate(nodename, tmpSrcNode);
  388. }
  389. }
  390. /**
  391. * @ver : 2007.9.17
  392. * @by : 공두경
  393. * @---------------------------------------------------
  394. * @type : function
  395. * @access : public
  396. * @param : 공백제거 대상이 되는 String 문자열
  397. * @desc : 앞뒤 공백을 지움
  398. * @return
  399. * @---------------------------------------------------
  400. */
  401. function astfTrim(val)
  402. {
  403. var result_val = "";
  404. var i = 0; //왼쪽제거
  405. var j = 0;//오른쪽제거
  406. for(i = 0; i < val.length; i++){
  407. var temp = val.substr(i,1);
  408. if(temp == null || temp == "" || temp == " " || temp == " " || temp == "undefined"){
  409. } else {
  410. break;
  411. }
  412. }
  413. for(j = val.length; j > 0; j--){
  414. var temp = val.substr(j,1);
  415. if(temp == null || temp == "" || temp == " " || temp == " " || temp == "undefined"){
  416. } else {
  417. break;
  418. }
  419. }
  420. return ( (i > 0) || (j < val.length) ) ? val.substring(i, j-i+1) : val;
  421. }
  422. /**
  423. * @ver : 2007.9.17
  424. * @by : 공두경
  425. * @---------------------------------------------------
  426. * @type : function
  427. * @access : public
  428. * @desc : 구분자로 분리도니 특정자료를 읽음
  429. * @param1 : pData
  430. * @param2 : pRow(▩)
  431. * @param3 : pCol(▦)
  432. * @return
  433. * @---------------------------------------------------
  434. */
  435. function astfMatrixData(pData, pRow, pCol)
  436. {
  437. var rowSep = "▩";
  438. var colSep = "▦";
  439. var arrRow = pData.split(rowSep);
  440. if(arrRow.length <= pRow) return "";
  441. var arrCol = arrRow[pRow].split(colSep);
  442. if(arrCol.length <= pCol) return "";
  443. return arrCol[pCol];
  444. }
  445. /**
  446. * @group : commonweb
  447. * @ver : 2007.05.08 (CMCDEV-0001)
  448. * @by : Jin Hwa Ji [ACK Co., Ltd.]
  449. * @---------------------------------------------------
  450. * @type : function
  451. * @access : public
  452. * @desc : 바코드 Format 시작
  453. * @param : pX = 시작 가로위치 (in dots)
  454. * @param : pY = 시작 세로위치 (in dots)
  455. * @return :
  456. * @---------------------------------------------------
  457. */
  458. function astfStartFormat(pX, pY, pPage) {
  459. PageSize = pPage;
  460. if ( PrnKind == 2 || PrnKind == 7 ) {
  461. // if ( PrnMarginLeft.length == 1 ){
  462. // PrnMarginLeft = "0"+ PrnMarginLeft;
  463. // }
  464. // if ( PrnMarginTop.length == 1 ){
  465. // PrnMarginTop = "0"+ PrnMarginTop;
  466. // }
  467. if(pPage == "S") {
  468. return "AA107000500V00H00L0101";
  469. }else {
  470. return "AA110300820V00H00L0101";
  471. }
  472. } else {
  473. return "^XA^SEE:UHANGUL.DAT^FS^CWQ,E:AAAAA.FNT^FS^CI26" + "^LH" + pX + "," + pY;
  474. }
  475. }
  476. /**
  477. * @group : commonweb
  478. * @ver : 2007.05.08 (CMCDEV-0001)
  479. * @by : Jin Hwa Ji [ACK Co., Ltd.]
  480. * @---------------------------------------------------
  481. * @type : function
  482. * @access : public
  483. * @desc : 바코드 Format 종료
  484. * @param : pCnt = 출력매수
  485. * @return :
  486. * @---------------------------------------------------
  487. */
  488. function astfEndFormat(pCnt) {
  489. var vCnt = 1;
  490. if (isNull(pCnt)) {
  491. vCnt = 1;
  492. } else {
  493. vCnt = pCnt
  494. }
  495. if ( PrnKind == 2 || PrnKind == 7 ) {
  496. return "Q"+ vCnt +"Z";
  497. } else {
  498. return "^PQ" + vCnt + "^XZ";
  499. }
  500. }
  501. /**
  502. * @group : commonweb
  503. * @ver : 2007.05.08 (CMCDEV-0001)
  504. * @by : Jin Hwa Ji [ACK Co., Ltd.]
  505. * @---------------------------------------------------
  506. * @type : function
  507. * @access : public
  508. * @desc : 바코드 Format 종료
  509. * @param : pX = 시작 가로위치 (in dots)
  510. * @param : pY = 시작 세로위치 (in dots)
  511. * @return :
  512. * @---------------------------------------------------
  513. */
  514. function astfFiendOrigin(pX, pY) {
  515. if ( PrnKind == 2 || PrnKind == 7 ) {
  516. return "V"+pY+"H"+pX;
  517. } else {
  518. return "^FO" + pX + "," + pY;
  519. }
  520. }
  521. /**
  522. * @group : commonweb
  523. * @ver : 2007.05.08 (CMCDEV-0001)
  524. * @by : Jin Hwa Ji [ACK Co., Ltd.]
  525. * @---------------------------------------------------
  526. * @type : function
  527. * @access : public
  528. * @desc : 기본 Font 설정
  529. * @param : pF = Default Font
  530. * @param : pH = Height(in dots) - Default 9
  531. * @param : pW = Width(in dots) - Default 5
  532. * @return :
  533. * @---------------------------------------------------
  534. */
  535. function astfChangeFont(pF, pH, pW) {
  536. var sBuf = "";
  537. sBuf = "^CF" + pF;
  538. sBuf += "," + pH;
  539. sBuf += "," + pW;
  540. return sBuf;
  541. }
  542. /**
  543. * @group : commonweb
  544. * @ver : 2007.05.08 (CMCDEV-0001)
  545. * @by : Jin Hwa Ji [ACK Co., Ltd.]
  546. * @---------------------------------------------------
  547. * @type : function
  548. * @access : public
  549. * @desc : 박스 출력
  550. * @param : pX = 시작 가로위치 (in dots)
  551. * @param : pY = 시작 세로위치 (in dots)
  552. * @param : pW = 박스 폭 (in dots)
  553. * @param : pH = 박스 높이 (in dots)
  554. * @param : pBF = 보더 굵이 (박스를 채우려면 값을 크게 준다. 1 ~ 3200)
  555. * @return :
  556. * @---------------------------------------------------
  557. */
  558. function astfGraphicBox(pX, pY, pW, pH, pBF) {
  559. var sBuf = "";
  560. if ( PrnKind == 2 || PrnKind == 7 ) {
  561. } else {
  562. sBuf = astfFiendOrigin(pX, pY);
  563. sBuf += "^GB" + pW + "," + pH + "," + pBF + "^FS";
  564. }
  565. return sBuf;
  566. }
  567. /**
  568. * @group : commonweb
  569. * @ver : 2007.05.08 (CMCDEV-0001)
  570. * @by : Jin Hwa Ji [ACK Co., Ltd.]
  571. * @---------------------------------------------------
  572. * @type : function
  573. * @access : public
  574. * @desc : 알파벳, 숫자 Field정의
  575. * @param : pX = 시작 가로위치 (in dots)
  576. * @param : pY = 시작 세로위치 (in dots)
  577. * @param : pData = Field Data
  578. * @param : pReverse = 배경 기준으로 역상으로표시 ( Y:역상으로 )
  579. * @return :
  580. * @---------------------------------------------------
  581. */
  582. function astfFieldDataA(pX, pY, pData, pReverse) {
  583. var sBuf = "";
  584. sBuf = astfFiendOrigin(pX, pY);
  585. if (!isNull(pReverse)) {
  586. if (pReverse.getTrim() == "Y") {
  587. sBuf += "^FR";
  588. }
  589. }
  590. sBuf += "^FD" + pData + "^FS";
  591. return sBuf;
  592. }
  593. /**
  594. * @group : commonweb
  595. * @ver : 2007.05.08 (CMCDEV-0001)
  596. * @by : Jin Hwa Ji [ACK Co., Ltd.]
  597. * @---------------------------------------------------
  598. * @type : function
  599. * @access : public
  600. * @desc : 한글 및 특수문자 Field정의
  601. * @param : pX = 시작 가로위치 (in dots)
  602. * @param : pY = 시작 세로위치 (in dots)
  603. * @param : pW = 폰트 Width
  604. * @param : pH = 폰트 Height
  605. * @param : pData = Field Data
  606. * @return :
  607. * @---------------------------------------------------
  608. */
  609. function astfFieldDataH(pX, pY, pW, pH, pData) {
  610. var sBuf = "";
  611. sBuf += astfFiendOrigin(pX, pY);
  612. sBuf += "^CFA" + "," + pW + "," + pH;;
  613. sBuf += "^FD" + pData + "^FS";
  614. return sBuf;
  615. }
  616. /**
  617. * @group : commonweb
  618. * @ver : 2007.05.08 (CMCDEV-0001)
  619. * @by : Jin Hwa Ji [ACK Co., Ltd.]
  620. * @---------------------------------------------------
  621. * @type : function
  622. * @access : public
  623. * @desc : 바코드 정의(Code 39)
  624. * @param : pX = 시작 가로위치
  625. * @param : pY = 시작 세로위치
  626. * @param : pO = 방향
  627. * @param : pH = 바코드 Height
  628. * @param : pData = 바코드정보
  629. * @param : pBigYN = 바코드 크기정보
  630. * @return :
  631. * @---------------------------------------------------
  632. */
  633. function astfBarCode_Code39(pX, pY, pO, pH, pData, pBigYN) {
  634. var sBuf = "";
  635. pX = parseInt(pX) + parseInt(PrnMarginLeft);
  636. pY = parseInt(pY) + parseInt(PrnMarginTop);
  637. sBuf = astfFiendOrigin(pX, pY);
  638. if ( PrnKind == 2 || PrnKind == 7 ) {
  639. //sBuf += "V"+pY+"H"+pX+"B103080" +"*" +pData +"*";
  640. if ( PageSize == "S" ) {
  641. sBuf += "V"+pY+"H"+pX+"BG01070" + pData ;
  642. } else {
  643. sBuf += "V"+pY+"H"+pX+"BG02070" + pData ;
  644. }
  645. //sBuf += "V"+pY+"H"+pX+"BC01070" +pData.length+ pData ;
  646. //sBuf += "BT101020102V"+pY+"H"+pX+"BW01070" +"*" +pData +"*" ;
  647. } else {
  648. if(pBigYN == "S"){
  649. sBuf += "^BY1,2.0";
  650. } else if(pBigYN == "B"){
  651. sBuf += "^BY2,2.0";
  652. } else {
  653. sBuf += "^BY2,2.0";
  654. }
  655. sBuf += "^B3" + pO + ",N," + pH + ",N,N^FD" + pData + "^FS";
  656. }
  657. return sBuf;
  658. }
  659. /**
  660. * @group : commonweb
  661. * @ver : 2007.09.18
  662. * @by : 공두경
  663. * @---------------------------------------------------
  664. * @type : function
  665. * @access : public
  666. * @desc : 한글 및 특수문자 Field정의
  667. * @param : pX = 시작 가로위치 (in dots)
  668. * @param : pY = 시작 세로위치 (in dots)
  669. * @param : pFont = 글자크기(1-10)
  670. * @param : pData = Field Data
  671. * @param : pReverse = 배경 기준으로 역상으로표시 ( Y:역상으로 )
  672. * @return :
  673. * @---------------------------------------------------
  674. */
  675. function astfPrintOutH(pX, pY, pFont, pImage, pData, pReverse) {
  676. var sBuf = "";
  677. if ( PrnKind == 2 || PrnKind == 7 ) {
  678. sBuf= CommAX.PrtImgOut(pX,pY,pData);
  679. } else {
  680. sBuf = astfFontSize(pFont);
  681. sBuf += CommAX.PrtImgOut(pImage, pData);
  682. sBuf += astfFiendOrigin(pX, pY);
  683. sBuf += "^XG"+pImage+",2,1^FS";
  684. }
  685. return sBuf;
  686. }
  687. /**
  688. * @group : commonweb
  689. * @ver : 2007.09.18
  690. * @by : 공두경
  691. * @---------------------------------------------------
  692. * @type : function
  693. * @access : public
  694. * @desc : 일반 영문 및 숫자 Field정의
  695. * @param : pX = 시작 가로위치 (in dots)
  696. * @param : pY = 시작 세로위치 (in dots)
  697. * @param : pFont = 글자크기(1-10)
  698. * @param : pData = Field Data
  699. * @param : pReverse = 배경 기준으로 역상으로표시 ( Y:역상으로 )
  700. * @return :
  701. * @---------------------------------------------------
  702. */
  703. function astfPrintOutA(pX, pY, pFont, pData, pReverse) {
  704. var sBuf = "";
  705. sBuf += astfFontSize(pFont);
  706. sBuf += astfFieldDataA(pX, pY, pData, pReverse);
  707. return sBuf;
  708. }
  709. /**
  710. * @group : commonweb
  711. * @ver : 2007.09.18
  712. * @by : 공두경
  713. * @---------------------------------------------------
  714. * @type : function
  715. * @access : public
  716. * @desc : 한글 및 특수문자 Field정의
  717. * @param : pX = 시작 가로위치 (in dots)
  718. * @param : pY = 시작 세로위치 (in dots)
  719. * @param : pFont = 글자크기(1-10)
  720. * @param : pData = Field Data
  721. * @param : pReverse = 배경 기준으로 역상으로표시 ( Y:역상으로 )
  722. * @return :
  723. * @---------------------------------------------------
  724. */
  725. function astfPrintOut(pX, pY, pFont, pData, pReverse) {
  726. var sBuf = "";
  727. //alert("이전:"+pX);
  728. pX = parseInt(pX) + parseInt(PrnMarginLeft);
  729. pY = parseInt(pY) + parseInt(PrnMarginTop);
  730. //alert("PrnMarginLeft:"+PrnMarginLeft);
  731. //alert("이후:"+pX);
  732. if ( PrnKind == 2 ) {
  733. sBuf = astfFiendOrigin(pX, pY);
  734. sBuf += astfFontSize(pFont);
  735. //if (!isNull(pReverse)) {
  736. // if (pReverse.getTrim() == "Y") {
  737. // sBuf += "%2";
  738. // } else {
  739. // sBuf += "%0";
  740. // }
  741. // }
  742. sBuf += pData+"";
  743. } else if (PrnKind == 7){
  744. if(pFont == 6 || pFont == 7 || pFont == 10){
  745. sBuf += CommAX.PrtImgOut(parseInt( pY), parseInt(pX), pData,2,2,"0","K2B");
  746. } else {
  747. sBuf += CommAX.PrtImgOut(parseInt( pY), parseInt(pX), pData,1,1,"0","K2B");
  748. }
  749. /* if(pFont == 6 || pFont == 7){
  750. if (pReverse.getTrim() == "Y") {
  751. sBuf += CommAX.PrtImgOut(parseInt(pX),parseInt( pY), pData,2,2, "2", "K8D" ,"M")+"";
  752. } else {
  753. sBuf += CommAX.PrtImgOut(parseInt(pX),parseInt( pY), pData,2,2, "0", "K8D" ,"M")+"";
  754. }
  755. } else {
  756. if (pReverse.getTrim() == "Y") {
  757. sBuf += CommAX.PrtImgOut(parseInt(pX),parseInt( pY), pData,1,1, "2", "K9D" ,"M")+"";
  758. } else {
  759. sBuf += CommAX.PrtImgOut(parseInt(pX),parseInt( pY), pData,1,1, "0", "K9D" ,"M")+"";
  760. }
  761. } */
  762. } else {
  763. sBuf = astfFiendOrigin(pX, pY);
  764. sBuf += astfFontSize(pFont);
  765. if (!isNull(pReverse)) {
  766. if (pReverse.getTrim() == "Y") {
  767. sBuf += "^FR";
  768. }
  769. }
  770. sBuf += "^FD"+pData+"^FS";
  771. }
  772. return sBuf;
  773. }
  774. /**
  775. * @group : commonweb
  776. * @ver : 2007.09.18
  777. * @by : 공두경
  778. * @---------------------------------------------------
  779. * @type : function
  780. * @access : public
  781. * @desc : 숫자 크기정의
  782. * @param : pFont = 폰트크기(1-10)
  783. * @return :
  784. * @---------------------------------------------------
  785. */
  786. function astfFontSize(pFont) {
  787. var sBuf = "";
  788. var pW = 0;
  789. var pH = 0;
  790. if ( PrnKind == 2 || PrnKind == 7 ) {
  791. if(pFont == 6 || pFont == 7 || pFont == 10){
  792. sBuf ="L0202K8D";
  793. } else {
  794. sBuf ="L0101K9D";
  795. }
  796. } else {
  797. if(pFont == 1){
  798. pH = 21;
  799. pW = 10;
  800. } else if(pFont == 2){
  801. pH = 26;
  802. pW = 19;
  803. } else if(pFont == 3){
  804. pH = 31;
  805. pW = 23;
  806. } else if(pFont == 4){
  807. pH = 36;
  808. pW = 28;
  809. } else if(pFont == 5){
  810. pH = 41;
  811. pW = 33;
  812. } else if(pFont == 6){
  813. pH = 46;
  814. pW = 38;
  815. } else if(pFont == 7){
  816. pH = 50;
  817. pW = 43;
  818. } else if(pFont == 8){
  819. pH = 55;
  820. pW = 48;
  821. } else if(pFont == 9){
  822. pH = 60;
  823. pW = 53;
  824. } else if(pFont == 10){
  825. pH = 70;
  826. pW = 62;
  827. } else if(pFont == 11){
  828. pH = 25;
  829. pW = 13;
  830. } else if(pFont == 21){
  831. pH = 25;
  832. pW = 19;
  833. } else if(pFont == 24){
  834. pH = 26;
  835. pW = 16;
  836. } else if(pFont == 27){
  837. pH = 31;
  838. pW = 26;
  839. } else if(pFont == 28){
  840. pH = 30;
  841. pW = 19;
  842. }else if(pFont == 29){
  843. pH = 31;
  844. pW = 20;
  845. }else if(pFont == 31){
  846. pH = 33;
  847. pW = 23;
  848. } else if(pFont == 32){
  849. pH = 35;
  850. pW = 24;
  851. } else if(pFont == 33){
  852. pH = 35;
  853. pW = 25;
  854. } else if(pFont == 34){
  855. pH = 35;
  856. pW = 26;
  857. } else if(pFont == 35){
  858. pH = 35;
  859. pW = 28;
  860. }
  861. sBuf = "^AQN,"+pH+","+pW;
  862. }
  863. return sBuf;
  864. }
  865. /**
  866. * @group : commonweb
  867. * @ver : 2008.07.14
  868. * @by : 나윤상
  869. * @---------------------------------------------------
  870. * @type : function
  871. * @access : public
  872. * @desc : 노드셋 내의 Not Null 컬럼 체크
  873. * @param : pNodeSet = 대상 노드셋
  874. * pCol = 검증대상 컬럼
  875. * pMsg = 출력될 메시지
  876. * @return :
  877. * @---------------------------------------------------
  878. */
  879. function astfNullValidation(pNodeSet, pCol, pMsg)
  880. {
  881. var cntnull = model.getXPathValue("count(" + pNodeSet + " [normalize-space(string(" + pCol + ")) = ''])");
  882. if(cntnull > 0)
  883. {
  884. messageBox(pMsg , "C001");
  885. return false;
  886. }
  887. return true;
  888. }
  889. /**
  890. * @group : commonweb
  891. * @ver : 2008.07.21
  892. * @by : 나윤상
  893. * @---------------------------------------------------
  894. * @type : function
  895. * @access : public
  896. * @desc : srcNodeSet의 모든 노드셋을 refNodeSet으로 복사한다.(노드셋 리네임 복사)
  897. * @param : srcNodeSet = 원본 노드셋
  898. * refNodeSet = 복사해서 넣을 노드셋
  899. * @return :
  900. * @---------------------------------------------------
  901. */
  902. function astfCopyRenameNodeSet(refNodeSet, srcNodeSet)
  903. {
  904. var refNodeCnt = model.getXPathValue("count(" + refNodeSet + ")");
  905. for(var i = 1; i <= model.getXPathValue("count(" + srcNodeSet + ")"); i++)
  906. {
  907. var makeNodeCnt = parseInt(refNodeCnt) + parseInt(i);
  908. model.makeNode(refNodeSet + "[" + makeNodeCnt + "]");
  909. model.copyNode(refNodeSet + "[" + makeNodeCnt + "]", srcNodeSet + "[" + i + "]");
  910. }
  911. }
  912. /**
  913. * 건진 신용카드 승인 및 취소로직 일원화 작업
  914. * 이정택
  915. * 2017/09/12
  916. */
  917. function fOpenCardPopUp(grd_name, flag){
  918. //debugger;
  919. if(flag == 'I'){ // 승인
  920. for(var i=1; i<grd_name.rows; i++){
  921. if(grd_name.valueMatrix(i,grd_name.colRef("rcptstat1"))==""){
  922. if(grd_name.valueMatrix(i,grd_name.colRef("cardnotra")) != ""){
  923. grd_name.valueMatrix(i,grd_name.colRef("keyinptflag")) = "S";
  924. }
  925. var parm;
  926. var pid = model.getValue("/root/main/info/acptinfo/acptlist/pid");
  927. var orddd = model.getValue("/root/main/info/acptinfo/acptlist/orddd");
  928. var cretno = model.getValue("/root/main/info/acptinfo/acptlist/cretno");
  929. var orddeptcd = model.getValue("/root/main/info/acptinfo/acptlist/orddeptcd");
  930. var strRcvVan = "";
  931. var ordtype = grd_name.valueMatrix(i,grd_name.colRef("ordtype"));
  932. var fromdd = "";
  933. var todd = "";
  934. var cardAmt = grd_name.valueMatrix(i,grd_name.colRef("cardamt"));
  935. var cardno = grd_name.valueMatrix(i,grd_name.colRef("cardno"));
  936. var valiterm = grd_name.valueMatrix(i,grd_name.colRef("valiterm"));
  937. var allotmm = grd_name.valueMatrix(i,grd_name.colRef("allotmm"));
  938. var keyinptflag = grd_name.valueMatrix(i,grd_name.colRef("keyinptflag"));
  939. var swipedata = grd_name.valueMatrix(i,grd_name.colRef("cardnotra"));
  940. model.removeNodeset("/root/van_tmp");
  941. model.makeNode("/root/van_tmp/card_req");
  942. model.makeNode("/root/van_tmp/card_rcv");
  943. var req_card = "/root/van_tmp/card_req";
  944. var rcv_card = "/root/van_tmp/card_rcv";
  945. parm = "0" + "▦" + //멀티건수
  946. "" + "▦" + //멀티opmi
  947. "" + "▦" + //rcptdd 변경 혹은 취소인 경우 필요
  948. "" + "▦" + //rcptno
  949. "" + "▦" + //rcptseqno
  950. cardAmt + "▦" + //totalamt
  951. req_card + "▦" + //send
  952. rcv_card + "▦" + //receive
  953. pid + "▦" + //pid
  954. orddd + "▦" + //orddd
  955. cretno + "▦" + //cretno
  956. strRcvVan + "▦" + //strRcvVan
  957. ordtype + "▦" + //ordtype
  958. fromdd + "▦" + //fromdd
  959. todd + "▦" + //todd
  960. orddeptcd + "▦" + //orddeptcd
  961. cardno + "▦" + //cardno
  962. valiterm + "▦" + //valiterm
  963. allotmm + "▦" + //allotmm
  964. keyinptflag + "▦" + //KeyInptFlag
  965. swipedata + "▦" ; //swipedata
  966. setParameter("SPPAO00400_PARM",parm);
  967. setParameter("SPPAO00400_FLAG", "I");
  968. setParameter("SPPAO00400_RTNTYPE", "A");
  969. var ivrObjt = document.all("ivr_cardpopup");
  970. if( ivrObjt == null ){
  971. body.createChild("xforms:iviewer", "id:ivr_cardpopup; src:../../../pam/pamcomnweb/xrw/SPPAO00400_신용카드승인.xrw");
  972. ivrObjt = document.all("ivr_cardpopup");
  973. }
  974. ivrObjt.window.javascript.fInit();
  975. var retMsg = ivrObjt.window.javascript.fAutoGetCardAprv(); //실제 카드승인
  976. body.removeChild("ivr_cardpopup");
  977. if(retMsg == false) {
  978. //messageBox("카드승인실패 => "+ model.getValue("/root/tmp/appvanif/cardname") ,"E999","");
  979. return false;
  980. }else{
  981. grd_name.valueMatrix(i,grd_name.colRef("aprvdd"))= model.getValue("/root/van_tmp/card_rcv/card/card_aprvdd");
  982. grd_name.valueMatrix(i,grd_name.colRef("aprvno"))= model.getValue("/root/van_tmp/card_rcv/card/card_aprvno");
  983. grd_name.valueMatrix(i,grd_name.colRef("aprvtm"))= model.getValue("/root/van_tmp/card_rcv/card/card_aprvtm");
  984. grd_name.valueMatrix(i,grd_name.colRef("aprvflag"))= "12";
  985. }
  986. }
  987. }
  988. setParameter("SPPAO02101_ELCTSIGNKEY", "");
  989. setParameter("SPPAO02101_ELCTSIGNCNTS", "");
  990. return true;
  991. }else if(flag == 'D'){ // 승인취소
  992. var selrow = grd_name.row;
  993. if(!isNull(selrow) && parseInt(selrow)>0){ // 선택 후 취소처리
  994. var parm;
  995. var pid = model.getValue("/root/main/info/acptinfo/acptlist/pid");
  996. var orddd = model.getValue("/root/main/info/acptinfo/acptlist/orddd");
  997. var cretno = model.getValue("/root/main/info/acptinfo/acptlist/cretno");
  998. var orddeptcd = model.getValue("/root/main/info/acptinfo/acptlist/orddeptcd");
  999. var strRcvVan = "";
  1000. var ordtype = grd_name.valueMatrix(selrow,grd_name.colRef("ordtype"));
  1001. var fromdd = "";
  1002. var todd = "";
  1003. var cardAmt = grd_name.valueMatrix(selrow,grd_name.colRef("cardamt"));
  1004. var cardno = grd_name.valueMatrix(selrow,grd_name.colRef("cardno"));
  1005. var valiterm = grd_name.valueMatrix(selrow,grd_name.colRef("valiterm"));
  1006. var allotmm = grd_name.valueMatrix(selrow,grd_name.colRef("allotmm"));
  1007. var keyinptflag = grd_name.valueMatrix(selrow,grd_name.colRef("keyinptflag"));
  1008. var swipedata = grd_name.valueMatrix(selrow,grd_name.colRef("cardnotra"));
  1009. model.removeNodeset("/root/van_tmp");
  1010. model.makeNode("/root/van_tmp/card_req");
  1011. model.makeNode("/root/van_tmp/card_rcv");
  1012. model.makeValue("/root/van_tmp/card_req/card/card_pid", grd_name.valueMatrix(selrow,grd_name.colRef("pid")));
  1013. model.makeValue("/root/van_tmp/card_req/card/card_rcptdd", grd_name.valueMatrix(selrow,grd_name.colRef("rcptdd")));
  1014. model.makeValue("/root/van_tmp/card_req/card/card_rcptno", grd_name.valueMatrix(selrow,grd_name.colRef("rcptno")));
  1015. model.makeValue("/root/van_tmp/card_req/card/card_rcptseqno", grd_name.valueMatrix(selrow,grd_name.colRef("rcptseqno")));
  1016. model.makeValue("/root/van_tmp/card_req/card/card_seqno", grd_name.valueMatrix(selrow,grd_name.colRef("seqno")));
  1017. model.makeValue("/root/van_tmp/card_req/card/card_instcd", "");
  1018. model.makeValue("/root/van_tmp/card_req/card/card_rcptstat", "Y");
  1019. model.makeValue("/root/van_tmp/card_req/card/card_ordtype", grd_name.valueMatrix(selrow,grd_name.colRef("ordtype")));
  1020. model.makeValue("/root/van_tmp/card_req/card/card_keyinptflag", grd_name.valueMatrix(selrow,grd_name.colRef("keyinptflag")));
  1021. model.makeValue("/root/van_tmp/card_req/card/card_cardcmpycd", grd_name.valueMatrix(selrow,grd_name.colRef("cardcmpycd")));
  1022. model.makeValue("/root/van_tmp/card_req/card/card_cardno", grd_name.valueMatrix(selrow,grd_name.colRef("cardno")));
  1023. model.makeValue("/root/van_tmp/card_req/card/card_aprvflag", grd_name.valueMatrix(selrow,grd_name.colRef("aprvflag")));
  1024. model.makeValue("/root/van_tmp/card_req/card/card_aprvdd", grd_name.valueMatrix(selrow,grd_name.colRef("aprvdd")));
  1025. model.makeValue("/root/van_tmp/card_req/card/card_aprvtm", grd_name.valueMatrix(selrow,grd_name.colRef("aprvtm")));
  1026. model.makeValue("/root/van_tmp/card_req/card/card_aprvno", grd_name.valueMatrix(selrow,grd_name.colRef("aprvno")));
  1027. model.makeValue("/root/van_tmp/card_req/card/card_vancd", grd_name.valueMatrix(selrow,grd_name.colRef("vancd")));
  1028. model.makeValue("/root/van_tmp/card_req/card/card_allotmm", grd_name.valueMatrix(selrow,grd_name.colRef("allotmm")));
  1029. model.makeValue("/root/van_tmp/card_req/card/card_cardamt", grd_name.valueMatrix(selrow,grd_name.colRef("cardamt")));
  1030. model.makeValue("/root/van_tmp/card_req/card/card_valiterm", grd_name.valueMatrix(selrow,grd_name.colRef("valiterm")));
  1031. model.makeValue("/root/van_tmp/card_req/card/card_rcptexecdd", "");
  1032. model.makeValue("/root/van_tmp/card_req/card/card_rcpttm", "");
  1033. model.makeValue("/root/van_tmp/card_req/card/card_rcptrid", "");
  1034. model.makeValue("/root/van_tmp/card_req/card/card_innrtretyn", "N");
  1035. model.makeValue("/root/van_tmp/card_req/card/card_preamtyn", "N");
  1036. model.makeValue("/root/van_tmp/card_req/card/card_remfact", "");
  1037. model.makeValue("/root/van_tmp/card_req/card/card_fstrgstrid", "");
  1038. model.makeValue("/root/van_tmp/card_req/card/card_fstrgstdt", "");
  1039. model.makeValue("/root/van_tmp/card_req/card/card_lastupdtrid", "");
  1040. model.makeValue("/root/van_tmp/card_req/card/card_lastupdtdt", "");
  1041. var req_card = "/root/van_tmp/card_req";
  1042. var rcv_card = "/root/van_tmp/card_rcv";
  1043. parm = "0" + "▦" + //멀티건수
  1044. "" + "▦" + //멀티opmi
  1045. "" + "▦" + //rcptdd 변경 혹은 취소인 경우 필요
  1046. "" + "▦" + //rcptno
  1047. "" + "▦" + //rcptseqno
  1048. cardAmt + "▦" + //totalamt
  1049. req_card + "▦" + //send
  1050. rcv_card + "▦" + //receive
  1051. pid + "▦" + //pid
  1052. orddd + "▦" + //orddd
  1053. cretno + "▦" + //cretno
  1054. strRcvVan + "▦" + //strRcvVan
  1055. ordtype + "▦" + //ordtype
  1056. fromdd + "▦" + //fromdd
  1057. todd + "▦" + //todd
  1058. orddeptcd + "▦" + //orddeptcd
  1059. cardno + "▦" + //cardno
  1060. valiterm + "▦" + //valiterm
  1061. allotmm + "▦" + //allotmm
  1062. keyinptflag + "▦" + //KeyInptFlag
  1063. swipedata + "▦" ; //swipedata
  1064. setParameter("SPPAO00400_PARM",parm);
  1065. setParameter("SPPAO00400_FLAG", "D");
  1066. setParameter("SPPAO00400_RTNTYPE", "A");
  1067. var ivrObjt = document.all("ivr_cardpopup");
  1068. if( ivrObjt == null ){
  1069. body.createChild("xforms:iviewer", "id:ivr_cardpopup; src:../../../pam/pamcomnweb/xrw/SPPAO00400_신용카드승인.xrw");
  1070. ivrObjt = document.all("ivr_cardpopup");
  1071. }
  1072. ivrObjt.window.javascript.fInit();
  1073. var retMsg = ivrObjt.window.javascript.fAutoCnclCardAprv(); //실제 카드승인취소
  1074. body.removeChild("ivr_cardpopup");
  1075. if(retMsg == false) {
  1076. return false;
  1077. }else{
  1078. grd_name.valueMatrix(selrow,grd_name.colRef("aprvdd")) = model.getValue("/root/van_tmp/card_rcv/card/card_aprvdd");
  1079. grd_name.valueMatrix(selrow,grd_name.colRef("aprvno")) = model.getValue("/root/van_tmp/card_rcv/card/card_aprvno");
  1080. grd_name.valueMatrix(selrow,grd_name.colRef("aprvtm")) = model.getValue("/root/van_tmp/card_rcv/card/card_aprvtm");
  1081. grd_name.valueMatrix(selrow,grd_name.colRef("aprvflag")) = "22";
  1082. }
  1083. return true;
  1084. }else{ // 일괄 취소처리
  1085. for(var i=1; i<grd_name.rows; i++){
  1086. if(grd_name.valueMatrix(i,grd_name.colRef("rcptstat1"))!= '승인'){
  1087. continue;
  1088. }
  1089. var parm;
  1090. var pid = model.getValue("/root/main/info/acptinfo/acptlist/pid");
  1091. var orddd = model.getValue("/root/main/info/acptinfo/acptlist/orddd");
  1092. var cretno = model.getValue("/root/main/info/acptinfo/acptlist/cretno");
  1093. var orddeptcd = model.getValue("/root/main/info/acptinfo/acptlist/orddeptcd");
  1094. var strRcvVan = "";
  1095. var ordtype = grd_name.valueMatrix(i,grd_name.colRef("ordtype"));
  1096. var fromdd = "";
  1097. var todd = "";
  1098. var cardAmt = grd_name.valueMatrix(i,grd_name.colRef("cardamt"));
  1099. var cardno = grd_name.valueMatrix(i,grd_name.colRef("cardno"));
  1100. var valiterm = grd_name.valueMatrix(i,grd_name.colRef("valiterm"));
  1101. var allotmm = grd_name.valueMatrix(i,grd_name.colRef("allotmm"));
  1102. var keyinptflag = grd_name.valueMatrix(i,grd_name.colRef("keyinptflag"));
  1103. var swipedata = grd_name.valueMatrix(i,grd_name.colRef("cardnotra"));
  1104. model.removeNodeset("/root/van_tmp");
  1105. model.makeNode("/root/van_tmp/card_req");
  1106. model.makeNode("/root/van_tmp/card_rcv");
  1107. model.makeValue("/root/van_tmp/card_req/card/card_pid", grd_name.valueMatrix(i,grd_name.colRef("pid")));
  1108. model.makeValue("/root/van_tmp/card_req/card/card_rcptdd", grd_name.valueMatrix(i,grd_name.colRef("rcptdd")));
  1109. model.makeValue("/root/van_tmp/card_req/card/card_rcptno", grd_name.valueMatrix(i,grd_name.colRef("rcptno")));
  1110. model.makeValue("/root/van_tmp/card_req/card/card_rcptseqno", grd_name.valueMatrix(i,grd_name.colRef("rcptseqno")));
  1111. model.makeValue("/root/van_tmp/card_req/card/card_seqno", grd_name.valueMatrix(i,grd_name.colRef("seqno")));
  1112. model.makeValue("/root/van_tmp/card_req/card/card_instcd", "");
  1113. model.makeValue("/root/van_tmp/card_req/card/card_rcptstat", "Y");
  1114. model.makeValue("/root/van_tmp/card_req/card/card_ordtype", grd_name.valueMatrix(i,grd_name.colRef("ordtype")));
  1115. model.makeValue("/root/van_tmp/card_req/card/card_keyinptflag", grd_name.valueMatrix(i,grd_name.colRef("keyinptflag")));
  1116. model.makeValue("/root/van_tmp/card_req/card/card_cardcmpycd", grd_name.valueMatrix(i,grd_name.colRef("cardcmpycd")));
  1117. model.makeValue("/root/van_tmp/card_req/card/card_cardno", grd_name.valueMatrix(i,grd_name.colRef("cardno")));
  1118. model.makeValue("/root/van_tmp/card_req/card/card_aprvflag", grd_name.valueMatrix(i,grd_name.colRef("aprvflag")));
  1119. model.makeValue("/root/van_tmp/card_req/card/card_aprvdd", grd_name.valueMatrix(i,grd_name.colRef("aprvdd")));
  1120. model.makeValue("/root/van_tmp/card_req/card/card_aprvtm", grd_name.valueMatrix(i,grd_name.colRef("aprvtm")));
  1121. model.makeValue("/root/van_tmp/card_req/card/card_aprvno", grd_name.valueMatrix(i,grd_name.colRef("aprvno")));
  1122. model.makeValue("/root/van_tmp/card_req/card/card_vancd", grd_name.valueMatrix(i,grd_name.colRef("vancd")));
  1123. model.makeValue("/root/van_tmp/card_req/card/card_allotmm", grd_name.valueMatrix(i,grd_name.colRef("allotmm")));
  1124. model.makeValue("/root/van_tmp/card_req/card/card_cardamt", grd_name.valueMatrix(i,grd_name.colRef("cardamt")));
  1125. model.makeValue("/root/van_tmp/card_req/card/card_valiterm", grd_name.valueMatrix(i,grd_name.colRef("valiterm")));
  1126. model.makeValue("/root/van_tmp/card_req/card/card_rcptexecdd", "");
  1127. model.makeValue("/root/van_tmp/card_req/card/card_rcpttm", "");
  1128. model.makeValue("/root/van_tmp/card_req/card/card_rcptrid", "");
  1129. model.makeValue("/root/van_tmp/card_req/card/card_innrtretyn", "N");
  1130. model.makeValue("/root/van_tmp/card_req/card/card_preamtyn", "N");
  1131. model.makeValue("/root/van_tmp/card_req/card/card_remfact", "");
  1132. model.makeValue("/root/van_tmp/card_req/card/card_fstrgstrid", "");
  1133. model.makeValue("/root/van_tmp/card_req/card/card_fstrgstdt", "");
  1134. model.makeValue("/root/van_tmp/card_req/card/card_lastupdtrid", "");
  1135. model.makeValue("/root/van_tmp/card_req/card/card_lastupdtdt", "");
  1136. var req_card = "/root/van_tmp/card_req";
  1137. var rcv_card = "/root/van_tmp/card_rcv";
  1138. parm = "0" + "▦" + //멀티건수
  1139. "" + "▦" + //멀티opmi
  1140. "" + "▦" + //rcptdd 변경 혹은 취소인 경우 필요
  1141. "" + "▦" + //rcptno
  1142. "" + "▦" + //rcptseqno
  1143. cardAmt + "▦" + //totalamt
  1144. req_card + "▦" + //send
  1145. rcv_card + "▦" + //receive
  1146. pid + "▦" + //pid
  1147. orddd + "▦" + //orddd
  1148. cretno + "▦" + //cretno
  1149. strRcvVan + "▦" + //strRcvVan
  1150. ordtype + "▦" + //ordtype
  1151. fromdd + "▦" + //fromdd
  1152. todd + "▦" + //todd
  1153. orddeptcd + "▦" + //orddeptcd
  1154. cardno + "▦" + //cardno
  1155. valiterm + "▦" + //valiterm
  1156. allotmm + "▦" + //allotmm
  1157. keyinptflag + "▦" + //KeyInptFlag
  1158. swipedata + "▦" ; //swipedata
  1159. setParameter("SPPAO00400_PARM",parm);
  1160. setParameter("SPPAO00400_FLAG", "D");
  1161. setParameter("SPPAO00400_RTNTYPE", "A");
  1162. var ivrObjt = document.all("ivr_cardpopup");
  1163. if( ivrObjt == null ){
  1164. body.createChild("xforms:iviewer", "id:ivr_cardpopup; src:../../../pam/pamcomnweb/xrw/SPPAO00400_신용카드승인.xrw");
  1165. ivrObjt = document.all("ivr_cardpopup");
  1166. }
  1167. ivrObjt.window.javascript.fInit();
  1168. var retMsg = ivrObjt.window.javascript.fAutoCnclCardAprv(); //실제 카드승인취소
  1169. body.removeChild("ivr_cardpopup");
  1170. if(retMsg == false) {
  1171. return false;
  1172. }else{
  1173. grd_name.valueMatrix(i,grd_name.colRef("aprvdd")) = model.getValue("/root/van_tmp/card_rcv/card/card_aprvdd");
  1174. grd_name.valueMatrix(i,grd_name.colRef("aprvno")) = model.getValue("/root/van_tmp/card_rcv/card/card_aprvno");
  1175. grd_name.valueMatrix(i,grd_name.colRef("aprvtm")) = model.getValue("/root/van_tmp/card_rcv/card/card_aprvtm");
  1176. grd_name.valueMatrix(i,grd_name.colRef("aprvflag")) = "22";
  1177. }
  1178. model.makeValue("/root/send/cardno" , grd_name.valueMatrix(i,grd_name.colRef("cardno")));
  1179. model.makeValue("/root/send/rcptno" , grd_name.valueMatrix(i,grd_name.colRef("rcptno")));
  1180. model.makeValue("/root/send/rcptseqno" , grd_name.valueMatrix(i,grd_name.colRef("rcptseqno")));
  1181. model.makeValue("/root/send/seqno" , grd_name.valueMatrix(i,grd_name.colRef("seqno")));
  1182. model.makeValue("/root/send/rcptdd" , grd_name.valueMatrix(i,grd_name.colRef("rcptdd")));
  1183. model.makeValue("/root/send/instcd" , grd_name.valueMatrix(i,grd_name.colRef("instcd")));
  1184. model.makeValue("/root/send/pid" , grd_name.valueMatrix(i,grd_name.colRef("pid")));
  1185. model.makeValue("/root/send/srchpid" , model.getValue("/root/main/info/patinfo/item/pid"));
  1186. model.makeValue("/root/send/cancelflag" , "cancel");
  1187. if(!submit("TXAHA02207")){
  1188. return false;
  1189. }
  1190. }
  1191. return true;
  1192. }
  1193. }
  1194. }
  1195. /**
  1196. * 건진 현금영수증 승인 및 취소로직 일원화 작업
  1197. * 이정택
  1198. * 2017/09/12
  1199. */
  1200. function fOpenCashPopUp(grd_name, flag){
  1201. //debugger;
  1202. if(flag == 'I'){
  1203. for(var i=1; i<grd_name.rows; i++){
  1204. if(grd_name.valueMatrix(i , grd_name.colRef("aprvdd"))==""){
  1205. var sinptflag = grd_name.valueMatrix(i , grd_name.colRef("keyinptflag"));
  1206. if(isNull(sinptflag)){
  1207. if(grd_name.valueMatrix(i, grd_name.colRef("qualcnfmflag"))=="3"){
  1208. sinptflag = "S";
  1209. grd_name.valueMatrix(i, grd_name.colRef("keyinptflag")) = "S";
  1210. }else{
  1211. sinptflag = "K";
  1212. grd_name.valueMatrix(i, grd_name.colRef("keyinptflag")) = "K";
  1213. }
  1214. }
  1215. var parm = "";
  1216. var pid = model.getValue("/root/main/info/acptinfo/acptlist/pid");
  1217. var orddd = model.getValue("/root/main/info/acptinfo/acptlist/orddd");
  1218. var cretno = model.getValue("/root/main/info/acptinfo/acptlist/cretno");
  1219. var orddeptcd = model.getValue("/root/main/info/acptinfo/acptlist/orddeptcd");
  1220. var ordtype = "H";
  1221. var keyinptflag = grd_name.valueMatrix(i , grd_name.colRef("keyinptflag"));
  1222. var swipedata = "";
  1223. var qualcnfmflag = grd_name.valueMatrix(i , grd_name.colRef("qualcnfmflag"));
  1224. var indinstflag = grd_name.valueMatrix(i , grd_name.colRef("indinstflag"));
  1225. var qualcnfmno = grd_name.valueMatrix(i , grd_name.colRef("qualcnfmno"));
  1226. var cashamt = grd_name.valueMatrix(i , grd_name.colRef("cashamt"));
  1227. if(sinptflag == "S"){
  1228. swipedata = model.getValue("/root/hidden/com/swipedata");
  1229. }
  1230. model.removeNodeset("/root/van_tmp");
  1231. model.makeNode("/root/van_tmp/cash_req");
  1232. model.makeNode("/root/van_tmp/cash_rcv");
  1233. var req_cash = "/root/van_tmp/cash_req";
  1234. var rcv_cash = "/root/van_tmp/cash_rcv";
  1235. parm = "0" + "▦" +
  1236. "" + "▦" +
  1237. cashamt + "▦" + // cashamt
  1238. req_cash + "▦" + // send
  1239. rcv_cash + "▦" + // receive
  1240. pid + "▦" + // pid
  1241. ordtype + "▦" + // ordtype
  1242. indinstflag + "▦" + // indinstflag
  1243. qualcnfmno + "▦" + // gQualcnfmno
  1244. keyinptflag + "▦" + // keyinptflag
  1245. swipedata + "▦" + // swipedata
  1246. qualcnfmflag + "▦"; // qualcnfmflag
  1247. setParameter("SPPAO00500_PARM", parm);
  1248. setParameter("SPPAO00500_FLAG", "I");
  1249. var ivrObjt = document.all("ivr_cashpopup");
  1250. if (ivrObjt == null) {
  1251. body.createChild("xforms:iviewer", "id:ivr_cashpopup; src:../../../pam/pamcomnweb/xrw/SPPAO00501_현금영수증승인.xrw");
  1252. ivrObjt = document.all("ivr_cashpopup");
  1253. }
  1254. ivrObjt.window.javascript.fInit();
  1255. var retMsg = false;
  1256. retMsg = ivrObjt.window.javascript.fAutoGetCashAprv();
  1257. body.removeChild("ivr_cashpopup");
  1258. if (retMsg == false) {
  1259. //messageBox("현금영수증 승인시 오류가 났습니다. 수납변경에서 재승인하십시요.", "E999");
  1260. return false;
  1261. }else{
  1262. grd_name.valueMatrix(i, grd_name.colRef("aprvdd"))= model.getValue("/root/van_tmp/cash_rcv/cash/cash_aprvdd");
  1263. grd_name.valueMatrix(i, grd_name.colRef("aprvno"))= model.getValue("/root/van_tmp/cash_rcv/cash/cash_aprvno");
  1264. grd_name.valueMatrix(i, grd_name.colRef("aprvtm"))= model.getValue("/root/van_tmp/cash_rcv/cash/cash_aprvtm");
  1265. grd_name.valueMatrix(i, grd_name.colRef("aprvflag"))= "42";
  1266. }
  1267. }
  1268. }
  1269. return true;
  1270. }else if(flag == 'D'){
  1271. var selrow = grd_name.row;
  1272. if(!isNull(selrow) && parseInt(selrow)>0){ // 선택 후 취소처리
  1273. var parm = "";
  1274. var pid = model.getValue("/root/main/info/acptinfo/acptlist/pid");
  1275. var orddd = model.getValue("/root/main/info/acptinfo/acptlist/orddd");
  1276. var cretno = model.getValue("/root/main/info/acptinfo/acptlist/cretno");
  1277. var orddeptcd = model.getValue("/root/main/info/acptinfo/acptlist/orddeptcd");
  1278. var ordtype = "H";
  1279. var keyinptflag = grd_name.valueMatrix(selrow, grd_name.colRef("keyinptflag"));
  1280. var swipedata = "";
  1281. var qualcnfmflag = grd_name.valueMatrix(selrow, grd_name.colRef("qualcnfmflag"));
  1282. var indinstflag = grd_name.valueMatrix(selrow, grd_name.colRef("indinstflag"));
  1283. var qualcnfmno = grd_name.valueMatrix(selrow, grd_name.colRef("qualcnfmno"));
  1284. var cashamt = grd_name.valueMatrix(selrow, grd_name.colRef("cashamt"));
  1285. if(sinptflag == "S"){
  1286. swipedata = model.getValue("/root/hidden/com/swipedata");
  1287. }
  1288. model.removeNodeset("/root/van_tmp");
  1289. model.makeNode("/root/van_tmp/cash_req");
  1290. model.makeNode("/root/van_tmp/cash_rcv");
  1291. model.makeValue("/root/van_tmp/cash_req/cash/cash_pid", grd_name.valueMatrix(selrow,grd_name.colRef("pid")));
  1292. model.makeValue("/root/van_tmp/cash_req/cash/cash_rcptdd", grd_name.valueMatrix(selrow,grd_name.colRef("rcptdd")));
  1293. model.makeValue("/root/van_tmp/cash_req/cash/cash_rcptno", grd_name.valueMatrix(selrow,grd_name.colRef("rcptno")));
  1294. model.makeValue("/root/van_tmp/cash_req/cash/cash_rcptseqno", grd_name.valueMatrix(selrow,grd_name.colRef("rcptseqno")));
  1295. model.makeValue("/root/van_tmp/cash_req/cash/cash_seqno", "");
  1296. model.makeValue("/root/van_tmp/cash_req/cash/cash_instcd", "");
  1297. model.makeValue("/root/van_tmp/cash_req/cash/cash_rcptstat", grd_name.valueMatrix(selrow,grd_name.colRef("rcptstat")));
  1298. model.makeValue("/root/van_tmp/cash_req/cash/cash_ordtype", grd_name.valueMatrix(selrow,grd_name.colRef("ordtype")));
  1299. model.makeValue("/root/van_tmp/cash_req/cash/cash_keyinptflag", grd_name.valueMatrix(selrow,grd_name.colRef("keyinptflag")));
  1300. model.makeValue("/root/van_tmp/cash_req/cash/cash_indinstflag", grd_name.valueMatrix(selrow,grd_name.colRef("indinstflag")));
  1301. model.makeValue("/root/van_tmp/cash_req/cash/cash_qualcnfmflag", grd_name.valueMatrix(selrow,grd_name.colRef("qualcnfmflag")));
  1302. model.makeValue("/root/van_tmp/cash_req/cash/cash_qualcnfmno", grd_name.valueMatrix(selrow,grd_name.colRef("qualcnfmno")));
  1303. model.makeValue("/root/van_tmp/cash_req/cash/cash_aprvflag", grd_name.valueMatrix(selrow,grd_name.colRef("aprvflag")));
  1304. model.makeValue("/root/van_tmp/cash_req/cash/cash_aprvno", grd_name.valueMatrix(selrow,grd_name.colRef("aprvno")));
  1305. model.makeValue("/root/van_tmp/cash_req/cash/cash_aprvdd", grd_name.valueMatrix(selrow,grd_name.colRef("aprvdd")));
  1306. model.makeValue("/root/van_tmp/cash_req/cash/cash_aprvtm", grd_name.valueMatrix(selrow,grd_name.colRef("aprvtm")));
  1307. model.makeValue("/root/van_tmp/cash_req/cash/cash_cashamt", grd_name.valueMatrix(selrow,grd_name.colRef("cashamt")));
  1308. model.makeValue("/root/van_tmp/cash_req/cash/cash_rcptexecdd", "");
  1309. model.makeValue("/root/van_tmp/cash_req/cash/cash_rcpttm", "");
  1310. model.makeValue("/root/van_tmp/cash_req/cash/cash_rcptrid", "");
  1311. model.makeValue("/root/van_tmp/cash_req/cash/cash_preamtyn", "");
  1312. model.makeValue("/root/van_tmp/cash_req/cash/cash_innrtretyn", "");
  1313. model.makeValue("/root/van_tmp/cash_req/cash/cash_fstrgstrid", "");
  1314. model.makeValue("/root/van_tmp/cash_req/cash/cash_fstrgstdt", "");
  1315. model.makeValue("/root/van_tmp/cash_req/cash/cash_lastupdtrid", "");
  1316. model.makeValue("/root/van_tmp/cash_req/cash/cash_lastupdtdt", "");
  1317. var req_cash = "/root/van_tmp/cash_req";
  1318. var rcv_cash = "/root/van_tmp/cash_rcv";
  1319. parm = "0" + "▦" +
  1320. "" + "▦" +
  1321. cashamt + "▦" + // cashamt
  1322. req_cash + "▦" + // send
  1323. rcv_cash + "▦" + // receive
  1324. pid + "▦" + // pid
  1325. ordtype + "▦" + // ordtype
  1326. indinstflag + "▦" + // indinstflag
  1327. qualcnfmno + "▦" + // gQualcnfmno
  1328. keyinptflag + "▦" + // keyinptflag
  1329. swipedata + "▦" + // swipedata
  1330. qualcnfmflag + "▦"; // qualcnfmflag
  1331. setParameter("SPPAO00500_PARM", parm);
  1332. setParameter("SPPAO00500_FLAG", "D");
  1333. var ivrObjt = document.all("ivr_cashpopup");
  1334. if (ivrObjt == null) {
  1335. body.createChild("xforms:iviewer", "id:ivr_cashpopup; src:../../../pam/pamcomnweb/xrw/SPPAO00501_현금영수증승인.xrw");
  1336. ivrObjt = document.all("ivr_cashpopup");
  1337. }
  1338. ivrObjt.window.javascript.fInit();
  1339. var retMsg = false;
  1340. retMsg = ivrObjt.window.javascript.fAutoCnclCashAprv();
  1341. body.removeChild("ivr_cashpopup");
  1342. if (retMsg == false) {
  1343. //messageBox("현금영수증 승인 취소시 오류가 났습니다. 수납변경에서 재승인하십시요.", "E999");
  1344. return false
  1345. }else{
  1346. grd_name.valueMatrix(selrow, grd_name.colRef("aprvdd"))= model.getValue("/root/van_tmp/cash_rcv/cash/cash_aprvdd");
  1347. grd_name.valueMatrix(selrow, grd_name.colRef("aprvno"))= model.getValue("/root/van_tmp/cash_rcv/cash/cash_aprvno");
  1348. grd_name.valueMatrix(selrow, grd_name.colRef("aprvtm"))= model.getValue("/root/van_tmp/cash_rcv/cash/cash_aprvtm");
  1349. grd_name.valueMatrix(selrow, grd_name.colRef("aprvflag"))= "52";
  1350. }
  1351. return true;
  1352. }else{ // 일괄 취소처리
  1353. for(var i=1; i<grd_name.rows; i++){
  1354. if(grd_name.valueMatrix(i, grd_name.colRef("rcptstat"))!= 'Y'){
  1355. continue;
  1356. }
  1357. var parm = "";
  1358. var pid = model.getValue("/root/main/info/acptinfo/acptlist/pid");
  1359. var orddd = model.getValue("/root/main/info/acptinfo/acptlist/orddd");
  1360. var cretno = model.getValue("/root/main/info/acptinfo/acptlist/cretno");
  1361. var orddeptcd = model.getValue("/root/main/info/acptinfo/acptlist/orddeptcd");
  1362. var ordtype = "H";
  1363. var keyinptflag = grd_name.valueMatrix(i, grd_name.colRef("keyinptflag"));
  1364. var swipedata = "";
  1365. var qualcnfmflag = grd_name.valueMatrix(i, grd_name.colRef("qualcnfmflag"));
  1366. var indinstflag = grd_name.valueMatrix(i, grd_name.colRef("indinstflag"));
  1367. var qualcnfmno = grd_name.valueMatrix(i, grd_name.colRef("qualcnfmno"));
  1368. var cashamt = grd_name.valueMatrix(i, grd_name.colRef("cashamt"));
  1369. if(sinptflag == "S"){
  1370. swipedata = model.getValue("/root/hidden/com/swipedata");
  1371. }
  1372. model.removeNodeset("/root/van_tmp");
  1373. model.makeNode("/root/van_tmp/cash_req");
  1374. model.makeNode("/root/van_tmp/cash_rcv");
  1375. model.makeValue("/root/van_tmp/cash_req/cash/cash_pid", grd_name.valueMatrix(i,grd_name.colRef("pid")));
  1376. model.makeValue("/root/van_tmp/cash_req/cash/cash_rcptdd", grd_name.valueMatrix(i,grd_name.colRef("rcptdd")));
  1377. model.makeValue("/root/van_tmp/cash_req/cash/cash_rcptno", grd_name.valueMatrix(i,grd_name.colRef("rcptno")));
  1378. model.makeValue("/root/van_tmp/cash_req/cash/cash_rcptseqno", grd_name.valueMatrix(i,grd_name.colRef("rcptseqno")));
  1379. model.makeValue("/root/van_tmp/cash_req/cash/cash_seqno", "");
  1380. model.makeValue("/root/van_tmp/cash_req/cash/cash_instcd", "");
  1381. model.makeValue("/root/van_tmp/cash_req/cash/cash_rcptstat", grd_name.valueMatrix(i,grd_name.colRef("rcptstat")));
  1382. model.makeValue("/root/van_tmp/cash_req/cash/cash_ordtype", grd_name.valueMatrix(i,grd_name.colRef("ordtype")));
  1383. model.makeValue("/root/van_tmp/cash_req/cash/cash_keyinptflag", grd_name.valueMatrix(i,grd_name.colRef("keyinptflag")));
  1384. model.makeValue("/root/van_tmp/cash_req/cash/cash_indinstflag", grd_name.valueMatrix(i,grd_name.colRef("indinstflag")));
  1385. model.makeValue("/root/van_tmp/cash_req/cash/cash_qualcnfmflag", grd_name.valueMatrix(i,grd_name.colRef("qualcnfmflag")));
  1386. model.makeValue("/root/van_tmp/cash_req/cash/cash_qualcnfmno", grd_name.valueMatrix(i,grd_name.colRef("qualcnfmno")));
  1387. model.makeValue("/root/van_tmp/cash_req/cash/cash_aprvflag", grd_name.valueMatrix(i,grd_name.colRef("aprvflag")));
  1388. model.makeValue("/root/van_tmp/cash_req/cash/cash_aprvno", grd_name.valueMatrix(i,grd_name.colRef("aprvno")));
  1389. model.makeValue("/root/van_tmp/cash_req/cash/cash_aprvdd", grd_name.valueMatrix(i,grd_name.colRef("aprvdd")));
  1390. model.makeValue("/root/van_tmp/cash_req/cash/cash_aprvtm", grd_name.valueMatrix(i,grd_name.colRef("aprvtm")));
  1391. model.makeValue("/root/van_tmp/cash_req/cash/cash_cashamt", grd_name.valueMatrix(i,grd_name.colRef("cashamt")));
  1392. model.makeValue("/root/van_tmp/cash_req/cash/cash_rcptexecdd", "");
  1393. model.makeValue("/root/van_tmp/cash_req/cash/cash_rcpttm", "");
  1394. model.makeValue("/root/van_tmp/cash_req/cash/cash_rcptrid", "");
  1395. model.makeValue("/root/van_tmp/cash_req/cash/cash_preamtyn", "");
  1396. model.makeValue("/root/van_tmp/cash_req/cash/cash_innrtretyn", "");
  1397. model.makeValue("/root/van_tmp/cash_req/cash/cash_fstrgstrid", "");
  1398. model.makeValue("/root/van_tmp/cash_req/cash/cash_fstrgstdt", "");
  1399. model.makeValue("/root/van_tmp/cash_req/cash/cash_lastupdtrid", "");
  1400. model.makeValue("/root/van_tmp/cash_req/cash/cash_lastupdtdt", "");
  1401. var req_cash = "/root/van_tmp/cash_req";
  1402. var rcv_cash = "/root/van_tmp/cash_rcv";
  1403. parm = "0" + "▦" +
  1404. "" + "▦" +
  1405. cashamt + "▦" + // cashamt
  1406. req_cash + "▦" + // send
  1407. rcv_cash + "▦" + // receive
  1408. pid + "▦" + // pid
  1409. ordtype + "▦" + // ordtype
  1410. indinstflag + "▦" + // indinstflag
  1411. qualcnfmno + "▦" + // gQualcnfmno
  1412. keyinptflag + "▦" + // keyinptflag
  1413. swipedata + "▦" + // swipedata
  1414. qualcnfmflag + "▦"; // qualcnfmflag
  1415. setParameter("SPPAO00500_PARM", parm);
  1416. setParameter("SPPAO00500_FLAG", "D");
  1417. var ivrObjt = document.all("ivr_cashpopup");
  1418. if (ivrObjt == null) {
  1419. body.createChild("xforms:iviewer", "id:ivr_cashpopup; src:../../../pam/pamcomnweb/xrw/SPPAO00501_현금영수증승인.xrw");
  1420. ivrObjt = document.all("ivr_cashpopup");
  1421. }
  1422. ivrObjt.window.javascript.fInit();
  1423. var retMsg = false;
  1424. retMsg = ivrObjt.window.javascript.fAutoCnclCashAprv();
  1425. body.removeChild("ivr_cashpopup");
  1426. if (retMsg == false) {
  1427. //messageBox("현금영수증 승인 취소시 오류가 났습니다. 수납변경에서 재승인하십시요.", "E999");
  1428. return false
  1429. }else{
  1430. grd_name.valueMatrix(i, grd_name.colRef("aprvdd"))= model.getValue("/root/van_tmp/cash_rcv/cash/cash_aprvdd");
  1431. grd_name.valueMatrix(i, grd_name.colRef("aprvno"))= model.getValue("/root/van_tmp/cash_rcv/cash/cash_aprvno");
  1432. grd_name.valueMatrix(i, grd_name.colRef("aprvtm"))= model.getValue("/root/van_tmp/cash_rcv/cash/cash_aprvtm");
  1433. grd_name.valueMatrix(i, grd_name.colRef("aprvflag"))= "52";
  1434. }
  1435. model.makeValue("/root/send/cashpid" , model.getValue("/root/main/info/patinfo/item/pid"));
  1436. model.makeValue("/root/send/cashrcptdd" , grd_name.valueMatrix(i, grd_name.colRef("rcptdd")));
  1437. model.makeValue("/root/send/cashrcptno" , grd_name.valueMatrix(i, grd_name.colRef("rcptno")));
  1438. model.makeValue("/root/send/cashrcptseqno" , grd_name.valueMatrix(i, grd_name.colRef("rcptseqno")));
  1439. if(!submit("TXAHC00106")){
  1440. return false;
  1441. }
  1442. }
  1443. return true;
  1444. }
  1445. }
  1446. }