SPMRC01600.js 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700
  1. var gTimerID = "";
  2. var gv_stdDate_Path = "C:\\Envelope";
  3. /**
  4. * @desc : 화면초기화
  5. *
  6. * @param :
  7. * @return :
  8. * @---------------------------------------------------
  9. */
  10. function fInitialize(){
  11. var rslt_ref = "/root/main/common";
  12. swt_barcode.selectedIndex = 1;
  13. model.makeValue("/root/send/reqdata/instcd", getUserInfo("dutplceinstcd"));
  14. submit("TRMRC01606");
  15. model.resetInstanceNode("/root/send/reqdata");
  16. //mmbfGetDeptCodeComboList("/root/send", rslt_ref, "O", getCurrentDate());
  17. copyNodeset("/root/init/cretchart/deptinfo", "/root/main/common/dept");
  18. copyNodeset("/root/init/reprntbarcode/deptinfo", "/root/main/common/dept");
  19. /* 원본_20090617
  20. if(document.all("CommAX") == null){
  21. lzzfMakeBrcdPrntObjHanDo("CommAX");
  22. }
  23. */
  24. if(document.all("CommAX") == null){
  25. var scrnid = getScreenID();
  26. model.resetInstanceNode("/root/send/reqdata");
  27. model.makeValue("/root/send/scrnid", scrnid);
  28. submit("TRLLC90101");
  29. lzzfMakeBrcdPrntObjHanDo("CommAX");
  30. }
  31. fGetBrcdPrntInfo();
  32. copyNodeType("/root/hidden/barcode/barcodeinfo", "/root/main/barcdprntsetup/prntsetupinfo/setupinfo", "append");
  33. model.refresh();
  34. }
  35. function fGetPatSearch(flag, trg, txt){
  36. model.resetInstanceNode("/root/temp");
  37. model.resetInstanceNOde("/root/send/reqdata");
  38. if(flag == "pid"){
  39. model.makeValue("/root/send/reqdata/pid", txt);
  40. submit("TRMRC01604");
  41. } else if(flag == "patnm"){
  42. if(trg == "1"){
  43. var usr_val = txt;
  44. model.makeValue("/root/temp/srchcond", "2");
  45. model.makeValue("/root/temp/hngnm", usr_val);
  46. model.makeValue("/root/temp/autoflag","Y");
  47. } else if(trg == "2"){
  48. var usr_val = txt;
  49. model.makeValue("/root/temp/srchcond", "2");
  50. model.makeValue("/root/temp/hngnm", usr_val);
  51. model.makeValue("/root/temp/autoflag","Y");
  52. }
  53. modal("SPPMC02500", 1,10, 10, "SPPMC02500", "/root/temp", "/root/send");
  54. }
  55. if(trg == "1"){
  56. model.setValue("/root/main/cretchart/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  57. model.setValue("/root/main/cretchart/patnm", model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  58. } else if(trg == "2"){
  59. model.setValue("/root/main/reprntbarcode/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  60. model.setValue("/root/main/reprntbarcode/patnm", model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  61. }
  62. model.refresh();
  63. }
  64. function fBarCodePrnt(pRef){
  65. model.resetInstanceNode("/root/main/exstchart");
  66. model.resetInstanceNode("/root/main/barcodeinfo");
  67. model.makeValue("/root/send/reqdata/pid", model.getValue("/root/main/cretchart/pid"));
  68. model.makeValue("/root/send/reqdata/orddeptcd", model.getValue("/root/main/cretchart/orddeptcd"));
  69. model.makeValue("/root/send/reqdata/ioflag", "O");
  70. if(submit("TRMRC01603")){
  71. var getNodeListCnt = getNodesetCount("/root/main/exstchart");
  72. if((getNodeListCnt > 0) && (model.getValue("/root/main/exstchart/pid") != "")){
  73. messageBox("챠트를 신규 생성", "E001");
  74. model.removeNodeset("/root/send/reqdata");
  75. return;
  76. }
  77. }
  78. var val_pid = model.getValue("/root/send/reqdata/pid");
  79. // 병원별로 등록번호 표시방법이 틀림
  80. for(i = val_pid.length; i < 10; i++){
  81. val_pid = "0" + val_pid;
  82. }
  83. model.makeValue("/root/send/reqdata/orddd", "");
  84. model.makeValue("/root/send/reqdata/dschdd", "");
  85. model.makeValue("/root/send/reqdata/atdoctid", "");
  86. model.makeValue("/root/send/reqdata/bcno", val_pid);
  87. model.makeValue("/root/send/reqdata/chrtrem", "");
  88. opt_message.attribute("visibility") = "visable";
  89. img_progress.attribute("visibility") = "visable";
  90. if(submit("TXMRC01601")){
  91. fBarCodePrnterSetting(pRef);
  92. opt_message.attribute("visibility") = "hidden";
  93. img_progress.attribute("visibility") = "hidden";
  94. }
  95. model.removeNodeset("/root/send/reqdata");
  96. }
  97. function fBarCodeRePrnt(pRef){
  98. model.makeValue("/root/send/scrnid", getScreenID());
  99. submit("TRLLC90101");
  100. lzzfMakeBrcdPrntObjHanDo("CommAX");
  101. model.resetInstanceNode("/root/main/exstchart");
  102. model.resetInstanceNode("/root/main/barcodeinfo");
  103. model.makeValue("/root/send/reqdata/pid", model.getValue("/root/main/reprntbarcode/pid"));
  104. model.makeValue("/root/send/reqdata/orddeptcd", model.getValue("/root/main/reprntbarcode/orddeptcd"));
  105. model.makeValue("/root/send/reqdata/ioflag", "O");
  106. if(submit("TRMRC01601")){
  107. if(model.getValue("/root/main/exstchart/pid") != "" ){
  108. model.setValue("/root/main/barcodeinfo/pid", model.getValue("/root/main/exstchart/pid"));
  109. model.setValue("/root/main/barcodeinfo/orddeptcd", model.getValue("/root/main/exstchart/orddeptcd"));
  110. model.setValue("/root/main/barcodeinfo/ioflag", model.getValue("/root/main/exstchart/ordtype"));
  111. model.setValue("/root/main/barcodeinfo/orddd", model.getValue("/root/main/exstchart/orddd"));
  112. model.setValue("/root/main/barcodeinfo/atdoctid", model.getValue("/root/main/exstchart/atdoctid"));
  113. model.setValue("/root/main/barcodeinfo/bcno", model.getValue("/root/main/exstchart/bcno"));
  114. model.setValue("/root/main/barcodeinfo/fstrgstrid", "");
  115. model.setValue("/root/main/barcodeinfo/lastupdtrid", "");
  116. model.setValue("/root/main/barcodeinfo/chrtrem", "");
  117. model.setValue("/root/main/barcodeinfo/hngnm", model.getValue("/root/main/exstchart/hngnm"));
  118. model.setValue("/root/main/barcodeinfo/rrgstno", model.getValue("/root/main/exstchart/rrgstno"));
  119. model.setValue("/root/main/barcodeinfo/fsexamflag", model.getValue("/root/main/exstchart/fsexamflag"));
  120. model.setValue("/root/main/barcodeinfo/depthngnm", model.getValue("/root/main/exstchart/depthngnm"));
  121. model.setValue("/root/main/barcodeinfo/deptengabbr", model.getValue("/root/main/exstchart/deptengabbr"));
  122. fBarCodePrnterSetting(pRef);
  123. } else {
  124. messageBox("등록된 챠트가", "I004");
  125. }
  126. opt_message.attribute("visibility") = "hidden";
  127. img_progress.attribute("visibility") = "hidden";
  128. }
  129. model.removeNodeset("/root/send/reqdata");
  130. }
  131. function fBarCodePrnterSetting(pRef){
  132. var barcdRef = "/root/main/barcdprntsetup/prntsetupinfo/setupinfo";
  133. var vInstance = document.models(0).instances(0);
  134. var cntHR = vInstance.selectNodes(pRef).length;
  135. var sPrntKind = model.getValue(barcdRef + "[1]/prntkind");
  136. var portOpenTF = "";
  137. model.makeValue("/root/send/scrnid", getScreenID()); // 20090617
  138. submit("TRLLC90101"); // 20090617
  139. if(document.all("CommAX") == null){
  140. lzzfMakeBrcdPrntObjHanDo("CommAX");
  141. }
  142. if(cntHR > 0 && sPrntKind != 0){
  143. var sCommKind = model.getValue(barcdRef + "[1]/commkind");
  144. var sLeftBank = model.getValue(barcdRef + "[1]/blank/left");
  145. var sTopBank = model.getValue(barcdRef + "[1]/blank/top");
  146. if(sCommKind == "01") {
  147. var sSetUpVal = model.getValue(barcdRef + "[1]/comm01/setupval");
  148. } else if(sCommKind == "02") {
  149. var sComm = model.getValue(barcdRef + "[1]/comm02/comm");
  150. var sDataBit = model.getValue(barcdRef + "[1]/comm02/databit");
  151. var sStopBit = model.getValue(barcdRef + "[1]/comm02/stopbit");
  152. var sBaudRate = model.getValue(barcdRef + "[1]/comm02/baudrate");
  153. var sParity = model.getValue(barcdRef + "[1]/comm02/parity");
  154. //alert(sComm+"," + sDataBit + "," + sStopBit + "," + sBaudRate + "," +sParity);
  155. CommAX.CommPort = sComm;
  156. CommAX.Settings = sBaudRate + "," + sParity + "," + sDataBit + "," + sStopBit;
  157. portOpenTF = CommAX.PortOpen("true");
  158. } else if(sCommKind == "03") {
  159. var sSetUpVal = model.getValue(barcdRef + "[1]/comm03/setupval");
  160. }
  161. fSetLblPaper(sCommKind, sLeftBank, sTopBank, sPrntKind, portOpenTF, barcdRef);
  162. /////////////////////////////////////////////////////////////////////
  163. // sPrntKind
  164. /*
  165. // SATO일 경우
  166. if(sPrntKind == "2" || sPrntKind == "6" || sPrntKind == "7"){
  167. }else{
  168. // 기존그대로
  169. }
  170. if(portOpenTF == "TRUE"){
  171. fSetLblPaper(sCommKind, sLeftBank, sTopBank, sPrntKind);
  172. }
  173. //CommAX.PortClose();
  174. */
  175. }
  176. }
  177. function fSetLblPaper(sCommKind, sLeftBank, sTopBank, sPrntKind, portOpenTF, barcdRef){
  178. var barcodeinfo = "/root/main/barcodeinfo";
  179. var sSndMsg = "";
  180. var sBcno = model.getvalue(barcodeinfo+"/bcno");
  181. var sPatnm = model.getvalue(barcodeinfo+"/hngnm");
  182. var sPid = model.getvalue(barcodeinfo+"/pid");
  183. var sDeptEngAbbr = model.getvalue(barcodeinfo+"/deptengabbr");
  184. var sRrsgtno = model.getvalue(barcodeinfo+"/rrgstno");
  185. var sOrddd = model.getvalue(barcodeinfo+"/orddd");
  186. var sFsexamflag = model.getvalue(barcodeinfo+"/fsexamflag");
  187. if(sFsexamflag == "F"){
  188. sFsexamflag = "병초";
  189. } else if(sFsexamflag == "D"){
  190. sFsexamflag = "과초";
  191. }
  192. if (sLeftBank == "" || sLeftBank == "-") sLeftBank = 0;
  193. if (sTopBank == "" || sTopBank == "-") sTopBank = 0;
  194. var iLeft = model.getValue(barcdRef + "[1]/blank/left");
  195. var iTop = model.getValue(barcdRef + "[1]/blank/top");
  196. if(iLeft == "" || iLeft == "-"){
  197. iLeft = 0;
  198. }
  199. if(iTop == "" || iTop == "-"){
  200. iTop = 0;
  201. }
  202. // SATO일 경우_20090617
  203. if(sPrntKind == "2" || sPrntKind == "6" || sPrntKind == "7"){
  204. ///////////////////////////////////////////////////////////////
  205. // 추후 추가하여야 함.
  206. // sato인 경우 여백 조정 및 함수 틀림. 아래 내용을 참조하여 추가하여야 함
  207. var esc = String.fromCharCode(27);
  208. var sSndMsg = esc + "A" + esc + "A105500800"; // 시작위치 셋팅 (A1aaaabbbb:출력 용지 규격(aaaa:세로크기_최대 2848, bbbb:가로크기_최대 832))
  209. // 병원별 등록번호 표시방법 여부(HardCode 테이블 이용) - 2009/06/01 추가
  210. mmbfGetHardCodeInfoNm("/root/send/harddata","/root/temp/hardcode", 3801); //OCR서식의 등록번호 체크로직 표시 여부
  211. var hardcd = model.getValue("/root/temp/hardcode/hardcd/hardcd");
  212. //alert(hardcd);
  213. if (hardcd == "Y")
  214. {
  215. // 출력할 데이터 생성
  216. for(var i = sPid.length; i < 10; i++){
  217. sPid = "0" + sPid;
  218. }
  219. var tmp_pid = model.getvalue(barcodeinfo+"/pid");
  220. if(tmp_pid.length >= 9){
  221. sPid = sPid.substring(0, 2) + " " + sPid.substring(2, 5) + " " + sPid.substring(5, 7) + " " + sPid.substring(7, 9) + " - " + sPid.substring(9, 10);
  222. } else {
  223. sPid = sPid.substring(2, 5) + " " + sPid.substring(5, 7) + " " + sPid.substring(7, 9) + " - " + sPid.substring(9, 10);
  224. }
  225. }
  226. /* 병원별 적용으로 변경(20090701)
  227. // 출력할 데이터 생성
  228. for(var i = sPid.length; i < 10; i++){
  229. sPid = "0" + sPid;
  230. }
  231. var tmp_pid = model.getvalue(barcodeinfo+"/pid");
  232. if(tmp_pid.length >= 9){
  233. sPid = sPid.substring(0, 2) + " " + sPid.substring(2, 5) + " " + sPid.substring(5, 7) + " " + sPid.substring(7, 9) + " - " + sPid.substring(9, 10);
  234. } else {
  235. sPid = sPid.substring(2, 5) + " " + sPid.substring(5, 7) + " " + sPid.substring(7, 9) + " - " + sPid.substring(9, 10);
  236. }
  237. */
  238. sSndMsg += CommAX.PrtImgOut(parseInt(iTop)+20, parseInt(iLeft)+270, sPid, 2, 2);
  239. if (sPatnm.length > 3)
  240. {
  241. sPatnm = sPatnm.substring(0, 1) + " " + sPatnm.substring(1, 2) + " " + sPatnm.substring(2, 3) + " " + sPatnm.substring(3, 4);
  242. }
  243. else
  244. {
  245. sPatnm = sPatnm.substring(0, 1) + " " + sPatnm.substring(1, 2) + " " + sPatnm.substring(2, 3);
  246. }
  247. sSndMsg += CommAX.PrtImgOut(parseInt(iTop)+90, parseInt(iLeft)+280, sPatnm, 2, 2);
  248. sSndMsg += CommAX.PrtImgOut(parseInt(iTop)+100, parseInt(iLeft)+620, sDeptEngAbbr, 2, 2);
  249. sSndMsg += CommAX.PrtImgOut(parseInt(iTop)+100, parseInt(iLeft)+720, sFsexamflag, 2, 2);
  250. sSndMsg += CommAX.PrtImgOut(parseInt(iTop)+160, parseInt(iLeft)+230, sRrsgtno.substring(0,8)+"******", 1, 1.5);
  251. if(sOrddd != ""){
  252. sOrddd = sOrddd.substring(0, 4) + "-" + sOrddd.substring(4, 6) + "-" + sOrddd.substring(6, 8);
  253. sSndMsg += CommAX.PrtImgOut(parseInt(iTop)+160, parseInt(iLeft)+490, sOrddd, 1, 1.5);
  254. }
  255. sSndMsg += esc + "V" + parseInt(iTop)+220 + esc + "H" + parseInt(iLeft)+200 + esc + "BG02100" + sBcno; // 바코드(BGaabbb : a-간격(01~12), b-높이(001~600))
  256. sSndMsg += CommAX.PrtImgOut(parseInt(iTop)+350, parseInt(iLeft)+300, "*" + sBcno + "*", 1, 1);
  257. // 종료 및 출력물 출력수량
  258. sSndMsg += esc + "Q1" + esc + "Z";
  259. CommAX.SendMsg(sSndMsg);
  260. CommAX.PortOpen("false");
  261. }else{ // 기존그대로
  262. // if(sPrntKind == "1") {
  263. if(portOpenTF == "TRUE"){
  264. sSndMsg += chrtBarCode_StartFormat(sLeftBank, sTopBank); // 시작위치 셋팅
  265. //sSndMsg += chrtBarCode_ChangeFont("A", 0, 0); // 폰트 설정
  266. // 병원별 등록번호 표시방법 여부(HardCode 테이블 이용) - 2009/06/01 추가
  267. mmbfGetHardCodeInfoNm("/root/send/harddata","/root/temp/hardcode", 3801); //OCR서식의 등록번호 체크로직 표시 여부
  268. var hardcd = model.getValue("/root/temp/hardcode/hardcd/hardcd");
  269. //alert(hardcd);
  270. if (hardcd == "Y")
  271. {
  272. // 출력할 데이터 생성
  273. for(var i = sPid.length; i < 10; i++){
  274. sPid = "0" + sPid;
  275. }
  276. var tmp_pid = model.getvalue(barcodeinfo+"/pid");
  277. if(tmp_pid.length >= 9){
  278. sPid = sPid.substring(0, 2) + " " + sPid.substring(2, 5) + " " + sPid.substring(5, 7) + " " + sPid.substring(7, 9) + " - " + sPid.substring(9, 10);
  279. } else {
  280. sPid = sPid.substring(2, 5) + " " + sPid.substring(5, 7) + " " + sPid.substring(7, 9) + " - " + sPid.substring(9, 10);
  281. }
  282. }
  283. else
  284. {
  285. var instcd = getUserInfo("dutplceinstcd");
  286. if (instcd == "013")
  287. {
  288. if (sPid < 1314016)
  289. {
  290. for(var i = sPid.length; i < 6; i++){
  291. sPid = "0" + sPid;
  292. }
  293. }
  294. var tmp_pid = model.getvalue(barcodeinfo+"/pid");
  295. if(tmp_pid.length >= 7){
  296. sPid = sPid.substring(0, 2) + " " + sPid.substring(2, 4) + " " + sPid.substring(4, 6) + "-" + sPid.substring(6, 7);
  297. } else {
  298. sPid = sPid.substring(0, 2) + " " + sPid.substring(2, 4) + " " + sPid.substring(4, 6);
  299. }
  300. }
  301. }
  302. /* 병원별 적용으로 변경(20090701)
  303. for(var i = sPid.length; i < 10; i++){
  304. sPid = "0" + sPid;
  305. }
  306. var tmp_pid = model.getvalue(barcodeinfo+"/pid");
  307. if(tmp_pid.length >= 9){
  308. sPid = sPid.substring(0, 2) + " " + sPid.substring(2, 5) + " " + sPid.substring(5, 7) + " " + sPid.substring(7, 9) + " - " + sPid.substring(9, 10);
  309. } else {
  310. sPid = sPid.substring(2, 5) + " " + sPid.substring(5, 7) + " " + sPid.substring(7, 9) + " - " + sPid.substring(9, 10);
  311. }
  312. //alert(sPid);
  313. */
  314. sSndMsg += chrtBarCode_ChangeFont("C", 52, 32); // Height, width폰트 설정
  315. sSndMsg += chrtBarCode_FieldDataA(70, 20, sPid); // 가로, 세로, 텍스트 환자등록번호
  316. sPatnm = sPatnm.substring(0, 1) + " " + sPatnm.substring(1, 2) + " " + sPatnm.substring(2, 3);
  317. //alert(sPatnm);
  318. /* sSndMsg += chrtBarCode_ChangeFont("C", 100, 100); // Height, width폰트 설정
  319. sSndMsg += CommAX.PrtImgOut("GRAPH002", sPatnm); //환자이름
  320. sSndMsg += chrtBarCode_FiendOrigin(75, 90);
  321. sSndMsg += "^XGGRAPH002,2,2^FS";
  322. */
  323. sSndMsg += chrtBarCode_ChangeFont("C", 100, 100); // Height, width폰트 설정
  324. sSndMsg += CommAX.PrtImgOut(75, 90, sPatnm, 2, 2); //환자이름
  325. sSndMsg += CommAX.HanImageData();
  326. sSndMsg += chrtBarCode_ChangeFont("C", 32, 32); // Height, width폰트 설정
  327. sSndMsg += chrtBarCode_FieldDataA(380, 100, sDeptEngAbbr); // 가로, 세로, 텍스트 부서영문약어
  328. /* sSndMsg += chrtBarCode_ChangeFont("C", 300, 300); // Height, width폰트 설정
  329. sSndMsg += CommAX.PrtImgOut("GRAPH003", sFsexamflag); //초재진구분
  330. sSndMsg += chrtBarCode_FiendOrigin(500, 100);
  331. sSndMsg += "^XGGRAPH003,2,2^FS";
  332. */
  333. sSndMsg += chrtBarCode_ChangeFont("C", 300, 300); // Height, width폰트 설정
  334. sSndMsg += CommAX.PrtImgOut(500, 100, sFsexamflag, 1, 1); //초재진구분
  335. sSndMsg += CommAX.HanImageData();
  336. sSndMsg += chrtBarCode_ChangeFont("C", 20, 20); // Height, width폰트 설정
  337. sSndMsg += chrtBarCode_FieldDataA(30, 160, sRrsgtno); // 주민번호
  338. if(sOrddd != ""){
  339. sOrddd = sOrddd.substring(0, 4) + "-" + sOrddd.substring(4, 6) + "-" + sOrddd.substring(6, 8);
  340. sSndMsg += chrtBarCode_ChangeFont("C", 20, 20); // Height, width폰트 설정
  341. sSndMsg += chrtBarCode_FieldDataA(390, 160, sOrddd); // 진료일자
  342. }
  343. sSndMsg += chrtBarCode_ChangeFont("F", 10, 10);
  344. sSndMsg += chrtBarCode_BarCode_Code39(50, 185, "N", 60, sBcno); // 바코드
  345. sSndMsg += chrtBarCode_ChangeFont("C", 10, 10); // 폰트 설정
  346. sSndMsg += chrtBarCode_FieldDataA(190, 250, "*" + sBcno + "*"); //바코드번호
  347. sSndMsg += chrtBarCode_EndFormat(1);
  348. if(sCommKind == "01") {
  349. CommAX.SendMessageToLPT(sSndMsg);
  350. } else if(sCommKind == "02") {
  351. CommAX.SendMessage(sSndMsg);
  352. }
  353. }
  354. }
  355. CommAX.PortOpen("false");
  356. }
  357. function test(){
  358. CommAX.CommPort = "1"; // 출력 Port
  359. CommAX.Settings = "9600,n,8,1"; // Comm 설정
  360. var sSndMsg = "";
  361. var portOpenTF = CommAX.PortOpen("true");
  362. if(portOpenTF == "TRUE"){
  363. //alert("open");
  364. sSndMsg += chrtBarCode_StartFormat(0, 0);
  365. sSndMsg += chrtBarCode_FieldDataA(140, 140, "1111");
  366. sSndMsg += chrtBarCode_EndFormat(1);
  367. CommAX.SendMessage(sSndMsg);
  368. }
  369. CommAX.PortOpen("false");
  370. }
  371. function fGetDeptEngAbbr(engabbr, ref, resref){
  372. var deptcd = model.getValue(ref+"[deptengabbr='" + engabbr + "']/deptcd");
  373. model.setValue(resref, deptcd);
  374. model.refresh();
  375. }
  376. function fGetOutEnvelopeInfo(){
  377. model.resetInstanceNode("/root/send/reqdata");
  378. model.makeValue("/root/send/reqdata/frompid", model.getValue("/root/main/envelopebarcode/frompid"));
  379. model.makeValue("/root/send/reqdata/topid", model.getValue("/root/main/envelopebarcode/topid"));
  380. model.makeValue("/root/send/reqdata/stddate", model.getValue("/root/main/envelopebarcode/stddate"));
  381. model.makeValue("/root/send/reqdata/fsexamflag", model.getValue("/root/main/envelopebarcode/fsexamflag"));
  382. if(submit("TRMRC01602")){
  383. messageBox("검색을", "I002")
  384. }
  385. model.removeNodeset("/root/send/reqdata");
  386. //model.setValue("/root/main/envelopebarcode/frompid", "");
  387. fLastEnvelopeStdData();
  388. model.refresh();
  389. }
  390. /*
  391. ===============================================================================
  392. File Name : LZZ001.js
  393. File Explanation : 바코드출력 Common js (for Zebra ZPL )
  394. File Author : Jin Hwa Ji. 2007-05-08
  395. Revision Details :
  396. ===============================================================================
  397. */
  398. /**
  399. * @group : commonweb
  400. * @ver : 2007.05.08 (CMCDEV-0001)
  401. * @by : Jin Hwa Ji [ACK Co., Ltd.]
  402. * @---------------------------------------------------
  403. * @type : function
  404. * @access : public
  405. * <pre>
  406. * 바코드 Format 시작
  407. *
  408. * </pre>
  409. * @param : pX = 시작 가로위치 (in dots)
  410. * @param : pY = 시작 세로위치 (in dots)
  411. * @return :
  412. * @---------------------------------------------------
  413. */
  414. function chrtBarCode_StartFormat(pX, pY) {
  415. return "^XA" + "^LH" + pX + "," + pY;
  416. }
  417. /**
  418. * @group : commonweb
  419. * @ver : 2007.05.08 (CMCDEV-0001)
  420. * @by : Jin Hwa Ji [ACK Co., Ltd.]
  421. * @---------------------------------------------------
  422. * @type : function
  423. * @access : public
  424. * <pre>
  425. * 바코드 Format 종료
  426. *
  427. * </pre>
  428. * @param : pCnt = 출력매수
  429. * @return :
  430. * @---------------------------------------------------
  431. */
  432. function chrtBarCode_EndFormat(pCnt) {
  433. var vCnt = 1;
  434. if (isNull(pCnt)) {
  435. vCnt = 1;
  436. } else {
  437. vCnt = pCnt
  438. }
  439. return "^PQ" + vCnt + "^XZ";
  440. }
  441. /**
  442. * @group : commonweb
  443. * @ver : 2007.05.08 (CMCDEV-0001)
  444. * @by : Jin Hwa Ji [ACK Co., Ltd.]
  445. * @---------------------------------------------------
  446. * @type : function
  447. * @access : public
  448. * <pre>
  449. * 바코드 Format 종료
  450. *
  451. * </pre>
  452. * @param : pX = 시작 가로위치 (in dots)
  453. * @param : pY = 시작 세로위치 (in dots)
  454. * @return :
  455. * @---------------------------------------------------
  456. */
  457. function chrtBarCode_FiendOrigin(pX, pY) {
  458. return "^FO" + pX + "," + pY;
  459. }
  460. /**
  461. * @group : commonweb
  462. * @ver : 2007.05.08 (CMCDEV-0001)
  463. * @by : Jin Hwa Ji [ACK Co., Ltd.]
  464. * @---------------------------------------------------
  465. * @type : function
  466. * @access : public
  467. * <pre>
  468. * 기본 Font 설정
  469. *
  470. * </pre>
  471. * @param : pF = Default Font
  472. * @param : pH = Height(in dots) - Default 9
  473. * @param : pW = Width(in dots) - Default 5
  474. * @return :
  475. * @---------------------------------------------------
  476. */
  477. function chrtBarCode_ChangeFont(pF, pH, pW) {
  478. var sBuf = "";
  479. sBuf = "^CF" + pF;
  480. sBuf += "," + pH;
  481. sBuf += "," + pW;
  482. return sBuf;
  483. }
  484. /**
  485. * @group : commonweb
  486. * @ver : 2007.05.08 (CMCDEV-0001)
  487. * @by : Jin Hwa Ji [ACK Co., Ltd.]
  488. * @---------------------------------------------------
  489. * @type : function
  490. * @access : public
  491. * <pre>
  492. * 알파벳, 숫자 Field정의
  493. *
  494. * </pre>
  495. * @param : pX = 시작 가로위치 (in dots)
  496. * @param : pY = 시작 세로위치 (in dots)
  497. * @param : pData = Field Data
  498. * @param : pReverse = 배경 기준으로 역상으로표시 ( Y:역상으로 )
  499. * @return :
  500. * @---------------------------------------------------
  501. */
  502. function chrtBarCode_FieldDataA(pX, pY, pData, pReverse) {
  503. var sBuf = "";
  504. sBuf = chrtBarCode_FiendOrigin(pX, pY);
  505. if (!isNull(pReverse)) {
  506. if (pReverse.getTrim() == "Y") {
  507. sBuf += "^FR";
  508. }
  509. }
  510. sBuf += "^FD" + pData + "^FS";
  511. return sBuf;
  512. }
  513. /**
  514. * @group : commonweb
  515. * @ver : 2007.05.08 (CMCDEV-0001)
  516. * @by : Jin Hwa Ji [ACK Co., Ltd.]
  517. * @---------------------------------------------------
  518. * @type : function
  519. * @access : public
  520. * <pre>
  521. * 바코드 정의(Code 39)
  522. *
  523. * </pre>
  524. * @param : pX = 시작 가로위치
  525. * @param : pY = 시작 세로위치
  526. * @param : pO = 방향
  527. * @param : pH = 바코드 Height
  528. * @param : pData = 바코드정보
  529. * @return :
  530. * @---------------------------------------------------
  531. */
  532. function chrtBarCode_BarCode_Code39(pX, pY, pO, pH, pData) {
  533. var sBuf = "";
  534. sBuf = chrtBarCode_FiendOrigin(pX, pY);
  535. sBuf += "^BY2,2.0";
  536. sBuf += "^B3" + pO + ",N," + pH + ",N,N^FD" + pData + "^FS";
  537. return sBuf;
  538. }
  539. function fAutoPrntBarCd(){
  540. model.makeValue("/root/send/reqdata/curr_date", getCurrentDate()+getCurrentTime());
  541. submit("TRMRC01604");
  542. gTimerID = window.setInterval( "fAutoPrntBarCd();", 300000);
  543. if(submit("TXMRC01601")){
  544. fBarCodePrnterSetting(pRef);
  545. }
  546. }
  547. function fLastEnvelopeStdData(){
  548. model.resetInstanceNode("/root/send/reqdata");
  549. if(model.getValue("/root/main/envelopebarcode/fsexamflag") == "F"){
  550. model.makeValue("/root/send/reqdata/fsexamflag", model.getValue("/root/main/envelopebarcode/fsexamflag"));
  551. submit("TRMRC01605");
  552. var node_cnt = getNodesetCount("/root/init/envelope/stddata");
  553. if(model.getValue("/root/init/envelope/stddata") != ""){
  554. model.setValue("/root/main/envelopebarcode/frompid", model.getValue("/root/init/envelope/stddata"));
  555. }
  556. } else if(model.getValue("/root/main/envelopebarcode/fsexamflag") == "D"){
  557. model.makeValue("/root/send/reqdata/fsexamflag", model.getValue("/root/main/envelopebarcode/fsexamflag"));
  558. submit("TRMRC01605");
  559. var node_cnt = getNodesetCount("/root/init/envelope/stddata");
  560. if(model.getValue("/root/init/envelope/stddata") != ""){
  561. model.setValue("/root/main/envelopebarcode/stddate", model.getValue("/root/init/envelope/stddata"));
  562. }
  563. }
  564. model.resetInstanceNode("/root/send/reqdata");
  565. model.refresh();
  566. }
  567. function fEnvelopePrnt(pRef){
  568. model.resetInstanceNode("/root/main/barcodeinfo");
  569. model.resetInstanceNode("/root/send/reqdata");
  570. var result_cnt = getNodesetCount("/root/main/envelopebarcode/info/list");
  571. //alert(result_cnt);
  572. for(var cnt = 1; cnt <= result_cnt; cnt++){
  573. model.setValue("/root/main/barcodeinfo/pid", model.getValue("/root/main/envelopebarcode/info/list["+cnt+"]/pid"));
  574. model.setValue("/root/main/barcodeinfo/orddeptcd", model.getValue("/root/main/envelopebarcode/info/list["+cnt+"]/orddeptcd"));
  575. model.setValue("/root/main/barcodeinfo/ioflag", model.getValue("/root/main/envelopebarcode/info/list["+cnt+"]/ordtype"));
  576. model.setValue("/root/main/barcodeinfo/orddd", model.getValue("/root/main/envelopebarcode/info/list["+cnt+"]/orddd"));
  577. model.setValue("/root/main/barcodeinfo/atdoctid", model.getValue("/root/main/envelopebarcode/info/list["+cnt+"]/atdoctid"));
  578. var barcode = model.getValue("/root/main/envelopebarcode/info/list["+cnt+"]/bcno");
  579. for(var i = barcode.length; i < 10; i++){
  580. barcode = "0" + barcode;
  581. }
  582. model.setValue("/root/main/barcodeinfo/bcno", barcode);
  583. model.setValue("/root/main/barcodeinfo/fstrgstrid", "");
  584. model.setValue("/root/main/barcodeinfo/lastupdtrid", "");
  585. model.setValue("/root/main/barcodeinfo/chrtrem", "");
  586. model.setValue("/root/main/barcodeinfo/hngnm", model.getValue("/root/main/envelopebarcode/info/list["+cnt+"]/hngnm"));
  587. model.setValue("/root/main/barcodeinfo/rrgstno", model.getValue("/root/main/envelopebarcode/info/list["+cnt+"]/rrgstno"));
  588. model.setValue("/root/main/barcodeinfo/fsexamflag", model.getValue("/root/main/envelopebarcode/info/list["+cnt+"]/fsexamflag"));
  589. model.setValue("/root/main/barcodeinfo/depthngnm", model.getValue("/root/main/envelopebarcode/info/list["+cnt+"]/depthngnm"));
  590. model.setValue("/root/main/barcodeinfo/deptengabbr", model.getValue("/root/main/envelopebarcode/info/list["+cnt+"]/deptengabbr"));
  591. model.setValue("/root/main/barcodeinfo/cretno", model.getValue("/root/main/envelopebarcode/info/list["+cnt+"]/cretno"));
  592. fBarCodePrnterSetting(pRef);
  593. model.resetInstanceNode("/root/send/reqdata");
  594. model.makeValue("/root/send/reqdata/pid", model.getValue("/root/main/barcodeinfo/pid"));
  595. model.makeValue("/root/send/reqdata/orddeptcd", model.getValue("/root/main/barcodeinfo/orddeptcd"));
  596. model.makeValue("/root/send/reqdata/ordtype", model.getValue("/root/main/barcodeinfo/ioflag"));
  597. model.makeValue("/root/send/reqdata/orddd", model.getValue("/root/main/barcodeinfo/orddd"));
  598. model.makeValue("/root/send/reqdata/orddrid", model.getValue("/root/main/barcodeinfo/atdoctid"));
  599. model.makeValue("/root/send/reqdata/fsexamflag", model.getValue("/root/main/barcodeinfo/fsexamflag"));
  600. model.makeValue("/root/send/reqdata/stddata", model.getValue("/root/main/barcodeinfo/pid"));
  601. model.makeValue("/root/send/reqdata/cretno", model.getValue("/root/main/barcodeinfo/cretno"));
  602. if(model.getValue("/root/main/envelopebarcode/topid") == "9999999999"){
  603. submit("TXMRC01602");
  604. }
  605. }
  606. fLastEnvelopeStdData();
  607. model.setValue("/root/main/envelopebarcode/topid","9999999999");
  608. model.refresh();
  609. }