SMMNP02000.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604
  1. /* ---------------------------------------------------------------------
  2. 일단위 물품 처방 조회(SMMNP02000.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By 김진명
  6. : 2009.12.18
  7. ---------------------------------------------------------------------- */
  8. /* --------------------------------------------------*/
  9. /* type : function */
  10. /* access : public */
  11. /* desc : 초기화 */
  12. /* param : */
  13. /* return : */
  14. /* --------------------------------------------------*/
  15. function fInit() {
  16. //model.removeNodeset("/root/main/stoclist");
  17. //submit("TRMNP04604");
  18. //var level = model.getValue("/root/temp/logginlevel/usrlevel");
  19. var curday = new Date();
  20. var dayflag = curday.getDay();
  21. var curdate = curday.getDateFormat();
  22. /*
  23. if( dayflag == 1 ) {//현재일이 월요일이면
  24. model.setValue("/root/main/cond/opfromdd", getDateAddc(curdate, -3));
  25. model.setValue("/root/main/cond/optodd", getDateAddc(curdate, -1));
  26. }else if( dayflag == 0 ) {//현재일이 일요일이면
  27. model.setValue("/root/main/cond/opfromdd", getDateAddc(curdate, -2));
  28. model.setValue("/root/main/cond/optodd", getDateAddc(curdate, -1));
  29. }else {//화요일부터 토요일
  30. model.setValue("/root/main/cond/opfromdd", getDateAddc(curdate, -1));
  31. model.setValue("/root/main/cond/optodd", getDateAddc(curdate, -1));
  32. }
  33. */
  34. model.setValue("/root/main/cond/opfromdd", getCurrentDate());
  35. model.setValue("/root/main/cond/optodd", getCurrentDate());
  36. ipt_reqfromdd.refresh();
  37. ipt_reqtodd.refresh();
  38. grd_prcplist.explorerbar = "sort";
  39. grd_prcplist.fixedcellcheckbox(0,1) = true;
  40. grd_delivelist.explorerbar = "sort";
  41. grd_delivelist.fixedcellcheckbox(0,1) = true;
  42. radio1.dispatch("xforms-value-changed");
  43. submit("TRMNP05001", false);
  44. addComboItem("cmb_oproomcd", "전체", "", "above" );
  45. submit("TRMNP03004") // 수술실(Rosette) 가져오기
  46. addComboItem("cmb_rosette","전체","","above");
  47. model.removenode("/root/send");
  48. model.makeValue("/root/send/cdgrupid", "038");
  49. submit("TRMNP00323", false);
  50. var cdgrupid = "'U08'";
  51. fGetNursHardCdInfo(cdgrupid, getCurrentDate());
  52. model.setValue(opt_usernm.attribute("ref"), getUserInfo("usernm"));
  53. opt_usernm.refresh();
  54. //20101220_KNUH_Start 2줄 주석처리.(없는값을 셋팅함.'W')
  55. //var deptflag = model.getValue("/root/viewctrl/viewctrllist/viewctrlinfo/cdnm");
  56. //model.setValue("/root/main/cond/refdeptflag", deptflag);
  57. //20101220_KNUH_End
  58. //20101220_KNUH_end
  59. fSearch();
  60. //model.refresh();
  61. }
  62. /* --------------------------------------------------*/
  63. /* type : function */
  64. /* access : public */
  65. /* desc : 일단위 물품 처방 조회 */
  66. /* param : */
  67. /* return : */
  68. /* --------------------------------------------------*/
  69. function fSearch() {
  70. model.removenode("/root/send");
  71. model.makeNode("/root/send/reqdata");
  72. model.copyNode("/root/send/reqdata", "/root/main/cond");
  73. submit("TRMNP02001");
  74. //20110421 이선경(경북대) : 응급불출일때는 등록번호, 환자명 보여주기
  75. if(model.getValue("/root/main/cond/erprcpflag") == "Y"){
  76. grd_prcplist.colHidden(grd_prcplist.colRef("pid")) = false;
  77. grd_prcplist.colHidden(grd_prcplist.colRef("hngnm")) = false;
  78. grd_delivelist.colHidden(grd_delivelist.colRef("pid")) = false;
  79. grd_delivelist.colHidden(grd_delivelist.colRef("hngnm")) = false;
  80. //미불출조회버튼 사용못하게
  81. button1.disabled = true;
  82. var delyn;
  83. for(var i = grd_delivelist.fixedRows; i < grd_delivelist.rows; i++) {
  84. delyn = grd_delivelist.valueMatrix(i, grd_delivelist.colRef("delyn"));
  85. if(delyn=="취소") {
  86. grd_delivelist.isReadOnly(i, grd_delivelist.colRef("cnfmqty"), i, grd_delivelist.colRef("cnfmqty")) = false;
  87. } else {
  88. grd_delivelist.isReadOnly(i, grd_delivelist.colRef("cnfmqty"), i, grd_delivelist.colRef("cnfmqty")) = true;
  89. }
  90. }
  91. } else {
  92. grd_prcplist.colHidden(grd_prcplist.colRef("pid")) = true;
  93. grd_prcplist.colHidden(grd_prcplist.colRef("hngnm")) = true;
  94. grd_delivelist.colHidden(grd_delivelist.colRef("pid")) = true;
  95. grd_delivelist.colHidden(grd_delivelist.colRef("hngnm")) = true;
  96. //미불출조회버튼 사용
  97. button1.disabled = false;
  98. }
  99. for( i= grd_delivelist.fixedRows; i < grd_delivelist.rows; i++) {
  100. var delyn = grd_delivelist.valueMatrix(i, grd_delivelist.colRef("delyn"));
  101. if (delyn == "취소") {
  102. grd_delivelist.isReadOnly(i, grd_delivelist.colRef("chkflag")) = true;
  103. //grd_delivelist.colStyle(grd_delivelist.colRef("delyn"), "data", "color") = "#ff0000";
  104. grd_delivelist.cellStyle("color", i, grd_delivelist.colRef("delyn")) = "#ff0000";
  105. } else {
  106. grd_delivelist.isReadOnly(i, grd_delivelist.colRef("chkflag")) = false;
  107. grd_delivelist.cellStyle("color", i, grd_delivelist.colRef("delyn")) = "#000000";
  108. }
  109. }
  110. }
  111. /* --------------------------------------------------*/
  112. /* type : function */
  113. /* access : public */
  114. /* desc : 물품 조회 팝업 후 처리 */
  115. /* param : */
  116. /* return : */
  117. /* --------------------------------------------------*/
  118. function fSetGoodCd(paramData) {
  119. var variable = "'";
  120. var goodcd = "";
  121. var goodnm = "";
  122. var oldgoodcd, oldgoodnm, oldvariable;
  123. oldgoodcd = model.getValue("/root/main/cond/goodcd");
  124. oldgoodnm = model.getValue("/root/main/cond/goodnm");
  125. oldvariable = model.getValue("/root/main/cond/variable");
  126. var getData = paramData;
  127. if( getData != "") {
  128. if( model.getValue("/root/temp/chkcncl") != "C" ) {
  129. var getDataTemp1 = getData.split("▩");
  130. for( var i = 0; i < getDataTemp1.length-1; i++) {
  131. var getDataTemp2 = getDataTemp1[i].split("|");
  132. variable = variable + getDataTemp2[0] + getDataTemp2[2] + "'";
  133. goodcd = goodcd + getDataTemp2[0];
  134. goodnm = goodnm + getDataTemp2[1];
  135. if(( i+1) != (getDataTemp1.length-1) ) {
  136. variable = variable + ", '";
  137. goodcd = goodcd + ", ";
  138. goodnm = goodnm + ", ";
  139. }
  140. }
  141. if( oldgoodcd != "" ) {
  142. goodcd = oldgoodcd + ", " + goodcd
  143. }
  144. if( oldgoodnm != "" ) {
  145. goodnm = oldgoodnm + ", " + goodnm
  146. }
  147. if( oldvariable != "" ) {
  148. variable = oldvariable + ", " + variable
  149. }
  150. model.setValue("/root/main/cond/goodcd", goodcd);
  151. model.setValue("/root/main/cond/goodnm", goodnm);
  152. model.setValue("/root/main/cond/variable", variable);
  153. model.refresh();
  154. fSearch();
  155. }
  156. }
  157. }
  158. /* --------------------------------------------------*/
  159. /* type : function */
  160. /* access : public */
  161. /* desc : 방재고실사입력 실사량입력 */
  162. /* param : */
  163. /* return : */
  164. /* --------------------------------------------------*/
  165. function fSave() {
  166. var iRows = -1;
  167. var chkflag, oproomcd, goodcd, allsizespecid, bfsafestocqty, safestocqty, reqcnfmyn;
  168. var stocqty, refdeptflag, stocflag, undeliveqty, deliveqty, stat, cnfmyn, reqdd, inspqty, reqqty;
  169. var cnt = 0;
  170. iRows = grd_stoclist.rows;
  171. var stoclist = "m▦oproomcd▦goodcd▦allsizespecid▦bfsafestocqty▦inspqty▦refdeptflag▦safestocqty▦stocflag▦reqqty▦deliveqty▦undeliveqty▦cnfmyn▦reqdd";
  172. for( var i = 1; i <= iRows; i++ ) {
  173. chkflag = model.getValue("/root/main/stoclist[" + i + "]/chkflag");
  174. oproomcd = model.getValue("/root/main/stoclist[" + i + "]/oproomcd");
  175. goodcd = model.getValue("/root/main/stoclist[" + i + "]/goodcd");
  176. allsizespecid = model.getValue("/root/main/stoclist[" + i + "]/allsizespecid");
  177. bfsafestocqty = model.getValue("/root/main/stoclist[" + i + "]/bfsafestocqty");
  178. safestocqty = model.getValue("/root/main/stoclist[" + i + "]/safestocqty");
  179. stocqty = model.getValue("/root/main/stoclist[" + i + "]/stocqty");
  180. inspqty = model.getValue("/root/main/stoclist[" + i + "]/inspqty");
  181. deliveqty = model.getValue("/root/main/stoclist[" + i + "]/deliveqty");
  182. rtnqty = model.getValue("/root/main/stoclist[" + i + "]/rtnqty");
  183. undeliveqty = model.getValue("/root/main/stoclist[" + i + "]/undeliveqty");
  184. stat = model.getValue("/root/main/stoclist[" + i + "]/stat");
  185. reqdd = model.getValue("/root/main/stoclist[" + i + "]/reqdd");
  186. reqcnfmyn = model.getValue("/root/main/stoclist[" + i + "]/reqcnfmyn");
  187. refdeptflag = model.getValue("/root/main/cond/refdeptflag");
  188. stocflag = model.getValue("/root/main/cond/stocflag");
  189. if( reqcnfmyn == "Y" ) {
  190. messageBox("CCR에서 확정이 되었습니다. 수정을 하실려면 CCR에서 확정을 미확정으로 돌려야 가능합니다!", "E000");
  191. return;
  192. }
  193. if( stocflag == "R"||stocflag == "U" ) {//재고등록, 변경일때는 실사량 0
  194. inspqty = "0";
  195. cnfmyn = "N";
  196. reqqty = (parseInt(safestocqty) - parseInt(bfsafestocqty));
  197. }else {
  198. cnfmyn = "N";//재고실사일경우 자동 승인 ==> CSR 승인으로 변경 2009.04.13
  199. reqqty = "0";
  200. }
  201. if( chkflag == "true" ) {
  202. if( stocflag == "R"||stocflag == "U" ) {//재고등록, 변경
  203. if( parseInt(bfsafestocqty) < 1 ) {//이전 재고가 있으면 0입력가능
  204. if( safestocqty == "0"||safestocqty == "" ) {
  205. messageBox("수량을 입력하지 않았습니다.!", "E000");
  206. return;
  207. }
  208. }
  209. }else {
  210. if( inspqty == "0"||inspqty == "" ) {//실사량을 입력하지 않으면 리턴
  211. messageBox("수량을 입력하지 않았습니다.!", "E000");
  212. return;
  213. }
  214. }
  215. cnt += 1;
  216. stoclist = stoclist + "▩" + stat + "▦" + oproomcd + "▦" + goodcd + "▦" + allsizespecid + "▦" + bfsafestocqty + "▦" + inspqty
  217. + "▦" + refdeptflag + "▦" + safestocqty + "▦" + stocflag + "▦" + reqqty
  218. + "▦" + "0" + "▦" + "0" + "▦" + cnfmyn + "▦" + reqdd;
  219. }
  220. }
  221. if( cnt > 0 ) {
  222. model.removenode("/root/send");
  223. model.makeNode("/root/send/reqdata");
  224. model.makeNode("/root/send/savedata");
  225. model.copyNode("/root/send/reqdata", "/root/main/cond");
  226. model.setValue("/root/send/savedata", stoclist);
  227. submit("TXMNP03901");
  228. }else {
  229. messageBox("선택한것이", "I004");
  230. }
  231. }
  232. /* --------------------------------------------------*/
  233. /* type : function */
  234. /* access : public */
  235. /* desc : 일단위 물품 불출 확정 */
  236. /* param : */
  237. /* return : */
  238. /* --------------------------------------------------*/
  239. function fCnfmSave(flag) {
  240. var iRows = -1;
  241. var chkflag, oproomcd, goodcd, allsizespecid, opfromdd, optodd, deliveqty, cmt, refdeptflag, cartgubn, ordseq, oprsrvno, erprcpflag;
  242. var cnt = 0;
  243. iRows = grd_prcplist.rows;
  244. var nodes = instance1.selectNodes(grd_prcplist.nodeset + "[chkflag='true']");
  245. var tempnode= "/root/temp/barcdlist";
  246. if(flag != "") {
  247. model.removeNodeset(tempnode);
  248. model.makeNode(tempnode);
  249. var desnode = instance1.selectSingleNode(tempnode);
  250. var node;
  251. if(nodes.length > 0) {
  252. while(node = nodes.nextNode()) {
  253. model.duplicate(desnode, node);
  254. }
  255. }
  256. }
  257. var prcplist = "m▦goodcd▦allsizespecid▦deptflag▦oproomcd▦sumfromdd▦sumtodd▦deliveqty▦cmt▦delivedd▦seqno▦cartgubn▦ordseq▦oprsrvno▦erprcpflag▦prcpdd▦oproomnm▦pid▦hngnm▦sexage▦goodnm▦deptengabbr▦prcpernm▦barcdno▦opcnfmdd";
  258. for( var i = 1; i <= iRows; i++ ) {
  259. chkflag = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/chkflag");
  260. oproomcd = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/oproomcd");
  261. goodcd = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/goodcd");
  262. allsizespecid = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/allsizespecid");
  263. deliveqty = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/deliveqty");
  264. cmt = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/cmt");
  265. refdeptflag = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/cartgubn");
  266. opfromdd = model.getValue("/root/main/cond/opfromdd");
  267. optodd = model.getValue("/root/main/cond/optodd");
  268. cartgubn = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/cartgubn");
  269. ordseq = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/ordseq");
  270. oprsrvno = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/oprsrvno");
  271. erprcpflag = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/erprcpflag");
  272. prcpdd = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/prcpdd");
  273. oproomnm = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/oproomnm");
  274. pid = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/pid");
  275. hngnm = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/hngnm");
  276. sexage = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/sexage");
  277. goodnm = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/goodnm");
  278. deptengabbr = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/deptengabbr");
  279. prcpernm = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/prcpernm");
  280. barcdno = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/barcdno");
  281. opcnfmdd = model.getValue("/root/main/deliveLists/prcplist[" + i + "]/opcnfmdd");
  282. if( chkflag == "true" ) {
  283. if( parseInt(deliveqty) < 1 ) {
  284. messageBox("불출수량은 0이상만 가능합니다.!", "E000");
  285. return;
  286. }
  287. cnt += 1;
  288. //oproomnm▦pid▦hngnm▦sexage▦goodnm▦deptengabbr▦prcpernm▦barcdno
  289. prcplist = prcplist + "▩" + "I" + "▦" + goodcd + "▦" + allsizespecid + "▦" + refdeptflag + "▦" + oproomcd
  290. + "▦" + opfromdd + "▦" + optodd + "▦" + deliveqty + "▦" + cmt + "▦" + "" + "▦" + ""
  291. + "▦" + cartgubn + "▦" + ordseq + "▦" + oprsrvno + "▦" + erprcpflag + "▦" + prcpdd
  292. + "▦" + oproomnm + "▦" + pid + "▦" + hngnm + "▦" + sexage + "▦" + goodnm+ "▦" + deptengabbr+ "▦" + prcpernm+ "▦" + barcdno + "▦" + opcnfmdd;
  293. }
  294. }
  295. if( cnt > 0 ) {
  296. model.removenode("/root/send");
  297. model.makeNode("/root/send/reqdata");
  298. model.makeNode("/root/send/savedata");
  299. model.copyNode("/root/send/reqdata", "/root/main/cond");
  300. model.setValue("/root/send/savedata", prcplist);
  301. model.makeValue("/root/send/reqdata/flag", flag);
  302. submit("TXMNP02001");
  303. var nodes = instance1.selectNodes("/root/main/deliveLists/barcdlist");
  304. var printyn = model.getValue("/root/init/codeinfo/codelist[cdgrupid='U08']/cdid");
  305. if(flag == "1") {
  306. if(printyn == "Y") {
  307. if(nodes.length > 0) {
  308. fPrintBarcd();
  309. }
  310. }
  311. }
  312. fCheckGrid();
  313. }else {
  314. messageBox("선택한것이", "I004");
  315. }
  316. }
  317. /* --------------------------------------------------*/
  318. /* type : function */
  319. /* access : public */
  320. /* desc : 일단위 물품 불출 확정 취소 */
  321. /* param : */
  322. /* return : */
  323. /* --------------------------------------------------*/
  324. function fCnclCnfmSave() {
  325. var iRows = -1;
  326. var chkflag, oproomcd, goodcd, allsizespecid, sumfromdd, sumtodd, deliveqty, cmt, refdeptflag, delivedd, seqno, cartgubn, ordseq, oprsrvno, erprcpflag;
  327. var cnt = 0;
  328. iRows = grd_delivelist.rows;
  329. var prcplist = "m▦goodcd▦allsizespecid▦deptflag▦oproomcd▦sumfromdd▦sumtodd▦deliveqty▦cmt▦delivedd▦seqno▦cartgubn▦ordseq▦oprsrvno▦erprcpflag";
  330. for( var i = 1; i <= iRows; i++ ) {
  331. chkflag = model.getValue("/root/main/deliveLists/delivelist[" + i + "]/chkflag");
  332. oproomcd = model.getValue("/root/main/deliveLists/delivelist[" + i + "]/oproomcd");
  333. goodcd = model.getValue("/root/main/deliveLists/delivelist[" + i + "]/goodcd");
  334. allsizespecid = model.getValue("/root/main/deliveLists/delivelist[" + i + "]/allsizespecid");
  335. deliveqty = model.getValue("/root/main/deliveLists/delivelist[" + i + "]/deliveqty");
  336. cmt = model.getValue("/root/main/deliveLists/delivelist[" + i + "]/cmt");
  337. sumfromdd = model.getValue("/root/main/deliveLists/delivelist[" + i + "]/sumfromdd");
  338. sumtodd = model.getValue("/root/main/deliveLists/delivelist[z" + i + "]/sumtodd");
  339. delivedd = model.getValue("/root/main/deliveLists/delivelist[" + i + "]/delivedd");
  340. seqno = model.getValue("/root/main/deliveLists/delivelist[" + i + "]/seqno");
  341. refdeptflag = model.getValue("/root/main/deliveLists/delivelist[" + i + "]/cartgubn");
  342. cartgubn = model.getValue("/root/main/deliveLists/delivelist[" + i + "]/cartgubn");
  343. ordseq = model.getValue("/root/main/deliveLists/delivelist[" + i + "]/ordseq");
  344. oprsrvno = model.getValue("/root/main/deliveLists/delivelist[" + i + "]/oprsrvno");
  345. erprcpflag = model.getValue("/root/main/deliveLists/delivelist[" + i + "]/erprcpflag");
  346. if( chkflag == "true" ) {
  347. cnt += 1;
  348. prcplist = prcplist + "▩" + "C" + "▦" + goodcd + "▦" + allsizespecid + "▦" + refdeptflag + "▦" + oproomcd
  349. + "▦" + sumfromdd + "▦" + sumtodd + "▦" + deliveqty + "▦" + cmt + "▦" + delivedd + "▦" + seqno
  350. + "▦" + cartgubn + "▦" + ordseq + "▦" + oprsrvno + "▦" + erprcpflag ;
  351. }
  352. }
  353. if( cnt > 0 ) {
  354. model.removenode("/root/send");
  355. model.makeNode("/root/send/reqdata");
  356. model.makeNode("/root/send/savedata");
  357. model.copyNode("/root/send/reqdata", "/root/main/cond");
  358. model.setValue("/root/send/savedata", prcplist);
  359. submit("TXMNP02001");
  360. }else {
  361. messageBox("선택한것이", "I004");
  362. }
  363. }
  364. /* --------------------------------------------------*/
  365. /* type : function */
  366. /* access : public */
  367. /* desc : 일단위 물품 출력 */
  368. /* param : P:처방집계, D:불출내역 */
  369. /* return : */
  370. /* --------------------------------------------------*/
  371. function fPrntList(pFlag) {
  372. //20110422 이선경(경북대) : 응급불출은 출력양식이 다름(환자별로 출력)
  373. if(model.getValue("/root/main/cond/erprcpflag") == "Y") {
  374. model.removenode("/root/send/report");
  375. model.makeNode("/root/send/report");
  376. var dcnt = 0;
  377. if( pFlag == "D" ) { //불출
  378. for(var i = 0; i < grd_delivelist.rows; i++){
  379. if(model.getValue("/root/main/deliveLists/delivelist[" + i + "]/chkflag") == "true") {
  380. copyNodeListType("/root/send/report", "/root/main/deliveLists/delivelist[" + i + "]", "after");
  381. dcnt++;
  382. }
  383. }
  384. if(dcnt > 0) {
  385. // 20110719 wify 경북대병원 출력물 row 2개씩 나오는 오류 수정.(rex파일 xml설정오류)
  386. exeReportPreview("RPMNP02002", "XMLSTR", ""); //미리보기
  387. } else {
  388. messageBox("출력할 처방을 선택하세요.", "I999");
  389. }
  390. } else if( pFlag == "P" ) { //처방
  391. for(var i = 0; i < grd_prcplist.rows; i++){
  392. if(model.getValue("/root/main/deliveLists/prcplist[" + i + "]/chkflag") == "true") {
  393. copyNodeListType("/root/send/report", "/root/main/deliveLists/prcplist[" + i + "]", "after");
  394. dcnt++;
  395. }
  396. }
  397. if(dcnt > 0) {
  398. exeReportPreview("RPMNP02003", "XMLSTR", "/root/send/report"); //미리보기
  399. } else {
  400. messageBox("출력할 처방을 선택하세요.", "I999");
  401. }
  402. } else if ( pFlag == "A" ) { // 20110914 wify 경북대병원 응급불출내역 전체출력 추가
  403. for(var i=0; i < grd_delivelist.rows; i++) {
  404. if(model.getValue("/root/main/deliveLists/delivelist[" + i + "]/chkflag") == "true") {
  405. copyNodeListType("/root/send/report", "/root/main/deliveLists/delivelist[" + i + "]", "after");
  406. dcnt++;
  407. }
  408. }
  409. if(dcnt > 0) {
  410. // 20110914 wify 경북대병원 응급 불출내역 전체출력 추가
  411. exeReportPreview("RPMNP02004", "XMLSTR", ""); //미리보기
  412. } else {
  413. messageBox("출력할 처방을 선택하세요.", "I999");
  414. }
  415. }
  416. } else {
  417. if( pFlag == "D" ) {
  418. model.removenode("/root/send");
  419. model.makeNode("/root/send/reqdata")
  420. model.copyNode("/root/send/reqdata", "/root/main/cond");
  421. //if(submit("TRMNP02003")) {
  422. model.removenode("/root/send");
  423. model.makeNode("/root/send/report");
  424. model.copyNode("/root/send/report", "/root/main/cond");
  425. //model.copynode("/root/hidden/deliveLists", "/root/main/deliveLists");
  426. model.removeNodeset("/root/hidden/deliveLists/delivelist");
  427. for( var i=0; i < grd_delivelist.rows; i++) {
  428. // 20110919 wify 경북대병원 본원, 칠곡 요청사항이 다름(본원은 취소내역은 출력되지 않음, 칠곡은 취소내역 출력요청)
  429. // 20110920 wify 경북대병원 칠곡병원 요청으로 인해 출력물 취소여부 컬럼 추가. 본원은 취소여부에 '확정'만 나옴
  430. if ( getUserInfo("dutplceinstcd") == "031" ) {
  431. if (model.getValue("/root/main/deliveLists/delivelist[" + i+ "]/delyn") == "확정") {
  432. copyNodeListType("/root/hidden/deliveLists", "/root/main/deliveLists/delivelist[" + i + "]", "after");
  433. }
  434. } else if ( getUserInfo("dutplceinstcd") == "032" ) {
  435. copyNodeListType("/root/hidden/deliveLists", "/root/main/deliveLists/delivelist[" + i + "]", "after");
  436. }
  437. }
  438. exeReportPreview("RPMNP02001", "XMLSTR", "/root/send/report"); //미리보기
  439. model.removeNodeset("/root/hidden/deliveLists/delivelist");
  440. // }
  441. } else if( pFlag == "P" ) {
  442. model.removenode("/root/send");
  443. model.makeNode("/root/send/report");
  444. model.copyNode("/root/send/report", "/root/main/cond");
  445. exeReportPreview("RPMNP02000", "XMLSTR"); //미리보기
  446. } else if( pFlag == "A") {
  447. model.removenode("/root/send");
  448. model.makeNode("/root/send/reqdata")
  449. model.copyNode("/root/send/reqdata", "/root/main/cond");
  450. //if(submit("TRMNP02003")) {
  451. model.removenode("/root/send");
  452. model.makeNode("/root/send/report");
  453. model.copyNode("/root/send/report", "/root/main/cond");
  454. //model.copynode("/root/hidden/deliveLists", "/root/main/deliveLists");
  455. model.removeNodeset("/root/hidden/deliveLists/delivelist");
  456. for( var i=0; i < grd_delivelist.rows; i++) {
  457. // 20110919 wify 경북대병원 본원, 칠곡 요청사항이 다름(본원은 취소내역은 출력되지 않음, 칠곡은 취소내역 출력요청)
  458. // 20110920 wify 경북대병원 칠곡병원 요청으로 인해 출력물 취소여부 컬럼 추가. 본원은 취소여부에 '확정'만 나옴
  459. if ( getUserInfo("dutplceinstcd") == "031" ) {
  460. if (model.getValue("/root/main/deliveLists/delivelist[" + i+ "]/delyn") == "확정") {
  461. copyNodeListType("/root/hidden/deliveLists", "/root/main/deliveLists/delivelist[" + i + "]", "after");
  462. }
  463. } else if ( getUserInfo("dutplceinstcd") == "032" ) {
  464. copyNodeListType("/root/hidden/deliveLists", "/root/main/deliveLists/delivelist[" + i + "]", "after");
  465. }
  466. }
  467. exeReportPreview("RPMNP02005", "XMLSTR", "/root/send/report"); //미리보기
  468. model.removeNodeset("/root/hidden/deliveLists/delivelist");
  469. }
  470. }
  471. }
  472. function fPrintBarcd() {
  473. model.property("id") = "SMMNP02000";
  474. open("SPMNZ00800", "","","","", "/root/main/deliveLists", "/root/main/deliveLists");//var scrnid = "SMMNP02000";
  475. //
  476. //model.removeNodeset("/root/main/barcdprntsetup");
  477. //fGetBarCodeInfo(scrnid); // CareCom.js
  478. //
  479. ////2. 바코드 라벨 환경설정
  480. //var barcdRef = "/root/main/barcdprntsetup/prntsetupinfo/setupinfo";
  481. //
  482. //barcdRef = barcdRef.replace("/setupinfo", "");
  483. //makeReportPreview(0,0,10, 10, "");
  484. //fPrintRexbar("RPMNZ00007", "", 1, "", "", barcdRef);
  485. }
  486. function fCheckGrid() {
  487. var oprsrvno;
  488. var cartgubn;
  489. var ordseq;
  490. var oprsrvno2;
  491. var cartgubn2;
  492. var ordseq2;
  493. var nodes = instance1.selectNodes("/root/temp/barcdlist/prcplist");
  494. for(var i = 1; i <= nodes.length; i++) {
  495. oprsrvno = model.getValue("/root/temp/barcdlist/prcplist[" + i + "]/oprsrvno");
  496. cartgubn = model.getValue("/root/temp/barcdlist/prcplist[" + i + "]/cartgubn");
  497. ordseq = model.getValue("/root/temp/barcdlist/prcplist[" + i + "]/ordseq");
  498. for(var j = grd_prcplist.fixedRows; j < grd_prcplist.rows; j++) {
  499. oprsrvno2 = model.getValue(grd_prcplist.nodeset + "[" + j + "]/oprsrvno");
  500. cartgubn2 = model.getValue(grd_prcplist.nodeset + "[" + j + "]/cartgubn");
  501. ordseq2 = model.getValue(grd_prcplist.nodeset + "[" + j + "]/ordseq");
  502. if( (oprsrvno == oprsrvno2) && (cartgubn == cartgubn2) && (ordseq == ordseq2) ) {
  503. grd_prcplist.valueMatrix(j, grd_prcplist.colRef("chkflag")) = "true";
  504. continue;
  505. }
  506. }
  507. }
  508. }
  509. function fCalcdate(calcn, calcd){
  510. calcd = calcd.toDate("YYYYMMDD");
  511. calcd = calcd.getAddDate(calcn , "D");
  512. calcd = calcd.getDateFormat("YYYYMMDD");
  513. return calcd;
  514. }