SMRSG07000.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. /* ---------------------------------------------------------------------
  2. SMRSG07000_(수탁)창고재고발주.xrw (SMRSG07000.js - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By SungWook Jung
  6. : 2009.10.30
  7. ---------------------------------------------------------------------- */
  8. var gUserid = getUserInfo("userid" ); // 사용자
  9. var gUserNm = getUserInfo("usernm" ); // 사용자명칭
  10. var gDutplceinstcd = getUserInfo("dutplceinstcd"); // 사용자 기관코드
  11. var gDutplceinstnm = getUserInfo("dutplceinstnm"); // 사용자 기관명칭
  12. var gDutplcecd = getUserInfo("dutplcecd" ); // 사용자 부서코드
  13. var gDutplcenm = getUserInfo("dutplcenm" ); // 사용자 부서코드명
  14. // --------------------------------------------------
  15. // Fax Text 출력을 처리하는 함수
  16. // --------------------------------------------------
  17. var vPurcNo = ""; // 발주번호
  18. var vCustAmt = 0 ;
  19. //바이트체크
  20. function fIsLength(pSource) {
  21. var rSize = 0;
  22. for (i = 0; i < pSource.length; i++) {
  23. vChr = escape(pSource.charAt(i));
  24. if (vChr.length == 1) {
  25. rSize++;
  26. } else {
  27. rSize += 2;
  28. }
  29. }
  30. return rSize;
  31. }
  32. function fFaxDataTextSave() {
  33. var vFso, vFile, r
  34. var ForReading = 1, ForWriting = 2;
  35. var vdate = new Date();
  36. var HH = vdate.getHours();
  37. var MI = vdate.getMinutes();
  38. var SS = vdate.getSeconds();
  39. var vTime = HH +"" + MI +"" + SS;
  40. var vFileNM = getCurrentDate()+ vTime +".txt";
  41. vFso = new ActiveXObject("Scripting.FileSystemObject")
  42. vFile = vFso.OpenTextFile("c:\\temp\\"+ vFileNM, ForWriting, true)
  43. var pPath = "/root/main/list/plceordcnfminfo/plceordcnfmlist";
  44. var vSuplplcecd = "";
  45. var vTrschkyn = "";
  46. var gSuplplcecd = "";
  47. var NodeList = instance1.selectNodes(pPath);
  48. var vCustCnt = 0;
  49. var vEditTot = "";
  50. for (var n = 1; n <= NodeList.length; n++) {
  51. gSuplplcecd = model.getValue(pPath + "["+ n + "]/suppcustcd");
  52. if (vSuplplcecd != gSuplplcecd) {
  53. if (vCustCnt > 0 ) {
  54. vEditTot = vCustAmt+"";
  55. fFaxDataTextBodyTailer(vEditTot, vFile);
  56. fFaxDataTextTailer(vFile);
  57. }
  58. vCustCnt = 0;
  59. vCustAmt = 0;
  60. vFaxno = model.getValue(pPath + "["+ n + "]/faxno");
  61. vCntctel = model.getValue(pPath + "["+ n + "]/cntctel");
  62. vSuplplcenm = model.getValue(pPath + "["+ n + "]/suppcustnm");
  63. vSuplplcecd = gSuplplcecd;
  64. fFaxDataTextHeader(vSuplplcecd, vSuplplcenm, vCntctel, vFaxno, vFile);
  65. vPurcNo = ""; // 발주번호
  66. }
  67. vCustCnt++;
  68. fFaxDataTextBody(pPath + "["+ n + "]", vFile) ;
  69. }
  70. if (vCustCnt > 0 ) {
  71. vEditTot = vCustAmt+"";
  72. fFaxDataTextBodyTailer(vEditTot, vFile);
  73. fFaxDataTextTailer(vFile);
  74. alert("c:\\temp\\"+ vFileNM +" 로 저정되었습니다!! ");
  75. }
  76. vFile.Close();
  77. //f = vFso.OpenTextFile("c:\\testfile.txt", ForReading);
  78. //r = f.ReadLine();
  79. //return(r);
  80. }
  81. function fFaxDataTextBodyTailer(pTotAmt, pFile) {
  82. vLine = rpad("-" ,80,"-");
  83. vTotNm = rpad("TOTAL :",62," ");
  84. vTotAmt = rpad(pTotAmt ,18," ");
  85. pFile.WriteLine(vLine );
  86. pFile.WriteLine(vTotNm + lpad(putComma(pTotAmt),18," "));
  87. }
  88. function fFaxDataTextTailer(pFile) {
  89. pFile.WriteLine("-------------------------------------------------------------------------------- ");
  90. pFile.WriteLine("1.납품통제일:매월10,12,13,25일 ");
  91. pFile.WriteLine(" ");
  92. pFile.WriteLine("2.납품시간:오전 9∼11시,오후 2∼4시 ");
  93. pFile.WriteLine(" ");
  94. pFile.WriteLine("3.매월 20일 이후 납품시,계산서는 익월 날자로 발행해 주시시오. ");
  95. pFile.WriteLine(" ");
  96. pFile.WriteLine("4.납기 지연시에는 사전 지연사유를 알려주시기 바랍니다. ");
  97. pFile.WriteLine(" ");
  98. pFile.WriteLine("거래명세표 작성시 자재번호ㆍ발주번호ㆍ거래처코드를 기재하십시오. ");
  99. pFile.WriteLine(".END ");
  100. }
  101. function fFaxDataTextHeader(pCmpnyCd,pCmpnyNm, pCntctel, pFaxno,pFile) {
  102. var vPurcName= gDutplceinstnm + "; " + gDutplcenm;
  103. var vCmpnyNm = gDutplceinstnm + " "+ pCmpnyNm ;
  104. var vCode = pCmpnyCd + rpad("",(35-fIsLength(pCmpnyCd)) ," ");
  105. var vName = pCmpnyNm + rpad("",(35-fIsLength(pCmpnyNm)) ," ");
  106. var date = new Date();
  107. var year = date.getFullYear();
  108. var month = date.getMonth() + 1; // 1월=0,12월=11이므로 1 더함
  109. var day = date.getDate();
  110. if (("" + month).length == 1) { month = "0" + month; };
  111. if (("" + day).length == 1) { day = "0" + day; };
  112. var vDate = "" + year + "-" + month + "-" + day;
  113. var InDate = inp_indate.value;
  114. var vInDate = InDate.substr(0,4) + "-" + InDate.substr(4,2) + "-" + InDate.substr(6,2);
  115. vPurcName = inp_purctel.value + " ("+ gUserNm +")";
  116. vCntctel = rpad(pCntctel,14 ," ");
  117. vFaxno = rpad(pFaxno ,27 ," ");
  118. vFaxno1 = pFaxno.replace(/-/g,"");
  119. vFaxno2 = parseFloat(vFaxno1);
  120. vFaxno1 = "82"+vFaxno2;
  121. pFile.WriteLine(".START ");
  122. pFile.WriteLine("TO:FAX/"+vFaxno1 );
  123. pFile.WriteLine("SUBJECT:" +vCmpnyNm );
  124. pFile.WriteLine("SERVICE:R,U ");
  125. pFile.WriteLine("TEXT: ");
  126. pFile.WriteLine(" 발 주 서 ");
  127. pFile.WriteLine(" (THE CATHOLIC UNIVERSITY OF KOREA ST.MARY'S HOSPITAL) ");
  128. pFile.WriteLine(" ");
  129. pFile.WriteLine("상 호 명: "+ vName + "납품장소: "+vPurcName );
  130. pFile.WriteLine("거래처코드: "+ vCode + vPurcName );
  131. pFile.WriteLine("전화 번호: "+ vCntctel+" FAX-NO:"+vFaxno + "처리일자:" + vDate );
  132. pFile.WriteLine(" ");
  133. pFile.WriteLine("아래와 같이 발주합니다. 납품일자:" +vInDate );
  134. pFile.WriteLine("-------------------------------------------------------------------------------- ");
  135. pFile.WriteLine(" 발주번호 품 명 규 격 ");
  136. pFile.WriteLine(" 자재코드 단 위 단 가 수 량 금 액 ");
  137. pFile.WriteLine(" 발주부서 ");
  138. pFile.WriteLine("-------------------------------------------------------------------------------- ");
  139. //12345678901234567890123456789012345678901234567890123456789012345678901234567890 ");
  140. //----------1---------2---------3---------4---------5---------6---------7-------------
  141. }
  142. // --------------------------------------------------
  143. // Fax Text 출력을 처리하는 함수
  144. // --------------------------------------------------
  145. function fFaxDataTextBody(pPath, pFile) {
  146. //pFile.WriteLine("-------------------------------------------------------------------------------- ");
  147. //pFile.WriteLine(" 발주번호 품 명 규 격 ");
  148. //pFile.WriteLine(" 자재코드 단 위 단 가 수 량 금 액 ");
  149. //pFile.WriteLine(" 발주부서 ");
  150. //pFile.WriteLine("-------------------------------------------------------------------------------- ");
  151. // 12345678901234567890123456789012345678901234567890123456789012345678901234567890
  152. // ----------1---------2---------3---------4---------5---------6---------7-------------
  153. vBlank = rpad("", 19," ");
  154. vGoodnm = model.getValue(pPath + "/goodnm" ); // 물품명
  155. vGoodspec = model.getValue(pPath + "/goodspec"); // 규격
  156. vReqno = rpad(model.getValue(pPath + "/reqseqno"),19," "); // 발주번호
  157. vGoodnm = vGoodnm + rpad("",(41-fIsLength(vGoodnm )) ," ");
  158. vGoodcd = rpad(model.getValue(pPath + "/goodcd" ),19," "); // 물품코드
  159. vrequnit = rpad(model.getValue(pPath + "/requnit" ),16," "); // 단위
  160. vgoodunitcost = putComma(model.getValue(pPath + "/requnitcost" )); // 단가
  161. vreqqty = putComma(model.getValue(pPath + "/reqqty" )); // 발주수량
  162. vgoodcost = putComma(model.getValue(pPath + "/reqamt" )); // 발주단가
  163. vReqAmt = model.getValue(pPath + "/reqamt"); // 발주금액
  164. vgoodunitcost = lpad(vgoodunitcost , 15, " ");
  165. vreqqty = lpad(vreqqty , 15, " ");
  166. vgoodcost = lpad(vgoodcost , 15, " ");
  167. // vdepthngnm = model.getValue(pPath + "/depthngnm");
  168. // vdepthngnm = vdepthngnm + rpad("",(31-fIsLength(vdepthngnm)) ," ");
  169. // vdreqqty = lpad(vdreqqty ,15," ");
  170. vdepthngnm = gDutplcenm + rpad("",(31-fIsLength(gDutplcenm)) ," ");
  171. if (vPurcNo != vReqno) {
  172. vCustAmt = parseFloat(vReqAmt);
  173. vPurcNo = vReqno;
  174. }else{
  175. vCustAmt += parseFloat(vReqAmt);
  176. }
  177. pFile.WriteLine(vReqno + vGoodnm + vGoodspec ); // 발주번호 + 물품명 _+ 규격
  178. pFile.WriteLine(vGoodcd + vrequnit + vgoodunitcost + vreqqty + vgoodcost ); // 물품 + 단위 + 단가 + 수량 + 금액
  179. pFile.WriteLine(vBlank + vdepthngnm + " " ); // 부서
  180. /* if (vPurcNo != vReqno) {
  181. pFile.WriteLine(vReqno + vGoodnm + vGoodspec ); // 발주번호 + 물품명 _+ 규격
  182. pFile.WriteLine(vGoodcd + vrequnit + vgoodunitcost + vreqqty + vgoodcost ); // 물품 + 단위 + 단가 + 수량 + 금액
  183. vCustAmt += parseFloat(vReqAmt);
  184. vPurcNo = vReqno;
  185. }
  186. pFile.WriteLine(vBlank + vdepthngnm + " " ); // 부서 + 청구수량 */
  187. }
  188. function fFaxDataTextTailer(pFile) {
  189. pFile.WriteLine("-------------------------------------------------------------------------------- ");
  190. pFile.WriteLine("1.납품통제일:매월10,12,13,25일 ");
  191. pFile.WriteLine(" ");
  192. pFile.WriteLine("2.납품시간:오전 9∼11시,오후 2∼4시 ");
  193. pFile.WriteLine(" ");
  194. pFile.WriteLine("3.매월 20일 이후 납품시,계산서는 익월 날자로 발행해 주시시오. ");
  195. pFile.WriteLine(" ");
  196. pFile.WriteLine("4.납기 지연시에는 사전 지연사유를 알려주시기 바랍니다. ");
  197. pFile.WriteLine(" ");
  198. pFile.WriteLine("거래명세표 작성시 자재번호ㆍ발주번호ㆍ거래처코드를 기재하십시오. ");
  199. pFile.WriteLine(".END ");
  200. }
  201. /* ------------------------------------------------- */
  202. /* ------End Of List ------------------------------- */
  203. /* -------------------------------------------------- */