SMMNP03001.js 97 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774
  1. /* ---------------------------------------------------------------------
  2. 수술마취간호처방 (SMMNP01800.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By Francis Choi
  6. : 2015.05.02
  7. ---------------------------------------------------------------------- */
  8. var ExCount = 0;
  9. // Global Main Path
  10. var gPathName = "/root/main/MnphcagoLists" + " " // 0 Cart물품
  11. + "/root/main/MnpmcartList" + " " // 1 CartCode
  12. + "/root/main/MmbhppdsLists" + " " // 2 처치처방
  13. + "/root/init/WorkData/DelMnphcagoListss" + " " // 3 삭제Cart물품
  14. + "/root/init/WorkData/codelists" + " " // 4 Save Cart Master
  15. + "/root/init/WorkData/MnphcagoLists" + " " // 5 Save 물품 내역
  16. + "/root/main/MmohoprsLists/mmohoprslist" + " " // 6 예약정보 Path
  17. + "/root/main/operation/list" + " " // 7 수술예약 상단정보
  18. + "/root/main/CartOrdData" ; // 8 Cart Order Display Data Instance Path
  19. var gPathNode = gPathName.split(" ");
  20. // Cart Order Display Data Instance Path
  21. var tCartPath = "ListSupplies" + " " // 2 공급물품
  22. + "ListSupplies" + " " // 2 공급물품
  23. + "ListInstrument" + " " // 4 기구
  24. + "ErListInstrument" + " " // 4 기구
  25. + "ListCstList" + " " // 6 수술소모품
  26. + "ErListCstList" + " "; // 6 수술소모품
  27. var tPathCart = tCartPath.split(" "); //
  28. // Cart Gride Name
  29. var tCartName = "supplies" + " " // 공급물품
  30. + "supplies" + " " // 공급물품
  31. + "instrument" + " " // 기구
  32. + "erinstrument" + " " // 기구
  33. + "opsupply" + " " // 수술소모품
  34. + "ercst" ; // 수술소모품
  35. var tNameCart = tCartName.split(" "); //
  36. var SwFalg = 0;
  37. var LargeIdx = 0;
  38. var LargeGrd = 0;
  39. var GoodCopy = "/root/init/WorkData/cartlist";
  40. var vOprsrvno = ""; // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  41. var vCartgubn = ""; // 02 Cart구분 (O:수술,A:마취)
  42. var vOrdseq = ""; // 03 처방순번
  43. var vInstcd = ""; // 04 병원기관코드(코드정의서 Z0007 참조)
  44. var vGoodcd = ""; // 05 물품코드
  45. var vAllsizespecid = ""; // 06 ALLSIZE규격ID
  46. var vGoodcls = ""; // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  47. var vGoodqty = ""; // 08 물품수량
  48. var vAddreductqty = ""; // 09 가감수량
  49. var vPayflagcd = ""; // 10 급여구분코드 (코드정의서 M0029 참조)
  50. var vOproomcd = ""; // 11 수술실코드
  51. var vPrcpdd = ""; // 12 처방일자
  52. var vPrcpno = ""; // 13 처방일자별 일련번호
  53. var vPrcphistno = ""; // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  54. var vPid = ""; // 15 등록번호
  55. var vSaveqty = ""; // 16 변경Check 수량 (물품수량 + 가감수량)
  56. var vOutqty = ""; // 17 변경할 수량 (물품수량 + 가감수량)
  57. var vGoodengnm = ""; // 18 물품(처방)명
  58. var vGoodspec = ""; // 19 규격명
  59. var vProdcmpynm = ""; // 20 제조사
  60. var vGoodmodel = ""; // 21 모델
  61. var vDeliveunit = ""; // 22 단위
  62. var vOproomnm = ""; // 23 수술실명
  63. var vOproomdeptcd = ""; // 24 수술실부서코드
  64. var vRecflag = ""; // 25 U:수정,I:입력구분
  65. var vDelcheck = ""; // 26 삭제 CHECK
  66. var vDeleteyn = ""; // 27 삭제 여부
  67. var gRvStat = "4"; // 회복실 처방상태
  68. // --------------------------------------------------
  69. // Switch 속성변경 처리하는 함수
  70. // --------------------------------------------------
  71. function fSetSwitch() {
  72. if (SwFalg == 0) {
  73. SwFalg = 1;
  74. sw_ord.attribute("width" ) = "210";
  75. grp_ord.attribute("left" ) = "214"; //424 - 210
  76. grp_ord.attribute("width" ) = "976"; //766 + 210
  77. grp_search.attribute("left" ) = "215";
  78. grp_search.attribute("width" ) = "980";
  79. shp_round.attribute("width" ) = "980";
  80. grp_mgood.attribute("left" ) = "212";
  81. grp_mgood.attribute("width" ) = "982";
  82. grp_dgood.attribute("left" ) = "214";
  83. grp_dgood.attribute("width" ) = "973";
  84. } else {
  85. SwFalg = 0;
  86. sw_ord.attribute("width" ) = "420";
  87. grp_ord.attribute("left" ) = "424";
  88. grp_ord.attribute("width" ) = "766";
  89. grp_search.attribute("left" ) = "425";
  90. grp_search.attribute("width" ) = "770";
  91. shp_round.attribute("width" ) = "770";
  92. grp_mgood.attribute("left" ) = "422";
  93. grp_mgood.attribute("width" ) = "772";
  94. grp_dgood.attribute("left" ) = "424";
  95. grp_dgood.attribute("width" ) = "763";
  96. }
  97. }
  98. // --------------------------------------------------
  99. // 화면 Query 시 처리하는 함수
  100. // --------------------------------------------------
  101. function fQueryData() {
  102. //
  103. for (i = 1; i <= 5; i++) {
  104. model.removeNodeset(gPathNode[8]+"/"+tPathCart[i]);
  105. eval("grd_"+tNameCart[i]).refresh();
  106. }
  107. //
  108. fMmohoprsData_Read(); // 수술예약정보를 가져온다.
  109. fCartOrdData_Read(); // Case Cart 처방내역 조회
  110. // fGridColConrol();
  111. var CartStat = model.getValue("/root/init/WorkData/cond/cartstat");
  112. fButtonControl();
  113. }
  114. //---------------------------------------
  115. function fGridColConrol(){
  116. var sDelYn = "";
  117. var dGrid = "";
  118. // datagrid.cellstyle("background-color", 1, 1, 3, 3) = "#FFF000";
  119. // String name : 스타일 이름
  120. // Integer row1 : 셀들의 범위를 지정할 때 시작점이 될 좌상단 셀의 행 인덱스
  121. // Integer col1 : 셀들의 범위를 지정할 때 시작점이 될 좌상단 셀의 열 인덱스
  122. // [Integer row2] : 셀들의 범위를 지정할 때 끝점이 될 우하단 셀의 행 인덱스
  123. // [Integer col2] : 셀들의 범위를 지정할 때 끝점이 될 우하단 셀의 열 인덱스
  124. for (Idx = 1; Idx < 7; Idx++) {
  125. wCartPath = gPathNode[8]+"/"+tPathCart[Idx];
  126. dGrid = eval("grd_"+tNameCart[Idx]);
  127. sRowCnt = getNodesetCount(wCartPath);
  128. // --
  129. for (var i=1; i<= sRowCnt; i++) {
  130. sDelYn = model.getValue(wCartPath + "[" + (i) +"]/deleteyn" ); // 삭제구분
  131. dGrid.row = i;
  132. if (i == 1) {
  133. alert(dGrid.colAttribute(1, "disabled"));
  134. dGrid.colAttribute(1, "disabled" ) = "true";
  135. }
  136. } // End Of for (var i=1; i<= sRowCnt; i++)
  137. } // End Of for (Idx = 1; Idx < 7; Idx++) {
  138. } //--- End Of function fDataSave(pStat){
  139. // --------------------------------------------------
  140. // 화면 Query 시 처리하는 함수
  141. // --------------------------------------------------
  142. function fCheckCartGubn() {
  143. var CartStat = "";
  144. var sCartGubn = model.getValue("/root/init/WorkData/cond/cartgubn"); // Cart구분 O:수술, A:마취 , R:회복
  145. // alert(sCartGubn);
  146. if (sCartGubn == "O") {
  147. CartStat = model.getValue(gPathNode[6]+"/ccrtstat");
  148. if (CartStat == "") {
  149. CartStat = "1";
  150. model.setValue(gPathNode[6]+"/ccrtstat", "1");
  151. }
  152. } else if (sCartGubn == "A") {
  153. CartStat = model.getValue(gPathNode[6]+"/anstccrtstat");
  154. if (CartStat == "") {
  155. CartStat = "1";
  156. model.setValue(gPathNode[6]+"/anstccrtstat", "1");
  157. }
  158. } else if (sCartGubn == "R") {
  159. CartStat = gRvStat;
  160. if (CartStat == "") {
  161. CartStat = "4";
  162. gRvStat = "4";
  163. }
  164. }
  165. //
  166. cmb_cartstat.value = CartStat;
  167. cmb_cartstat.refresh();
  168. fButtonControl();
  169. for (i = 1; i <= 6; i++) {
  170. model.removeNodeset(gPathNode[8]+"/"+tPathCart[i]);
  171. }
  172. fCartOrdData_Read();
  173. }
  174. // --------------------------------------------------
  175. // Button 활성화 처리하는 함수
  176. // --------------------------------------------------
  177. function fButtonControl() {
  178. var CartStat = model.getValue("/root/init/WorkData/cond/cartstat");
  179. var opstatcd = model.getValue("/root/main/opPatlist/opPatInfo["+ grd_oprslist.row + "]/opstatcd");
  180. bbt_delete.disabled = "true"; // 삭제
  181. bbt_tSave.disabled = "true"; // 임시처방입력
  182. //btn_ersave.visible = false;
  183. //cmb_cartstat.attribute("visibility") ="visible";
  184. //cap_cartstat.attribute("visibility") ="visible" ;
  185. if (model.getValue("/root/init/WorkData/cond/cartgubn") != "O") {
  186. if( (CartStat != "-") && (CartStat != "") && (CartStat == "1" || CartStat == "2")&& (opstatcd < "40")) {
  187. bbt_delete.disabled = "false"; // 삭제
  188. bbt_tSave.disabled = "false"; //Cart List 저장
  189. }else {
  190. bbt_delete.visible = false; // 삭제
  191. // bbt_tSave.visible = false; //Cart List 저장
  192. // btn_ersave.visible = false; //응급수량저장
  193. }
  194. } else {
  195. if( (CartStat != "-") && (CartStat != "") && (CartStat == "1" || CartStat == "2")&&(opstatcd < "40")) {
  196. bbt_delete.disabled = "false"; // 삭제
  197. bbt_tSave.disabled = "false";
  198. }else {
  199. bbt_delete.visible = false; // 삭제
  200. // bbt_tSave.visible = false; //Cart List 저장
  201. // btn_ersave.visible = false; //응급수량저장
  202. }
  203. }
  204. model.setValue("/root/init/WorkData/cond/oldcartstat", CartStat);
  205. bbt_tSave.refresh(); // 임시처방입력
  206. }
  207. // --------------------------------------------------
  208. // 수술예약정보 가져오기
  209. // --------------------------------------------------
  210. function fMmohoprsData_Read() {
  211. model.removenode("/root/send");
  212. model.makeValue("/root/send/oprsrvno", model.getValue("/root/init/MmohoprsKey/oprsrvno")); // 수술예약(의뢰)번호 (년도 + 일련번호)
  213. model.makeValue("/root/send/ophistno", model.getValue("/root/init/MmohoprsKey/ophistno")); // 예약번호에따른이력번호
  214. model.makeValue("/root/send/ophistcd", model.getValue("/root/init/MmohoprsKey/ophistcd")); // 수술예약의이력코드
  215. submit("TRMNP01800"); // 수술예약정보를 가져온다.
  216. var oPath = "/root/main/MmohoprsLists/mmohoprslist";
  217. var sPatInfo = model.getValue(oPath+"/wardcd" ) + " " // 병동
  218. + model.getValue(oPath+"/roomcd" ) + " " // 병실
  219. + model.getValue(oPath+"/patname" ) + " " // 환자명
  220. + model.getValue(oPath+"/sa" ) + " " // SA
  221. + model.getValue(oPath+"/pid" ) ; // 등록번호
  222. var sPatInfo2= model.getValue(oPath+"/depthngnm" ) + " " // 진료과
  223. + model.getValue(oPath+"/oproomnm" ) + " " // 수술실명
  224. + model.getValue(oPath+"/perfdridnm" ) + " " // 집도의
  225. + model.getValue(oPath+"/opcdnm" ) ; // 수술명
  226. model.setValue("/root/init/MmohoprsKey/patinfo" ,sPatInfo);
  227. model.setValue("/root/init/MmohoprsKey/patinfo2",sPatInfo2);
  228. if( model.getValue("/root/init/querykey/cartgubn") == "O" ){//수술
  229. model.setValue("/root/init/WorkData/cond/cartstat", model.getValue(gPathNode[6]+"/ccrtstat"));
  230. }else {
  231. model.setValue("/root/init/WorkData/cond/cartstat", model.getValue(gPathNode[6]+"/anstccrtstat"));
  232. }
  233. //grp_search.refresh();
  234. //opt_patinfo.refresh();
  235. //opt_patinfo2.refresh();
  236. //cmb_cartstat.refresh();
  237. }
  238. // --------------------------------------------------
  239. // Case Cart 처방내역 조회
  240. // --------------------------------------------------
  241. function fCartOrdData_Read() {
  242. var TabCls = "C";
  243. // ----2007.11.20--Choi-------------------------------------
  244. // if (model.getValue("/root/init/WorkData/cond/cartstat") == "") {
  245. // alert("Cart 처방이 없습니다. 확인要!!!");
  246. // return;
  247. // } else if (model.getValue("/root/init/WorkData/cond/cartstat") == "1" || // 1 임시 Cart
  248. // model.getValue("/root/init/WorkData/cond/cartstat") == "2" ) { // 2 임시 저장, 3: 불출 ,4:임시처방, 5:처방확정, 9:불출
  249. // TabCls = "T";
  250. // }
  251. // ---------------------------------------------------------
  252. if (model.getValue("/root/init/WorkData/cond/cartstat") == "" ||
  253. model.getValue("/root/init/WorkData/cond/cartstat") == "-" ) {
  254. model.setValue("/root/init/WorkData/cond/cartstat","1");
  255. }
  256. //
  257. if (model.getValue("/root/init/WorkData/cond/cartstat") == "1" || // 1 임시 Cart
  258. model.getValue("/root/init/WorkData/cond/cartstat") == "2" ) { // 2 임시 저장, 3: 불출 ,4:임시처방, 5:처방확정, 9:불출
  259. TabCls = "T";
  260. }
  261. //
  262. model.removenode("/root/send");
  263. model.makeValue("/root/send/oprsrvno", model.getValue("/root/init/MmohoprsKey/oprsrvno")); // 수술예약(의뢰)번호 (년도 + 일련번호)
  264. model.makeValue("/root/send/cartgubn" , model.getValue("/root/init/WorkData/cond/cartgubn")); // Cart구분 O:수술, A:마취
  265. model.makeValue("/root/send/refflag" , model.getValue("/root/init/querykey/refflag")); // suture, supplies, sheet, glove
  266. submit("TRMNP03003"); // CaseCart처방내역 정보를 가져온다.
  267. // var iDrugCnt = getNodesetCount("/root/main/CartOrdData/ListDrug");
  268. ////2008-10-03 오후 11:21:49 taebum 약/주사 처방일 경우 확정 처방저장을 하였을 경우에만 용법을 read-only상태처리
  269. //var CartStat = model.getValue("/root/init/WorkData/cond/cartstat");
  270. //if(iDrugCnt > 0){
  271. // for(var i = 1; i <= iDrugCnt; i++ ){
  272. // if(grd_drug.valueMatrix(i,3) == "★"){
  273. // grd_drug.cellstyle("color", i, 3, i, 3) = "#FF0000";
  274. // }else if(grd_drug.valueMatrix(i,3) == "☆"){
  275. // grd_drug.cellstyle("color", i, 3, i, 3) = "#000000";
  276. // }else if(grd_drug.valueMatrix(i,3) == "●"){
  277. // grd_drug.cellstyle("color", i, 3, i, 3) = "#0000FF";
  278. // }else{
  279. // grd_drug.cellstyle("color", i, 3, i, 3) = "#000000";
  280. // }
  281. //
  282. // if(grd_drug.valueMatrix(i,2) == "X"){
  283. // grd_drug.isReadOnly(i, 0, i, 14) = true;
  284. // }else{
  285. // if(CartStat >= "5"){
  286. // grd_drug.isReadOnly(i, 0, i, 14) = false;
  287. // grd_drug.isReadOnly(i, 12) = true; //용법 read-only 처리
  288. // }
  289. // }
  290. // }
  291. // grd_drug.refresh();
  292. //}
  293. //2008-09-05 오후 8:38:53 taebum 삭제일 경우 disable 되도록 처리함.
  294. var iTmpCnt = getNodesetCount("/root/main/CartOrdData/ListSupplies");
  295. if(iTmpCnt > 0){
  296. for(var i = 1; i <= iTmpCnt; i++ ){
  297. if(grd_supplies.valueMatrix(i,2) == "★"){
  298. grd_supplies.cellstyle("color", i, 2, i, 2) = "#FF0000";
  299. }else if(grd_supplies.valueMatrix(i,2) == "☆"){
  300. grd_supplies.cellstyle("color", i, 2, i, 2) = "#000000";
  301. }else if(grd_supplies.valueMatrix(i,2) == "●"){
  302. grd_supplies.cellstyle("color", i, 2, i, 2) = "#0000FF";
  303. }else{
  304. grd_supplies.cellstyle("color", i, 2, i, 2) = "#000000";
  305. }
  306. // if(grd_supplies.valueMatrix(i,2) == "X"){
  307. // grd_supplies.isReadOnly(i, 0, i, 14) = true;
  308. // }else{
  309. // grd_supplies.isReadOnly(i, 0, i, 14) = false;
  310. // }
  311. }
  312. }
  313. //if(iTmpCnt > 0){
  314. // for(var i = 1; i <= iTmpCnt; i++ ){
  315. // if( model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/goodcls") == "1" ){
  316. // grd_supplies.rowstyle( i , "data", "background-color") = "#FFFFCC";
  317. // }else if( model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/goodcls") == "2" ){
  318. // grd_supplies.rowstyle( i , "data", "background-color") = "#DDFFCC";
  319. // }else if( model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/goodcls") == "7" ){
  320. // grd_supplies.rowstyle( i , "data", "background-color") = "#CAE9FC";
  321. // }else if( model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/goodcls") == "8" ){
  322. // grd_supplies.rowstyle( i , "data", "background-color") = "#E0FFFF";
  323. // }
  324. // grd_supplies.cellstyle("background-color", i, 10, i, 10) = "#E8D2FE";
  325. //
  326. //// if(grd_supplies.valueMatrix(i,2) == "X"){
  327. //// grd_supplies.isReadOnly(i, 0, i, 14) = true;
  328. //// }else{
  329. //// grd_supplies.isReadOnly(i, 0, i, 14) = false;
  330. //// }
  331. // }
  332. //}
  333. //2008-09-05 오후 8:38:53 taebum 삭제일 경우 disable 되도록 처리함.
  334. //iTmpCnt = getNodesetCount("/root/main/CartOrdData/ListDrug");
  335. //if(iTmpCnt > 0){
  336. // for(var i = 1; i <= iTmpCnt; i++ ){
  337. // if(grd_drug.valueMatrix(i,2) == "★"){
  338. // grd_drug.cellstyle("color", i, 2, i, 2) = "#FF0000";
  339. // }else if(grd_drug.valueMatrix(i,2) == "☆"){
  340. // grd_drug.cellstyle("color", i, 2, i, 2) = "#000000";
  341. // }else if(grd_drug.valueMatrix(i,2) == "●"){
  342. // grd_drug.cellstyle("color", i, 2, i, 2) = "#0000FF";
  343. // }else{
  344. // grd_drug.cellstyle("color", i, 2, i, 2) = "#000000";
  345. // }
  346. //
  347. // if(grd_drug.valueMatrix(i,2) == "X"){
  348. // grd_drug.isReadOnly(i, 0, i, 14) = true;
  349. // }else{
  350. // grd_drug.isReadOnly(i, 0, i, 14) = false;
  351. // }
  352. // }
  353. // grd_drug.refresh();
  354. //}
  355. //2008-09-05 오후 8:38:53 taebum 삭제일 경우 disable 되도록 처리함.
  356. //iTmpCnt = getNodesetCount("/root/main/CartOrdData/ListDiposit");
  357. //if(iTmpCnt > 0){
  358. // for(var i = 1; i <= iTmpCnt; i++ ){
  359. // if(grd_diposit.valueMatrix(i,2) == "★"){
  360. // grd_diposit.cellstyle("color", i, 2, i, 2) = "#FF0000";
  361. // }else if(grd_diposit.valueMatrix(i,2) == "☆"){
  362. // grd_diposit.cellstyle("color", i, 2, i, 2) = "#000000";
  363. // }else if(grd_diposit.valueMatrix(i,2) == "●"){
  364. // grd_diposit.cellstyle("color", i, 2, i, 2) = "#0000FF";
  365. // }else{
  366. // grd_diposit.cellstyle("color", i, 2, i, 2) = "#000000";
  367. // }
  368. //
  369. // //if(grd_diposit.valueMatrix(i,2) == "X"){
  370. // // grd_diposit.isReadOnly(i, 0, i, 14) = true;
  371. // //}else{
  372. // // grd_diposit.isReadOnly(i, 0, i, 14) = false;
  373. // //}
  374. // }
  375. // grd_diposit.refresh();
  376. //}
  377. ////2008-09-05 오후 8:38:53 taebum 삭제일 경우 disable 되도록 처리함.
  378. iTmpCnt = getNodesetCount("/root/main/CartOrdData/ListInstrument");
  379. if(iTmpCnt > 0){
  380. for(var i = 1; i <= iTmpCnt; i++ ){
  381. if(grd_instrument.valueMatrix(i,2) == "★"){
  382. grd_instrument.cellstyle("color", i, 2, i, 2) = "#FF0000";
  383. }else if(grd_instrument.valueMatrix(i,2) == "☆"){
  384. grd_instrument.cellstyle("color", i, 2, i, 2) = "#000000";
  385. }else if(grd_instrument.valueMatrix(i,2) == "●"){
  386. grd_instrument.cellstyle("color", i, 2, i, 2) = "#0000FF";
  387. }else{
  388. grd_instrument.cellstyle("color", i, 2, i, 2) = "#000000";
  389. }
  390. // if(grd_instrument.valueMatrix(i,2) == "X"){
  391. // grd_instrument.isReadOnly(i, 0, i, 14) = true;
  392. // }else{
  393. // grd_instrument.isReadOnly(i, 0, i, 14) = false;
  394. // }
  395. }
  396. }
  397. ////2008-09-05 오후 8:38:53 taebum 삭제일 경우 disable 되도록 처리함.
  398. iTmpCnt = getNodesetCount("/root/main/CartOrdData/ErListInstrument");
  399. if(iTmpCnt > 0){
  400. for(var i = 1; i <= iTmpCnt; i++ ){
  401. if(grd_erinstrument.valueMatrix(i,2) == "★"){
  402. grd_erinstrument.cellstyle("color", i, 2, i, 2) = "#FF0000";
  403. }else if(grd_erinstrument.valueMatrix(i,2) == "☆"){
  404. grd_erinstrument.cellstyle("color", i, 2, i, 2) = "#000000";
  405. }else if(grd_erinstrument.valueMatrix(i,2) == "●"){
  406. grd_erinstrument.cellstyle("color", i, 2, i, 2) = "#0000FF";
  407. }else{
  408. grd_erinstrument.cellstyle("color", i, 2, i, 2) = "#000000";
  409. }
  410. }
  411. }
  412. ////2008-09-05 오후 8:38:53 taebum 삭제일 경우 disable 되도록 처리함.
  413. iTmpCnt = getNodesetCount("/root/main/CartOrdData/ListCstList");
  414. if(iTmpCnt > 0){
  415. for(var i = 1; i <= iTmpCnt; i++ ){
  416. if(grd_opsupply.valueMatrix(i,2) == "★"){
  417. grd_opsupply.cellstyle("color", i, 2, i, 2) = "#FF0000";
  418. }else if(grd_opsupply.valueMatrix(i,2) == "☆"){
  419. grd_opsupply.cellstyle("color", i, 2, i, 2) = "#000000";
  420. }else if(grd_opsupply.valueMatrix(i,2) == "●"){
  421. grd_opsupply.cellstyle("color", i, 2, i, 2) = "#0000FF";
  422. }else{
  423. grd_opsupply.cellstyle("color", i, 2, i, 2) = "#000000";
  424. }
  425. // if(grd_opsupply.valueMatrix(i,2) == "X"){
  426. // grd_opsupply.isReadOnly(i, 0, i, 14) = true;
  427. // }else{
  428. // grd_opsupply.isReadOnly(i, 0, i, 14) = false;
  429. // }
  430. }
  431. }
  432. ////2008-09-05 오후 8:38:53 taebum 삭제일 경우 disable 되도록 처리함.
  433. iTmpCnt = getNodesetCount("/root/main/CartOrdData/ErListCstList");
  434. if(iTmpCnt > 0){
  435. for(var i = 1; i <= iTmpCnt; i++ ){
  436. if(grd_ercst.valueMatrix(i,2) == "★"){
  437. grd_ercst.cellstyle("color", i, 2, i, 2) = "#FF0000";
  438. }else if(grd_ercst.valueMatrix(i,2) == "☆"){
  439. grd_ercst.cellstyle("color", i, 2, i, 2) = "#000000";
  440. }else if(grd_ercst.valueMatrix(i,2) == "●"){
  441. grd_ercst.cellstyle("color", i, 2, i, 2) = "#0000FF";
  442. }else{
  443. grd_ercst.cellstyle("color", i, 2, i, 2) = "#000000";
  444. }
  445. }
  446. }
  447. model.refresh();
  448. }
  449. // --------------------------------------------------
  450. // 수술방별 안전재고와 재고량 내역 조회
  451. // --------------------------------------------------
  452. function fMnprdrugData_Read() {
  453. model.removenode("/root/send");
  454. model.makeValue("/root/send/instcd" , model.getValue("/root/init/instcd" )); // 기관코드
  455. model.makeValue("/root/send/goodcd" , model.getValue("/root/init/WorkData/InputGood/goodcd" )); // 물품코드
  456. model.makeValue("/root/send/allsizespecid", model.getValue("/root/init/WorkData/InputGood/allsizespecid" )); // ALLSIZE규격ID
  457. model.makeValue("/root/send/ordseq" , model.getValue("/root/init/WorkData/InputGood/ordseq" )); // 처방순번
  458. model.makeValue("/root/send/oprsrvno" , model.getValue(gPathNode[6] + "/oprsrvno")); // 수술예약(의뢰)번호
  459. // model.makeValue("/root/send/oproomcd" , model.getValue(gPathNode[6] + "/oproomcd")); // 수술방
  460. submit("TRMNP01802"); // 수술예약정보를 가져온다.
  461. var RoomData = fRoomQtyCheck();
  462. model.setValue("/root/init/WorkData/InputGood/roomdata",fRoomQtyCheck());
  463. out_roomdata.refresh();
  464. grd_roomcd.refresh();
  465. }
  466. //
  467. // 수술방별 안전재고와 재고량 내역 합하기
  468. //
  469. function fRoomQtyCheck(){
  470. var RoomDisp = "";
  471. var RoomData = "";
  472. var DrugPath = "/root/main/MnprdrugLists";
  473. var xNode = instance1.selectSingleNode(DrugPath+"/mnprdruglist");
  474. var nLen = 0;
  475. if (xNode != null) {
  476. nLen = (xNode.length == 0) ? 1 : xNode.length;
  477. }
  478. var dRoomCd = model.getValue(gPathNode[6] + "/oproomcd"); // 수술방
  479. var DrugNode = DrugPath + "/mnprdruglist";
  480. for (i = 1; i < nLen; i++) {
  481. if (model.getValue(DrugNode + "["+i+"]/oproomcd") == dRoomCd) {
  482. // model.setValue("/root/init/WorkData/InputGood/stocqty",model.getValue(DrugNode + "["+i+"]/stocqty"));
  483. model.removenode(DrugNode + "["+i+"]");
  484. } else {
  485. RoomDisp = model.getValue(DrugNode + "["+i+"]/oproomnm") + " ["
  486. + model.getValue(DrugNode + "["+i+"]/stocqty") + " / "
  487. + model.getValue(DrugNode + "["+i+"]/safestocqty") + "] " ;
  488. // model.setValue(DrugNode + "["+i+"]/dispnm", RoomDisp);
  489. RoomData += RoomDisp;
  490. }
  491. }
  492. return RoomData;
  493. }
  494. // 물품 추가 Check
  495. function fCopyGood(pCls, pIdx){
  496. var sIdx = 1;
  497. var DataList = "/mnphcagolist" + "*"
  498. + "/orddeptcd" + "*"
  499. + "/mmbhppdslist" ;
  500. var dList = DataList.split("*") ;
  501. var GoodCd = "";
  502. var sNode = instance1.selectSingleNode(gPathNode[pIdx]);
  503. if (sNode == null) {
  504. messageBox("Cart물품이 ", "I004");
  505. return;
  506. }
  507. var nIdx = sNode.childNodes.length;
  508. var cNode = gPathNode[pIdx] + dList[pIdx];
  509. for (n = 1; n <= nIdx; n++) {
  510. CagoNode = cNode + "["+ n + "]";
  511. GoodCd = model.getValue(CagoNode +"/goodcd" );
  512. sIdx = model.getValue(CagoNode +"/goodcls" );
  513. if (sIdx == "") {
  514. sIdx = 1;
  515. }
  516. if (fCheckGoodCd(sIdx, GoodCd)) {
  517. GoodNode = "/root/init/WorkData/"+tPathCart[sIdx];
  518. if (pCls == "C") {
  519. if (model.getValue(CagoNode+"/fcheck")=="true") {
  520. fNodeDuplicate(sIdx, GoodNode, CagoNode, GoodCopy);
  521. eval("grd_"+tNameCart[sIdx]).refresh();
  522. }
  523. } else {
  524. fNodeDuplicate(sIdx, GoodNode, CagoNode, GoodCopy);
  525. eval("grd_"+tNameCart[sIdx]).refresh();
  526. }
  527. }
  528. } // -- End Of for (n = 1; n <= nIdx; n++) --
  529. }
  530. //
  531. // 물품 중복 Check
  532. //
  533. function fCheckGoodCd(cIdx, pGood){
  534. var GoodCd = "";
  535. var GoodChk = true;
  536. // model.setValue("/root/init/WorkData/InputGood/goodidx", "");
  537. iCartNode = gPathNode[8]+"/"+tPathCart[cIdx];
  538. iNode = instance1.selectSingleNode(iCartNode);
  539. if (iNode == null) {
  540. return GoodChk;
  541. }
  542. //
  543. var iLen = (iNode.length == 0) ? 1 : iNode.length;
  544. for (i = 1; i <= iLen; i++) {
  545. GoodCd = model.getValue(iCartNode + "["+i+"]/goodcd");
  546. if (pGood == GoodCd) {
  547. GoodChk = false ;
  548. // model.setValue("/root/init/WorkData/InputGood/goodidx", i);
  549. break;
  550. }
  551. }
  552. return GoodChk;
  553. }
  554. // 물품 복사
  555. function fNodeDuplicate(pIdx, pGood, pCago, pCopy){
  556. var xNode = instance1.selectSingleNode(pGood);
  557. if (xNode == null) {
  558. model.makeNode(pGood );
  559. model.copyNode(pGood, pCopy);
  560. }
  561. var vOprsrvno = model.getValue(gPathNode[6] + "/oprsrvno" ); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  562. var vCartgubn = model.getValue("/root/init/WorkData/cond/cartgubn"); // 02 Cart구분 (O:수술,A:마취, R:회복)
  563. var vOrdseq = "" ; // 03 처방순번
  564. var vInstcd = model.getValue(gPathNode[6] +"/instcd" ); // 04 병원기관코드(코드정의서 Z0007 참조)
  565. var vGoodcd = model.getValue(pCago +"/goodcd" ); // 05 물품코드
  566. var vAllsizespecid = model.getValue(pCago +"/allsizespecid"); // 06 ALLSIZE규격ID
  567. var vGoodcls = model.getValue(pCago +"/goodcls" ); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  568. var vGoodqty = "0"; // 08 물품수량
  569. var vAddreductqty = model.getValue(pCago +"/goodqty" ); // 09 가감수량
  570. var vPayflagcd = model.getValue(pCago +"/payflagcd" ); // 10 급여구분코드 (코드정의서 M0029 참조)
  571. var vOproomcd = model.getValue(gPathNode[6] +"/oproomcd" ); // 11 수술실코드
  572. var vPrcpdd = "" ; // 12 처방일자
  573. var vPrcpno = "" ; // 13 처방일자별 일련번호
  574. var vPrcphistno = "" ; // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  575. var vPid = model.getValue(gPathNode[6] + "/pid" ); // 15 등록번호
  576. var vSaveqty = "0"; // 16 변경Check 수량 (물품수량 + 가감수량)
  577. var vOutqty = model.getValue(pCago +"/goodqty" ); // 17 변경할 수량 (물품수량 + 가감수량)
  578. var vGoodengnm = model.getValue(pCago +"/goodengnm" ); // 18 물품(처방)명
  579. var vGoodspec = model.getValue(pCago +"/goodspec" ); // 19 규격명
  580. var vProdcmpynm = model.getValue(pCago +"/makernm" ); // 20 제조사
  581. var vGoodmodel = model.getValue(pCago +"/goodmodel" ); // 21 모델
  582. var vDeliveunit = model.getValue(pCago +"/deliveunit" ); // 22 단위
  583. var vOproomnm = model.getValue(gPathNode[6] +"/oproomnm" ); // 23 수술실명
  584. var vOproomdeptcd = model.getValue(gPathNode[6] +"/oproomdeptcd" ); // 24 수술실부서코드
  585. var vRecflag = "I" ; // 25 U:수정,I:입력구분
  586. var vRecflagnm = ""; // 26 추가구분명 추
  587. // 3070000000 : 수술
  588. if (vCartgubn == "A") {
  589. vOproomcd = "3073100000"; // 11 마취코드
  590. vOproomnm = "마취"; // 23 마취과명
  591. vOproomdeptcd = "3073100000"; // 24 마취부서코드
  592. } else if (vCartgubn == "R") {
  593. vOproomcd = "3073300000"; // 11 회복실코드
  594. vOproomnm = "회복실"; // 23 회복실명
  595. vOproomdeptcd = "3073300000"; // 24 회복실부서코드
  596. }
  597. //
  598. model.setValue(pGood + "/oprsrvno" , vOprsrvno ); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  599. model.setValue(pGood + "/cartgubn" , vCartgubn ); // 02 Cart구분 (O:수술,A:마취)
  600. model.setValue(pGood + "/ordseq" , vOrdseq ); // 03 처방순번
  601. model.setValue(pGood + "/instcd" , vInstcd ); // 04 병원기관코드(코드정의서 Z0007 참조)
  602. model.setValue(pGood + "/goodcd" , vGoodcd ); // 05 물품코드
  603. model.setValue(pGood + "/allsizespecid", vAllsizespecid ); // 06 ALLSIZE규격ID
  604. model.setValue(pGood + "/goodcls" , vGoodcls ); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  605. model.setValue(pGood + "/goodqty" , vGoodqty ); // 08 물품수량
  606. model.setValue(pGood + "/addreductqty" , vAddreductqty ); // 09 가감수량
  607. model.setValue(pGood + "/payflagcd" , vPayflagcd ); // 10 급여구분코드 (코드정의서 M0029 참조)
  608. model.setValue(pGood + "/oproomcd" , vOproomcd ); // 11 수술실코드
  609. model.setValue(pGood + "/prcpdd" , vPrcpdd ); // 12 처방일자
  610. model.setValue(pGood + "/prcpno" , vPrcpno ); // 13 처방일자별 일련번호
  611. model.setValue(pGood + "/prcphistno" , vPrcphistno ); // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  612. model.setValue(pGood + "/pid" , vPid ); // 15 등록번호
  613. model.setValue(pGood + "/saveqty" , vSaveqty ); // 16 변경Check 수량 (물품수량 + 가감수량)
  614. model.setValue(pGood + "/outqty" , vOutqty ); // 17 변경할 수량 (물품수량 + 가감수량)
  615. model.setValue(pGood + "/goodengnm" , vGoodengnm ); // 18 물품(처방)명
  616. model.setValue(pGood + "/goodspec" , vGoodspec ); // 19 규격명
  617. model.setValue(pGood + "/prodcmpynm" , vProdcmpynm ); // 20 제조사
  618. model.setValue(pGood + "/goodmodel" , vGoodmodel ); // 21 모델
  619. model.setValue(pGood + "/deliveunit" , vDeliveunit ); // 22 단위
  620. model.setValue(pGood + "/oproomnm" , vOproomnm ); // 23 수술실명
  621. model.setValue(pGood + "/oproomdeptcd" , vOproomdeptcd ); // 24 수술실부서코드
  622. model.setValue(pGood + "/recflag" , vRecflag ); // 25 U:수정,I:입력구분
  623. // model.setValue(pGood + "/recflagnm" , vRecflagnm ); // 26 추가구분명 추
  624. xNode = instance1.selectSingleNode(gPathNode[8]+"/"+tPathCart[pIdx]);
  625. if (xNode == null) {
  626. model.makeNode(gPathNode[8]+"/"+tPathCart[pIdx] );
  627. model.copyNode(gPathNode[8]+"/"+tPathCart[pIdx], pGood);
  628. } else {
  629. model.duplicate(gPathNode[8] , pGood);
  630. }
  631. }
  632. //
  633. // 물품 삭제
  634. //
  635. function fDeleteGood(){
  636. var sIdx = grd_good.row;
  637. if (sIdx < 1) {
  638. return;
  639. }
  640. var wCcrtNo = model.getValue("/root/init/WorkData/scond/ccrtno");
  641. fNodeDuplicate(sIdx, "D", wCcrtNo, gPathNode[0], gPathNode[3]);
  642. model.removeNodeset(gPathNode[0] + "/mnphcagolist["+sIdx+"]");
  643. grd_good.deleteRow(sIdx);
  644. }
  645. // 물품 UPDATE
  646. function fUpdateGood(){
  647. var sIdx = grd_good.row;
  648. if (sIdx < 1) {
  649. return;
  650. }
  651. model.setValue(gPathNode[0] + "/mnphcagolist["+sIdx+"]/goodqty",model.getValue("/root/init/WorkData/InputGood/goodqty"));
  652. if (model.getValue("/root/init/WorkData/InputGood/recstat") == "N") {
  653. model.setValue(gPathNode[0] + "/mnphcagolist["+sIdx+"]/recstat", "U");
  654. }
  655. grd_good.refresh();
  656. grd_good.row = sIdx;
  657. }
  658. function fOpCodePopup() {
  659. var xpos = event.screenX;
  660. var ypos = event.screenY-300;
  661. modal("SMMNP04460", 1, xpos, ypos);
  662. var iProperties = getParameter("SendData");
  663. var iSplit_Value = iProperties.split("|");
  664. if (iSplit_Value.length > 0) {
  665. model.setValue("/root/init/WorkData/InputGood/goodengnm", iSplit_Value[3]);
  666. model.setValue("/root/init/WorkData/InputGood/makernm" , iSplit_Value[6]);
  667. model.setValue("/root/init/WorkData/InputGood/sizecd" , iSplit_Value[4]);
  668. model.setValue("/root/init/WorkData/InputGood/goodcd" , iSplit_Value[0]);
  669. }
  670. }
  671. /*--------------------------------------------------*/
  672. /*type : function */
  673. /*access : public */
  674. /*desc : 불출수량저장 */
  675. /*param : */
  676. /*return : */
  677. /*--------------------------------------------------*/
  678. function fSave(pFlag) {
  679. var cnt = 0, chkflag, ordseq, goodcd, allsizespecid, deliveqty, undeliveqty, undeliveresn;
  680. var ctoslist = "m▦oprsrvno▦cartgubn▦ordseq▦goodcd▦allsizespecid▦deliveqty▦undeliveqty▦undeliveresn";
  681. var oprsrvno = model.getValue("/root/main/opPatlist/opPatInfo[" + grd_oprslist.row + "]/oprsrvno");
  682. var cartgubn = model.getValue("/root/init/querykey/cartgubn");
  683. if( pFlag == "E" ) {
  684. for(var j = 1; j <= grd_erinstrument.rows; j++) {//기구
  685. chkflag = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/chkflag");
  686. ordseq = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/ordseq");
  687. goodcd = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/goodcd");
  688. allsizespecid = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/allsizespecid");
  689. deliveqty = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/deliveqty");
  690. undeliveqty = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/undeliveqty");
  691. undeliveresn = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/undeliveresn");
  692. if( chkflag == "true" ) {
  693. cnt++;
  694. ctoslist = ctoslist + "▩" + pFlag + "▦" + oprsrvno + "▦" + cartgubn + "▦" + ordseq + "▦" + goodcd + "▦" + allsizespecid + "▦" + deliveqty
  695. + "▦" + undeliveqty + "▦" + undeliveresn;
  696. }
  697. }
  698. for(var k = 1; k <= grd_ercst.rows; k++) {//소모품
  699. chkflag = model.getValue("/root/main/CartOrdData/ErListCstList[" + k + "]/chkflag");
  700. ordseq = model.getValue("/root/main/CartOrdData/ErListCstList[" + k + "]/ordseq");
  701. goodcd = model.getValue("/root/main/CartOrdData/ErListCstList[" + k + "]/goodcd");
  702. allsizespecid = model.getValue("/root/main/CartOrdData/ErListCstList[" + k + "]/allsizespecid");
  703. deliveqty = model.getValue("/root/main/CartOrdData/ErListCstList[" + k + "]/deliveqty");
  704. undeliveqty = model.getValue("/root/main/CartOrdData/ErListCstList[" + k + "]/undeliveqty");
  705. undeliveresn = model.getValue("/root/main/CartOrdData/ErListCstList[" + k + "]/undeliveresn");
  706. if( chkflag == "true" ) {
  707. cnt++;
  708. ctoslist = ctoslist + "▩" + pFlag + "▦" + oprsrvno + "▦" + cartgubn + "▦" + ordseq + "▦" + goodcd + "▦" + allsizespecid + "▦" + deliveqty
  709. + "▦" + undeliveqty + "▦" + undeliveresn;
  710. }
  711. }
  712. for(var s = 1; s <= grd_erpad.rows; s++) {//린넨
  713. chkflag = model.getValue("/root/main/CartOrdData/ErListPad[" + s + "]/chkflag");
  714. ordseq = model.getValue("/root/main/CartOrdData/ErListPad[" + s + "]/ordseq");
  715. goodcd = model.getValue("/root/main/CartOrdData/ErListPad[" + s + "]/goodcd");
  716. allsizespecid = model.getValue("/root/main/CartOrdData/ErListPad[" + s + "]/allsizespecid");
  717. deliveqty = model.getValue("/root/main/CartOrdData/ErListPad[" + s + "]/deliveqty");
  718. undeliveqty = model.getValue("/root/main/CartOrdData/ErListPad[" + s + "]/undeliveqty");
  719. undeliveresn = model.getValue("/root/main/CartOrdData/ErListPad[" + s + "]/undeliveresn");
  720. if( chkflag == "true" ) {
  721. cnt++;
  722. ctoslist = ctoslist + "▩" + pFlag + "▦" + oprsrvno + "▦" + cartgubn + "▦" + ordseq + "▦" + goodcd + "▦" + allsizespecid + "▦" + deliveqty
  723. + "▦" + undeliveqty + "▦" + undeliveresn;
  724. }
  725. }
  726. }else {
  727. for(var i = 1; i <= grd_supplies.rows; i++) {//물품
  728. chkflag = model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/chkflag");
  729. ordseq = model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/ordseq");
  730. goodcd = model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/goodcd");
  731. allsizespecid = model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/allsizespecid");
  732. deliveqty = model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/deliveqty");
  733. undeliveqty = model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/undeliveqty");
  734. undeliveresn = model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/undeliveresn");
  735. if( chkflag == "true" ) {
  736. cnt++;
  737. ctoslist = ctoslist + "▩" + pFlag + "▦" + oprsrvno + "▦" + cartgubn + "▦" + ordseq + "▦" + goodcd + "▦" + allsizespecid + "▦" + deliveqty
  738. + "▦" + undeliveqty + "▦" + undeliveresn;
  739. }
  740. }
  741. for(var j = 1; j <= grd_instrument.rows; j++) {//기구
  742. chkflag = model.getValue("/root/main/CartOrdData/ListInstrument[" + j + "]/chkflag");
  743. ordseq = model.getValue("/root/main/CartOrdData/ListInstrument[" + j + "]/ordseq");
  744. goodcd = model.getValue("/root/main/CartOrdData/ListInstrument[" + j + "]/goodcd");
  745. allsizespecid = model.getValue("/root/main/CartOrdData/ListInstrument[" + j + "]/allsizespecid");
  746. deliveqty = model.getValue("/root/main/CartOrdData/ListInstrument[" + j + "]/deliveqty");
  747. undeliveqty = model.getValue("/root/main/CartOrdData/ListInstrument[" + j + "]/undeliveqty");
  748. undeliveresn = model.getValue("/root/main/CartOrdData/ListInstrument[" + j + "]/undeliveresn");
  749. if( chkflag == "true" ) {
  750. cnt++;
  751. ctoslist = ctoslist + "▩" + pFlag + "▦" + oprsrvno + "▦" + cartgubn + "▦" + ordseq + "▦" + goodcd + "▦" + allsizespecid + "▦" + deliveqty
  752. + "▦" + undeliveqty + "▦" + undeliveresn;
  753. }
  754. }
  755. for(var k = 1; k <= grd_opsupply.rows; k++) {//소모품
  756. chkflag = model.getValue("/root/main/CartOrdData/ListCstList[" + k + "]/chkflag");
  757. ordseq = model.getValue("/root/main/CartOrdData/ListCstList[" + k + "]/ordseq");
  758. goodcd = model.getValue("/root/main/CartOrdData/ListCstList[" + k + "]/goodcd");
  759. allsizespecid = model.getValue("/root/main/CartOrdData/ListCstList[" + k + "]/allsizespecid");
  760. deliveqty = model.getValue("/root/main/CartOrdData/ListCstList[" + k + "]/deliveqty");
  761. undeliveqty = model.getValue("/root/main/CartOrdData/ListCstList[" + k + "]/undeliveqty");
  762. undeliveresn = model.getValue("/root/main/CartOrdData/ListCstList[" + k + "]/undeliveresn");
  763. if( chkflag == "true" ) {
  764. cnt++;
  765. ctoslist = ctoslist + "▩" + pFlag + "▦" + oprsrvno + "▦" + cartgubn + "▦" + ordseq + "▦" + goodcd + "▦" + allsizespecid + "▦" + deliveqty
  766. + "▦" + undeliveqty + "▦" + undeliveresn;
  767. }
  768. }
  769. }
  770. if( cnt > 0 ) {
  771. model.removenode("/root/send");
  772. model.makeNode("/root/send/savedata");
  773. model.setValue("/root/send/savedata", ctoslist);
  774. submit("TXMNP03005");
  775. fCartDetailInfo("R");
  776. }else {
  777. messageBox("선택한것이", "I004");
  778. }
  779. }
  780. //
  781. // Cart 물품 저장
  782. //
  783. //---------------------------------------
  784. // 임시을 저장하는 함수
  785. //---------------------------------------
  786. /*function fSave(pStat){
  787. var WkGoodQty = ""; // 불출수량
  788. var WkOutQty = ""; // 변경수량
  789. var WkSaveQty = ""; // 변경전 수량 = 불출수량 + 증감수량
  790. var WkDelCheck = ""; // 삭제구분
  791. var WkOldAddQty = "0"; // 변경전증감수량
  792. var WkNewAddQty = "0"; // 변경후증감수량
  793. var SvOprsrvno = ""; // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  794. var SvCartgubn = ""; // 02 Cart구분 (O:수술,A:마취)
  795. var SvOrdseq = ""; // 03 처방순번
  796. var SvInstcd = ""; // 04 병원기관코드(코드정의서 Z0007 참조)
  797. var SvGoodcd = ""; // 05 물품코드
  798. var SvAllsizespecid = ""; // 06 ALLSIZE규격ID
  799. var SvGoodcls = ""; // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  800. var SvGoodqty = ""; // 08 물품수량
  801. var SvAddreductqty = ""; // 09 가감수량
  802. var SvPayflagcd = ""; // 10 급여구분코드 (코드정의서 M0029 참조)
  803. var SvOproomcd = ""; // 11 수술실코드
  804. var SvPrcpdd = ""; // 12 처방일자
  805. var SvPrcpno = ""; // 13 처방일자별 일련번호
  806. var SvPrcphistno = ""; // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  807. var SvPid = ""; // 15 등록번호
  808. var SvReqtabcls = ""; // 16 테이블구 T:임시처방, C: 확정처방
  809. var SvRecflag = ""; // 17 U:수정,I:입력, D:삭제 구분
  810. var sCartStat = "2"; // 1:임시,2:저장, 4:처방, 5:확정, 9:반납
  811. //
  812. var SubmitData = fTitleCreate();
  813. var SubmitCount = 0;
  814. var DataProcFalg = "N";
  815. SvReqtabcls = "T"; // 16 테이블구 T:임시처방, C: 확정처방
  816. // 수정 입력된 자료를 구성한다. ▣
  817. for (Idx = 1; Idx < 7; Idx++) {
  818. wCartPath = gPathNode[8]+"/"+tPathCart[Idx];
  819. sRowCnt = eval("grd_"+tNameCart[Idx]).rows - eval("grd_"+tNameCart[Idx]).fixedrows;
  820. // --
  821. for (var i=1; i<= sRowCnt; i++) {
  822. WkDelCheck = model.getValue(wCartPath + "[" + (i) +"]/delcheck" ); // 삭제구분
  823. WkGoodQty = model.getValue(wCartPath + "[" + (i) +"]/goodqty" ); // 불출수량
  824. WkSaveQty = model.getValue(wCartPath + "[" + (i) +"]/saveqty" ); // 변경전 수량 = 불출수량 + 증감수량
  825. WkOutQty = model.getValue(wCartPath + "[" + (i) +"]/outqty" ); // 변경수량
  826. SvRecflag = model.getValue(wCartPath + "[" + (i) +"]/recflag" ); // 17 U:수정,I:입력, D:삭제 구분
  827. //
  828. WkGoodQty = (WkGoodQty == "" ) ? "0" : WkGoodQty ; // 불출수량
  829. WkSaveQty = (WkSaveQty == "" ) ? "0" : WkSaveQty ; // 변경전 수량 = 불출수량 + 증감수량
  830. WkOutQty = (WkOutQty == "" ) ? "0" : WkOutQty ; // 변경수량
  831. //
  832. WkOldAddQty = parseFloat(WkSaveQty) - parseFloat(WkGoodQty) ; // 변경전증감수량
  833. WkNewAddQty = parseFloat(WkOutQty ) - parseFloat(WkGoodQty) ; // 변경후증감수량
  834. //
  835. DataProcFalg = "N";
  836. if (WkDelCheck == "true") { // 삭제구분
  837. if (pStat != "D") {
  838. alert("삭제 Check된 자료가 있습니다. 확인 바랍니다!!");
  839. return;
  840. }
  841. //
  842. if (SvRecflag != "I") {
  843. DataProcFalg = "Y";
  844. SvRecflag = "D" ; // U:수정,I:입력, D:삭제 구분
  845. }
  846. } else {
  847. //if (WkOldAddQty != WkNewAddQty) {
  848. DataProcFalg = "Y";
  849. //}
  850. }
  851. if (DataProcFalg == "Y") {
  852. SvOprsrvno = model.getValue(wCartPath + "[" + (i) +"]/oprsrvno" ); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  853. SvCartgubn = model.getValue(wCartPath + "[" + (i) +"]/cartgubn" ); // 02 Cart구분 (O:수술,A:마취)
  854. SvOrdseq = model.getValue(wCartPath + "[" + (i) +"]/ordseq" ); // 03 처방순번
  855. SvInstcd = model.getValue(wCartPath + "[" + (i) +"]/instcd" ); // 04 병원기관코드(코드정의서 Z0007 참조)
  856. SvGoodcd = model.getValue(wCartPath + "[" + (i) +"]/goodcd" ); // 05 물품코드
  857. SvAllsizespecid = model.getValue(wCartPath + "[" + (i) +"]/allsizespecid"); // 06 ALLSIZE규격ID
  858. SvGoodcls = model.getValue(wCartPath + "[" + (i) +"]/goodcls" ); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  859. SvGoodqty = WkOutQty ; // 08 물품수량
  860. SvAddreductqty = "0" ; // 09 가감수량
  861. SvPayflagcd = model.getValue(wCartPath + "[" + (i) +"]/payflagcd" ); // 10 급여구분코드 (코드정의서 M0029 참조)
  862. SvOproomcd = model.getValue(wCartPath + "[" + (i) +"]/oproomcd" ); // 11 수술실코드
  863. SubmitData += SvOprsrvno + "▦" // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  864. + SvCartgubn + "▦" // 02 Cart구분 (O:수술,A:마취)
  865. + SvOrdseq + "▦" // 03 처방순번
  866. + SvInstcd + "▦" // 04 병원기관코드(코드정의서 Z0007 참조)
  867. + SvGoodcd + "▦" // 05 물품코드
  868. + SvAllsizespecid + "▦" // 06 ALLSIZE규격ID
  869. + SvGoodcls + "▦" // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  870. + SvGoodqty + "▦" // 08 물품수량
  871. + SvAddreductqty + "▦" // 09 가감수량
  872. + SvPayflagcd + "▦" // 10 급여구분코드 (코드정의서 M0029 참조)
  873. + SvOproomcd + "▦" // 11 수술실코드
  874. + SvPrcpdd + "▦" // 12 처방일자
  875. + SvPrcpno + "▦" // 13 처방일자별 일련번호
  876. + SvPrcphistno + "▦" // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  877. + SvPid + "▦" // 15 등록번호
  878. + SvReqtabcls + "▦" // 16 테이블구 T:임시처방, C: 확정처방
  879. + SvRecflag + "▩"; // 17 U:수정,I:입력, D:삭제 구분
  880. SubmitCount++; // 수정 대상 건수
  881. }
  882. } // End Of for (var i=1; i<= sRowCnt; i++)
  883. } // End Of for (Idx = 1; Idx < 7; Idx++) {
  884. // 저장대상 자료가 없을 경우 Return한다.
  885. var Mmohoprslist = "instcd" + "▦" // 1 기관코드
  886. + "oprsrvno" + "▦" // 2 수술예약(의뢰)번호 (년도 + 일련번호)
  887. + "ophistno" + "▦" // 3 예약번호에따른이력번호
  888. + "ophistcd" + "▦" // 4 수술예약의이력코드
  889. + "cartgubn" + "▦" // 5 Cart구분 O:수술, A:마취
  890. + "cartstat" + "▦" // 6 Cart 1:임시,2:저장, 3:불출 ,4:처방, 5:확정, 9:반납
  891. + "procstat" + "▩" // 7 테이블구 T:임시처방, C: 확정처방
  892. + model.getValue(gPathNode[6]+"/instcd" ) + "▦" // 1 기관코드
  893. + model.getValue(gPathNode[6]+"/oprsrvno" ) + "▦" // 2 수술예약(의뢰)번호 (년도 + 일련번호)
  894. + model.getValue(gPathNode[6]+"/ophistno" ) + "▦" // 3 예약번호에따른이력번호
  895. + model.getValue(gPathNode[6]+"/ophistcd" ) + "▦" // 4 수술예약의이력코드
  896. + model.getValue("/root/init/WorkData/cond/cartgubn" ) + "▦" // 5 Cart구분 O:수술, A:마취
  897. + sCartStat + "▦" // 6 Cart 1:임시,2:저장, 3:불출 ,4:처방, 5:확정, 9:반납
  898. + "T" + "▩"; // 7 테이블구 T:임시처방, C: 확정처방
  899. // Summit Instance 생성
  900. model.removenode("/root/send");
  901. model.makeValue("/root/send/mnphccollist",SubmitData );
  902. model.makeValue("/root/send/mmohoprslist",Mmohoprslist);
  903. //
  904. if (SubmitCount < 1) {
  905. messageBox("수정(입력)된 자료가 ", "I004");
  906. return;
  907. }
  908. if (submit("TXMNP01800")){ // 정보저장
  909. model.setValue("/root/init/WorkData/cond/cartstat", sCartStat);
  910. // cmb_cartstat.refresh();
  911. if (pStat == "D") {
  912. messageBox("자료 삭제가", "I002");
  913. } else {
  914. messageBox("자료 저장이", "I002");
  915. }
  916. fOpDataQuery(); //스케쥴 조회
  917. fQueryData(); // Cart List 조회
  918. }
  919. } */ //--- End Of function fDataSave(pStat){
  920. //
  921. function fTitleCreate(){
  922. var TitleData = "oprsrvno" + "▦" // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  923. + "cartgubn" + "▦" // 02 Cart구분 (O:수술,A:마취)
  924. + "ordseq" + "▦" // 03 처방순번
  925. + "goodcd" + "▦" // 04 물품코드
  926. + "allsizespecid" + "▦" // 05 ALLSIZE규격ID
  927. + "goodcls" + "▦" // 06 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  928. + "goodqty" + "▦" // 07 물품수량
  929. + "deliveqty" + "▦" // 08 불출수량
  930. + "undeliveqty" + "▦" // 08 미불출수량
  931. + "payflagcd" + "▦" // 09 급여구분코드 (코드정의서 M0029 참조)
  932. + "oproomcd" + "▦" // 10 수술실코드
  933. + "pid" + "▦" // 14 등록번호
  934. + "recflag" + "▩"; // 16 U:수정,I:입력구분
  935. return TitleData;
  936. }
  937. function fDataConstruct(pPath, pGrid, pIdx) {
  938. var wData = "";
  939. var sRowCnt = pGrid.rows - pGrid.fixedrows;
  940. for (var i=1; i<= sRowCnt; i++) {
  941. wData += fDataConst(pPath, pIdx, i);
  942. if (wData != "") {
  943. ExCount++; // 수정 대상 건수
  944. }
  945. } // End Of for (var i=2; i<= sRowCnt; i++)
  946. return wData;
  947. }
  948. function fDataConst(pPath, pIdx, pNdx) {
  949. var cData = "";
  950. var GoodQty = model.getValue(pPath + "[" + (pNdx) +"]/goodqty" ); // 불출수량
  951. var AddreductQty = model.getValue(pPath + "[" + (pNdx) +"]/addreductqty"); // 증감수량 = 변경수량 - 불출수량
  952. var SaveQty = model.getValue(pPath + "[" + (pNdx) +"]/saveqty" ); // 변경전 수량 = 불출수량 + 증감수량
  953. var OutQty = model.getValue(pPath + "[" + (pNdx) +"]/outqty" ); // 변경수량
  954. GoodQty = (GoodQty == "" ) ? "0" : GoodQty ; // 불출수량
  955. AddreductQty = (AddreductQty == "" ) ? "0" : AddreductQty ; // 증감수량 = 변경수량 - 불출수량
  956. SaveQty = (SaveQty == "" ) ? "0" : SaveQty ; // 변경전 수량 = 불출수량 + 증감수량
  957. OutQty = (OutQty == "" ) ? "0" : OutQty ; // 변경수량
  958. // alert(pPath + "[" +(pNdx)+ "]/OutQty=SaveQty=>>"+OutQty+"!="+ SaveQty+"<<==");
  959. // if (parseFloat(SaveQty) != parseFloat(OutQty)) { --// 10/12 임시 막음
  960. AddreductQty = parseFloat(OutQty) - parseFloat(GoodQty); // 증감수량
  961. model.setValue(pPath + "[" +pNdx+"]/addreductqty", AddreductQty);
  962. var cOprsrvno = model.getValue(pPath + "[" + pNdx +"]/oprsrvno" ); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  963. var cCartgubn = model.getValue(pPath + "[" + pNdx +"]/cartgubn" ); // 02 Cart구분 (O:수술,A:마취,R:회복)
  964. var cOrdseq = model.getValue(pPath + "[" + pNdx +"]/ordseq" ); // 03 처방순번
  965. var cInstcd = model.getValue(pPath + "[" + pNdx +"]/instcd" ); // 04 병원기관코드(코드정의서 Z0007 참조)
  966. var cGoodcd = model.getValue(pPath + "[" + pNdx +"]/goodcd" ); // 05 물품코드
  967. var cAllsizespecid = model.getValue(pPath + "[" + pNdx +"]/allsizespecid"); // 06 ALLSIZE규격ID
  968. var cGoodcls = model.getValue(pPath + "[" + pNdx +"]/goodcls" ); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  969. var cGoodqty = model.getValue(pPath + "[" + pNdx +"]/goodqty" ); // 08 물품수량
  970. var cAddreductqty = model.getValue(pPath + "[" + pNdx +"]/addreductqty" ); // 09 가감수량
  971. var cPayflagcd = model.getValue(pPath + "[" + pNdx +"]/payflagcd" ); // 10 급여구분코드 (코드정의서 M0029 참조)
  972. var cOproomcd = model.getValue(pPath + "[" + pNdx +"]/oproomcd" ); // 11 수술실코드
  973. var cPrcpdd = model.getValue(pPath + "[" + pNdx +"]/prcpdd" ); // 12 처방일자
  974. var cPrcpno = model.getValue(pPath + "[" + pNdx +"]/prcpno" ); // 13 처방일자별 일련번호
  975. var cPrcphistno = model.getValue(pPath + "[" + pNdx +"]/prcphistno" ); // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  976. var cPid = model.getValue(pPath + "[" + pNdx +"]/pid" ); // 15 등록번호
  977. var cReqtabcls = "T"; // 16 테이블구 T:임시처방, C: 확정처방
  978. var cRecflag = model.getValue(pPath + "[" + pNdx +"]/recflag" ); // 17 U:수정,I:입력구분
  979. cGoodqty = OutQty; // 물품수량
  980. //--
  981. if (parseFloat(OutQty) == 0) { // U:수정, I:입력, D:삭제 구분
  982. cRecflag = "D▩";
  983. }
  984. //
  985. cData = cOprsrvno + "▦" // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  986. + cCartgubn + "▦" // 02 Cart구분 (O:수술,A:마취)
  987. + cOrdseq + "▦" // 03 처방순번
  988. + cInstcd + "▦" // 04 병원기관코드(코드정의서 Z0007 참조)
  989. + cGoodcd + "▦" // 05 물품코드
  990. + cAllsizespecid + "▦" // 06 ALLSIZE규격ID
  991. + cGoodcls + "▦" // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  992. + cGoodqty + "▦" // 08 물품수량
  993. + cAddreductqty + "▦" // 09 가감수량
  994. + cPayflagcd + "▦" // 10 급여구분코드 (코드정의서 M0029 참조)
  995. + cOproomcd + "▦" // 11 수술실코드
  996. + cPrcpdd + "▦" // 12 처방일자
  997. + cPrcpno + "▦" // 13 처방일자별 일련번호
  998. + cPrcphistno + "▦" // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  999. + cPid + "▦" // 15 등록번호
  1000. + cReqtabcls + "▦" // 16 테이블구 T:임시처방, C: 확정처방
  1001. + cRecflag + "▩"; // 17 U:수정,I:입력구분
  1002. //} // End Of if (parseFloat(SaveQty) != parseFloat(OutQty))
  1003. return cData;
  1004. }
  1005. //
  1006. // 물품코드 추가
  1007. //
  1008. function fAddGoodCode(){
  1009. var TotQty = 0.0;
  1010. var gPath = "/root/init/WorkData/InputGood" ;
  1011. var GoodCd = model.getValue(gPath +"/goodcd" );
  1012. var sIdx = model.getValue(gPath +"/cureflag" );
  1013. if (GoodCd == "") {
  1014. messageBox("물품을 ", "C001");
  1015. return;
  1016. }
  1017. if (sIdx == "") {
  1018. sIdx = 0;
  1019. }
  1020. //
  1021. var sOrdSeq = "0";
  1022. if (fCheckGoodCd(sIdx, GoodCd)) {
  1023. fAddGood(sIdx, sOrdSeq, TotQty);
  1024. }
  1025. //
  1026. eval("grd_"+tNameCart[sIdx]).refresh();
  1027. }
  1028. //
  1029. //
  1030. // 물품코드 추가
  1031. //
  1032. function fAddGood(pIdx, pOrdSeq, pQty, pRoom){
  1033. //---------
  1034. var gPath = "/root/init/WorkData/InputGood" ;
  1035. var gCls = model.getValue(gPath + "/goodcls");
  1036. var iCartNode = gPathNode[8] + "/" + tPathCart[gCls];
  1037. var GoodNode = "/root/init/WorkData/" + tPathCart[gCls];
  1038. var xNode = instance1.selectSingleNode(GoodNode);
  1039. if (xNode == null) {
  1040. model.makeNode(GoodNode );
  1041. model.copyNode(GoodNode, GoodCopy);
  1042. }
  1043. model.setValue(GoodNode + "/oprsrvno" , model.getValue(gPath + "/oprsrvno" )); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  1044. model.setValue(GoodNode + "/cartgubn" , model.getValue(gPath + "/cartgubn" )); // 02 Cart구분 (O:수술,A:마취)
  1045. model.setValue(GoodNode + "/ordseq" , model.getValue(gPath + "/ordseq" )); // 03 처방순번
  1046. model.setValue(GoodNode + "/instcd" , model.getValue(gPath + "/instcd" )); // 04 병원기관코드(코드정의서 Z0007 참조)
  1047. model.setValue(GoodNode + "/goodcd" , model.getValue(gPath + "/goodcd" )); // 05 물품코드
  1048. model.setValue(GoodNode + "/allsizespecid" , model.getValue(gPath + "/allsizespecid")); // 06 ALLSIZE규격ID
  1049. model.setValue(GoodNode + "/goodcls" , model.getValue(gPath + "/goodcls" )); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  1050. model.setValue(GoodNode + "/goodqty" , model.getValue(gPath + "/goodqty" )); // 08 물품수량
  1051. model.setValue(GoodNode + "/addreductqty" , model.getValue(gPath + "/addreductqty" )); // 09 가감수량
  1052. model.setValue(GoodNode + "/payflagcd" , model.getValue(gPath + "/payflagcd" )); // 10 급여구분코드 (코드정의서 M0029 참조)
  1053. model.setValue(GoodNode + "/oproomcd" , model.getValue(gPath + "/oproomcd" )); // 11 수술실코드
  1054. model.setValue(GoodNode + "/prcpdd" , model.getValue(gPath + "/prcpdd" )); // 12 처방일자
  1055. model.setValue(GoodNode + "/prcpno" , model.getValue(gPath + "/prcpno" )); // 13 처방일자별 일련번호
  1056. model.setValue(GoodNode + "/prcphistno" , model.getValue(gPath + "/prcphistno" )); // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  1057. model.setValue(GoodNode + "/pid" , model.getValue(gPath + "/pid" )); // 15 등록번호
  1058. model.setValue(GoodNode + "/saveqty" , model.getValue(gPath + "/saveqty" )); // 16 변경Check 수량 (물품수량 + 가감수량)
  1059. model.setValue(GoodNode + "/outqty" , model.getValue(gPath + "/outqty" )); // 17 변경할 수량 (물품수량 + 가감수량)
  1060. model.setValue(GoodNode + "/goodengnm" , model.getValue(gPath + "/goodengnm" )); // 18 물품(처방)명
  1061. model.setValue(GoodNode + "/goodspec" , model.getValue(gPath + "/goodspec" )); // 19 규격명
  1062. model.setValue(GoodNode + "/prodcmpynm" , model.getValue(gPath + "/prodcmpynm" )); // 20 제조사
  1063. model.setValue(GoodNode + "/goodmodel" , model.getValue(gPath + "/goodmodel" )); // 21 모델
  1064. model.setValue(GoodNode + "/deliveunit" , model.getValue(gPath + "/deliveunit" )); // 22 단위
  1065. model.setValue(GoodNode + "/oproomnm" , model.getValue(gPath + "/oproomnm" )); // 23 수술실명
  1066. model.setValue(GoodNode + "/oproomdeptcd" , model.getValue(gPath + "/oproomdeptcd" )); // 24 수술실부서코드
  1067. model.setValue(GoodNode + "/recflag" , model.getValue(gPath + "/recflag" )); // 25 U:수정,I:입력구분
  1068. // model.setValue(GoodNode + "/recflagnm" , model.getValue(gPath + "/recflagnm" )); // 26 추가구분명 추
  1069. //
  1070. xNode = instance1.selectSingleNode(iCartNode);
  1071. if (xNode == null) {
  1072. model.makeNode(iCartNode );
  1073. model.copyNode(iCartNode , GoodNode);
  1074. } else {
  1075. model.duplicate(gPathNode[8], GoodNode);
  1076. }
  1077. eval("grd_"+tNameCart[gCls]).refresh();
  1078. }
  1079. // 물품코드 popup
  1080. function fGoodCodePopup() {
  1081. var xpos = event.screenX;
  1082. var ypos = event.screenY-300;
  1083. var xpos = 1;
  1084. var ypos = 1;
  1085. modal("SMMNP04460", 1, xpos, ypos);
  1086. var iProperties = getParameter("SendData");
  1087. //-------------------------------------------------------------------------
  1088. // iParam = iParam_goodcd +"|" 0 :: goodcd 물품코드
  1089. // + iParam_goodnm +"|" 1 :: goodnm 물품명
  1090. // + iParam_allsizespecid +"|" 2 :: allsizespecid SIZE
  1091. // + iParam_goodhngnm +"|" 3 :: goodhngnm 물품한글명
  1092. // + iParam_goodengnm +"|" 4 :: goodengnm 물품영문명
  1093. // + iParam_goodsize +"|" 5 :: allsizespecid SIZE
  1094. // + iParam_prodcmpycd +"|" 6 :: prodcmpycd 제조회사코드
  1095. // + iParam_prodcmpynm ; 7 :: prodcmpynm 제조회사
  1096. //-------------------------------------------------------------------------
  1097. var iSplit_Value = iProperties.split("|");
  1098. if (iSplit_Value.length > 0) {
  1099. var GoodNode = "/root/init/WorkData/InputGood";
  1100. model.setValue(GoodNode + "/goodcd" , iSplit_Value[0]); // 물품코드
  1101. model.setValue(GoodNode + "/goodengnm" , iSplit_Value[3]); // 물품명
  1102. model.setValue(GoodNode + "/goodspec" , iSplit_Value[5]); // 규격
  1103. model.setValue(GoodNode + "/makernm" , "" ); // 제조원
  1104. model.setValue(GoodNode + "/goodmodel" , "" ); // 모델
  1105. model.setValue(GoodNode + "/deliveunit" , "" ); // 단위
  1106. model.setValue(GoodNode + "/allsizespecid", iSplit_Value[2]); // SizeCode
  1107. inp_good.currentText = model.getValue(GoodNode + "/goodcd"); // 물품코드
  1108. fRscdgoodData_Read(); // 물품코드 상세 내역 조회
  1109. fMnprdrugData_Read(); // 수술방별 안전재고와 재고량 내역 조회
  1110. grp_good.refresh();
  1111. }
  1112. }
  1113. // 물품코드 popup
  1114. function fGoodFindPopup() {
  1115. var xpos = event.screenX;
  1116. var ypos = event.screenY-300;
  1117. var xpos = 1;
  1118. var ypos = 1;
  1119. // SPMNP01600_처방(물품)찾기.xrw
  1120. modal("SPMNP01600", 1, xpos, ypos); // SMMNP04460
  1121. var iProperties = getParameter("SendData");
  1122. var iParamData = iProperties.split("▩");
  1123. // iParamList += model.getValue(iNode + "[" + i + "]/" + wCode) + "|" // 00 처방코드
  1124. // + model.getValue(iNode + "[" + i + "]/" + wName) + "|" // 01 처방명
  1125. // + model.getValue(iNode + "[" + i + "]/allsizespecid")) + "|" // 02 사이즈
  1126. // + model.getValue(iNode + "[" + i + "]/prodcmpynm" )) + "|" // 03 제조회사명
  1127. // + model.getValue(iNode + "[" + i + "]/cureflag" )) + "|" // 04 처치구분
  1128. // + model.getValue(iNode + "[" + i + "]/goodspec" )) + "|" // 05 물품규격
  1129. // + model.getValue(iNode + "[" + i + "]/goodmodel" )) + "|" // 06 물품모델
  1130. // + "" + "▩"; // 07 처방단위 model.getValue(iNode + "[" + i + "]/prcpunit" ))
  1131. var sIdx = 0;
  1132. for (ii = 0; ii < iParamData.length; ii++) {
  1133. pData = iParamData[ii];
  1134. var iSplit_Value = pData.split("|");
  1135. if (iSplit_Value[0] != "") {
  1136. var GoodCd = iSplit_Value[0];
  1137. if (fCheckGoodCd(GoodCd)) {
  1138. sIdx = iSplit_Value[4];
  1139. if (sIdx == "") {
  1140. sIdx = 0;
  1141. }
  1142. var iCartNode = gPathNode[8]+"/"+tPathCart[sIdx] ;
  1143. var GoodNode = "/root/init/WorkData/"+tPathCart[sIdx];
  1144. var xNode = instance1.selectSingleNode(GoodNode);
  1145. if (xNode == null) {
  1146. model.makeNode(GoodNode );
  1147. model.copyNode(GoodNode, GoodCopy);
  1148. }
  1149. model.setValue(GoodNode + "/oprsrvno" , model.getValue(gPathNode[6] + "/oprsrvno" )); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  1150. model.setValue(GoodNode + "/cartgubn" , model.getValue("/root/init/WorkData/cond/cartgubn")); // 02 Cart구분 (O:수술,A:마취)
  1151. model.setValue(GoodNode + "/ordseq" , "" ); // 03 처방순번
  1152. model.setValue(GoodNode + "/instcd" , "" ); // 04 병원기관코드(코드정의서 Z0007 참조)
  1153. model.setValue(GoodNode + "/goodcd" , iSplit_Value[0] ); // 05 물품코드
  1154. model.setValue(GoodNode + "/allsizespecid", iSplit_Value[2] ); // 06 ALLSIZE규격ID
  1155. model.setValue(GoodNode + "/goodcls" , iSplit_Value[4] ); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  1156. model.setValue(GoodNode + "/goodqty" , "0" ); // 08 물품수량
  1157. model.setValue(GoodNode + "/addreductqty" , "0" ); // 09 가감수량
  1158. model.setValue(GoodNode + "/payflagcd" , "0" ); // 10 급여구분코드 (코드정의서 M0029 참조)
  1159. model.setValue(GoodNode + "/oproomcd" , model.getValue(gPathNode[6] + "/oproomcd" ) ); // 11 수술실코드
  1160. model.setValue(GoodNode + "/prcpdd" , "" ); // 12 처방일자
  1161. model.setValue(GoodNode + "/prcpno" , "" ); // 13 처방일자별 일련번호
  1162. model.setValue(GoodNode + "/prcphistno" , "" ); // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  1163. model.setValue(GoodNode + "/pid" , model.getValue(gPathNode[6] + "/pid" ) ); // 15 등록번호
  1164. model.setValue(GoodNode + "/saveqty" , "0" ); // 16 변경Check 수량 (물품수량 + 가감수량)
  1165. model.setValue(GoodNode + "/outqty" , "0" ); // 17 변경할 수량 (물품수량 + 가감수량)
  1166. model.setValue(GoodNode + "/goodengnm" , iSplit_Value[1] ); // 18 물품(처방)명
  1167. model.setValue(GoodNode + "/goodspec" , iSplit_Value[5] ); // 19 규격명
  1168. model.setValue(GoodNode + "/prodcmpynm" , iSplit_Value[3] ); // 20 제조사
  1169. model.setValue(GoodNode + "/goodmodel" , iSplit_Value[6] ); // 21 모델
  1170. model.setValue(GoodNode + "/deliveunit" , iSplit_Value[7] ); // 22 단위
  1171. model.setValue(GoodNode + "/oproomnm" , model.getValue(gPathNode[6] +"/oproomnm" ) ); // 23 수술실명
  1172. model.setValue(GoodNode + "/oproomdeptcd" , model.getValue(gPathNode[6] +"/oproomdeptcd") ); // 24 수술실부서코드
  1173. model.setValue(GoodNode + "/recflag" , "I" ); // 25 U:수정,I:입력구분
  1174. // model.setValue(GoodNode + "/recflagnm" , "추" ); // 26 추가구분명 추
  1175. xNode = instance1.selectSingleNode(iCartNode);
  1176. if (xNode == null) {
  1177. model.makeNode(iCartNode );
  1178. model.copyNode(iCartNode , GoodNode);
  1179. } else {
  1180. model.duplicate(gPathNode[8], GoodNode);
  1181. }
  1182. // eval("grd_"+tNameCart[sIdx]).rowStyle(i, "data", "color") = "#ff00ff";
  1183. eval("grd_"+tNameCart[sIdx]).refresh();
  1184. }
  1185. }
  1186. }
  1187. }
  1188. // --------------------------------------------------
  1189. // Copy Cart Instance Clear
  1190. // --------------------------------------------------
  1191. function fClearCopyCart() {
  1192. model.setValue(GoodCopy + "/oprsrvno" , "" ); // 01 수술예약(의뢰)번호 (년도 + 일련번호)
  1193. model.setValue(GoodCopy + "/cartgubn" , "" ); // 02 Cart구분 (O:수술,A:마취)
  1194. model.setValue(GoodCopy + "/ordseq" , "" ); // 03 처방순번
  1195. model.setValue(GoodCopy + "/instcd" , "" ); // 04 병원기관코드(코드정의서 Z0007 참조)
  1196. model.setValue(GoodCopy + "/goodcd" , "" ); // 05 물품코드
  1197. model.setValue(GoodCopy + "/allsizespecid", "" ); // 06 ALLSIZE규격ID
  1198. model.setValue(GoodCopy + "/goodcls" , "" ); // 07 물품구분 1:Sutures,2:Supplies,3:Drug,4:Instrument,5:처치처방,6:수술소모품
  1199. model.setValue(GoodCopy + "/goodqty" , "" ); // 08 물품수량
  1200. model.setValue(GoodCopy + "/addreductqty" , "" ); // 09 가감수량
  1201. model.setValue(GoodCopy + "/payflagcd" , "" ); // 10 급여구분코드 (코드정의서 M0029 참조)
  1202. model.setValue(GoodCopy + "/oproomcd" , "" ); // 11 수술실코드
  1203. model.setValue(GoodCopy + "/prcpdd" , "" ); // 12 처방일자
  1204. model.setValue(GoodCopy + "/prcpno" , "" ); // 13 처방일자별 일련번호
  1205. model.setValue(GoodCopy + "/prcphistno" , "" ); // 14 처방이력생할때 마다 생성 (처방일자, 처방번호, 기관코드 기준)
  1206. model.setValue(GoodCopy + "/pid" , "" ); // 15 등록번호
  1207. model.setValue(GoodCopy + "/saveqty" , "" ); // 16 변경Check 수량 (물품수량 + 가감수량)
  1208. model.setValue(GoodCopy + "/outqty" , "" ); // 17 변경할 수량 (물품수량 + 가감수량)
  1209. model.setValue(GoodCopy + "/goodengnm" , "" ); // 18 물품(처방)명
  1210. model.setValue(GoodCopy + "/goodspec" , "" ); // 19 규격명
  1211. model.setValue(GoodCopy + "/prodcmpynm" , "" ); // 20 제조사
  1212. model.setValue(GoodCopy + "/goodmodel" , "" ); // 21 모델
  1213. model.setValue(GoodCopy + "/deliveunit" , "" ); // 22 단위
  1214. model.setValue(GoodCopy + "/oproomnm" , "" ); // 23 수술실명
  1215. model.setValue(GoodCopy + "/oproomdeptcd" , "" ); // 24 수술실부서코드
  1216. model.setValue(GoodCopy + "/recflag" , "" ); // 25 U:수정,I:입력구분
  1217. model.setValue(GoodCopy + "/delcheck" , "" ); // 26 삭제 CHECK
  1218. model.setValue(GoodCopy + "/deleteyn" , "" ); // 27 삭제 여부
  1219. }
  1220. // --------------------------------------------------
  1221. // 물품코드 상세 내역 조회
  1222. // --------------------------------------------------
  1223. function fRscdgoodData_Read() {
  1224. model.removenode("/root/send");
  1225. var sInstcd = model.getValue("/root/init/instcd" ); // 기관코드
  1226. var sGoodcd = model.getValue("/root/init/WorkData/InputGood/goodcd" ); // 물품코드
  1227. var sAllsizespecid = model.getValue("/root/init/WorkData/InputGood/allsizespecid"); // ALLSIZE규격ID
  1228. if (sGoodcd == "" ) {
  1229. return;
  1230. }
  1231. model.makeValue("/root/send/instcd" , sInstcd ); // 기관코드
  1232. model.makeValue("/root/send/goodcd" , sGoodcd ); // 물품코드
  1233. model.makeValue("/root/send/allsizespecid", sAllsizespecid); // ALLSIZE규격ID
  1234. if (submit("TRMNP01803")) { // 물품코드 상세 내역 조회
  1235. var GoodNode = "/root/init/WorkData/InputGood";
  1236. var RsGood = "root/main/MnprdrugLists/rscdgoodlist";
  1237. model.setValue(GoodNode + "/goodcd" , model.getValue(RsGood + "/goodcd" )); // 물품코드
  1238. model.setValue(GoodNode + "/allsizespecid", model.getValue(RsGood + "/allsizespecid" )); // ALLSIZE규격ID
  1239. model.setValue(GoodNode + "/goodengnm" , model.getValue(RsGood + "/goodhngnm" )); // 물품명
  1240. model.setValue(GoodNode + "/makernm" , model.getValue(RsGood + "/prodcmpynm" )); // 제조회사명
  1241. model.setValue(GoodNode + "/goodspec" , model.getValue(RsGood + "/goodspec" )); // 물품규격
  1242. model.setValue(GoodNode + "/goodmodel" , model.getValue(RsGood + "/goodmodel" )); // 모델
  1243. model.setValue(GoodNode + "/deliveunit" , model.getValue(RsGood + "/deliveunit" )); // 수불단위(R0039)
  1244. model.setValue(GoodNode + "/reuseyn" , model.getValue(RsGood + "/reuseyn" )); // -:None,1:재사용,2:분할사용
  1245. model.setValue(GoodNode + "/divusenvalqty", model.getValue(RsGood + "/divusenvalqty" )); // 분할사용수치
  1246. model.setValue(GoodNode + "/ordseq" , model.getValue(RsGood + "/cureflag" )); // 1:suture,2:supplies, 3:instrument, 4: drug 5:처치구분
  1247. fMnprdrugData_Read(); //수술방별 안전재고와 재고량 내역 조회
  1248. grp_good.refresh();
  1249. }
  1250. }
  1251. // --------------------------------------------------
  1252. // Switch 속성변경 처리하는 함수
  1253. // --------------------------------------------------
  1254. function fViewToggle(sToggle) {
  1255. if (sToggle == 0) {//늘리기
  1256. grp_hidden.attribute("visibility") ="visible" ;
  1257. //ln_grid.attribute("x2") = "1193";
  1258. //grd_oprslist.attribute("width") = "1193";
  1259. //grd_oprslist.attribute("height") = "619";
  1260. grd_oprslist.attribute("style") = "left:0px; top:30px; width:1193px; height:619px; ";
  1261. ln_grid.attribute("style") = "x1:0px; y1:26px; x2:1193px; y2:26px; ";
  1262. //sw_ord.attribute("width" ) = "1195";
  1263. sw_ord.attribute("style") = "left:0px; top:88px; width:1195px; height:651px; border-color:#c7a3cf; border-style:solid; ";
  1264. btn_cartlabelprnt.visible = true;
  1265. btn_detailprnt.visible = true;
  1266. btn_prntdelivecncl.visible = true;
  1267. btn_sumprnt.visible = true;
  1268. button57.attribute("style") = "left:375px; top:6px; width:16px; height:16px; ";
  1269. button58.attribute("style") = "left:395px; top:6px; width:16px; height:16px; ";
  1270. switch1.attribute("style") = "left:0px; top:26px; width:772px; height:639px; border-color:#c7a3cf; border-style:solid; ";
  1271. grd_supplies.attribute("style") = "left:0px; top:26px; width:771px; height:609px; ";
  1272. //20101114_KNUH_김병국_start
  1273. //grd_instrument.attribute("style") = "left:0px; top:26px; width:771px; height:379px; ";
  1274. //grd_pad.attribute("style") = "left:0px; top:26px; width:771px; height:379px; ";
  1275. //grd_opsupply.attribute("style") = "left:0px; top:26px; width:771px; height:379px; ";
  1276. grd_instrument.attribute("style") = "left:0px; top:26px; width:771px; height:609px; ";
  1277. grd_opsupply.attribute("style") = "left:0px; top:26px; width:771px; height:609px; ";
  1278. //20101114_KNUH_END
  1279. grp_ord.attribute("style") = "left:423px; top:70px; width:772px; height:675px; ";
  1280. grd_ercst.attribute("style") = "left:0px; top:429px; width:771px; height:205px; ";
  1281. grd_erinstrument.attribute("style") = "left:0px; top:429px; width:771px; height:205px; ";
  1282. //grd_erpad.attribute("style") = "left:0px; top:429px; width:771px; height:205px; ";
  1283. line1.attribute("style") = "x1:0px; y1:21px; x2:771px; y2:21px; ";
  1284. line2.attribute("style") = "x1:0px; y1:21px; x2:771px; y2:21px; ";
  1285. line3.attribute("style") = "x1:0px; y1:21px; x2:771px; y2:21px; ";//응급청구(기구)
  1286. line4.attribute("style") = "x1:0px; y1:21px; x2:771px; y2:21px; ";//응급청구(소모품)
  1287. //line5.attribute("style") = "x1:0px; y1:21px; x2:771px; y2:21px; ";//응급청구(PAD)
  1288. line7.attribute("style") = "x1:0px; y1:21px; x2:771px; y2:21px; ";
  1289. } else {//줄이기
  1290. grp_hidden.attribute("visibility") ="hidden" ;
  1291. btn_cartlabelprnt.visible = false;
  1292. btn_detailprnt.visible = false;
  1293. btn_prntdelivecncl.visible = false;
  1294. btn_sumprnt.visible = false;
  1295. button57.attribute("style") = "left:230px; top:6px; width:16px; height:16px; ";
  1296. button58.attribute("style") = "left:250px; top:6px; width:16px; height:16px; ";
  1297. //ln_grid.attribute("x2") = "270";
  1298. ln_grid.attribute("style") = "x1:0px; y1:26px; x2:265px; y2:26px; ";
  1299. sw_ord.attribute("style") = "left:0px; top:88px; width:270px; height:651px; border-color:#c7a3cf; border-style:solid; ";
  1300. grd_oprslist.attribute("style") = "left:0px; top:30px; width:265px; height:600px; ";
  1301. grp_ord.attribute("style") = "left:285px; top:70px; width:910px; height:665px; ";
  1302. switch1.attribute("style") = "left:0px; top:26px; width:910px; height:639px; border-color:#c7a3cf; border-style:solid; ";
  1303. grd_supplies.attribute("style") = "left:0px; top:26px; width:905px; height:609px; ";
  1304. //20101114_KNUH_김병국_start
  1305. //grd_instrument.attribute("style") = "left:0px; top:26px; width:905px; height:379px; ";
  1306. //grd_pad.attribute("style") = "left:0px; top:26px; width:905px; height:379px; ";
  1307. //grd_opsupply.attribute("style") = "left:0px; top:26px; width:905px; height:379px; ";
  1308. grd_instrument.attribute("style") = "left:0px; top:26px; width:905px; height:609px; ";
  1309. grd_opsupply.attribute("style") = "left:0px; top:26px; width:905px; height:609px; ";
  1310. //20101114_KNUH_END
  1311. grd_ercst.attribute("style") = "left:0px; top:429px; width:905px; height:205px; ";
  1312. grd_erinstrument.attribute("style") = "left:0px; top:429px; width:905px; height:205px; ";
  1313. //grd_erpad.attribute("style") = "left:0px; top:429px; width:905px; height:205px; ";
  1314. line1.attribute("style") = "x1:0px; y1:21px; x2:905px; y2:21px; ";//소모품
  1315. line2.attribute("style") = "x1:0px; y1:21px; x2:905px; y2:21px; ";//물품
  1316. line3.attribute("style") = "x1:0px; y1:21px; x2:905px; y2:21px; ";//응급청구(기구)
  1317. line4.attribute("style") = "x1:0px; y1:21px; x2:905px; y2:21px; ";//응급청구(소모품)
  1318. //line5.attribute("style") = "x1:0px; y1:21px; x2:905px; y2:21px; ";//응급청구(PAD)
  1319. line7.attribute("style") = "x1:0px; y1:21px; x2:905px; y2:21px; ";//기구
  1320. }
  1321. model.refresh();
  1322. }
  1323. /*--------------------------------------------------*/
  1324. /*type : function */
  1325. /*access : public */
  1326. /*desc : CSR 불출 */
  1327. /*param : */
  1328. /*return : */
  1329. /*--------------------------------------------------*/
  1330. function fDeliveSave(pFlag) {
  1331. var cnt = 0, chkflag, ordseq, goodcd, allsizespecid, deliveqty, undeliveqty, undeliveresn, goodcls, subqty;
  1332. var ctoslist = "m▦oprsrvno▦cartgubn▦ordseq▦goodcd▦allsizespecid▦deliveqty▦undeliveqty▦undeliveresn▦goodcls";
  1333. var oprsrvno = model.getValue("/root/main/opPatlist/opPatInfo[" + grd_oprslist.row + "]/oprsrvno");
  1334. var cartgubn = model.getValue("/root/init/querykey/cartgubn");
  1335. if( pFlag == "E" ) {
  1336. for(var j = 1; j <= grd_erinstrument.rows; j++) {//기구
  1337. chkflag = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/chkflag");
  1338. ordseq = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/ordseq");
  1339. goodcd = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/goodcd");
  1340. allsizespecid = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/allsizespecid");
  1341. deliveqty = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/deliveqty");
  1342. undeliveqty = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/undeliveqty");
  1343. undeliveresn = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/undeliveresn");
  1344. goodcls = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/goodcls");
  1345. subqty = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/subqty");
  1346. if( chkflag == "true" ) {
  1347. if( eval(subqty) < 1 ) {
  1348. messageBox(goodcd + " 이 물품이 현재 재고가 없어 불출할 수 없습니다.!", "E000");
  1349. return;
  1350. }
  1351. cnt++;
  1352. ctoslist = ctoslist + "▩" + pFlag + "▦" + oprsrvno + "▦" + cartgubn + "▦" + ordseq + "▦" + goodcd + "▦" + allsizespecid + "▦" + deliveqty
  1353. + "▦" + undeliveqty + "▦" + undeliveresn + "▦" + goodcls;
  1354. }
  1355. }
  1356. for(var k = 1; k <= grd_ercst.rows; k++) {//소모품
  1357. chkflag = model.getValue("/root/main/CartOrdData/ErListCstList[" + k + "]/chkflag");
  1358. ordseq = model.getValue("/root/main/CartOrdData/ErListCstList[" + k + "]/ordseq");
  1359. goodcd = model.getValue("/root/main/CartOrdData/ErListCstList[" + k + "]/goodcd");
  1360. allsizespecid = model.getValue("/root/main/CartOrdData/ErListCstList[" + k + "]/allsizespecid");
  1361. deliveqty = model.getValue("/root/main/CartOrdData/ErListCstList[" + k + "]/deliveqty");
  1362. undeliveqty = model.getValue("/root/main/CartOrdData/ErListCstList[" + k + "]/undeliveqty");
  1363. undeliveresn = model.getValue("/root/main/CartOrdData/ErListCstList[" + k + "]/undeliveresn");
  1364. goodcls = model.getValue("/root/main/CartOrdData/ErListCstList[" + k + "]/goodcls");
  1365. if( chkflag == "true" ) {
  1366. cnt++;
  1367. ctoslist = ctoslist + "▩" + pFlag + "▦" + oprsrvno + "▦" + cartgubn + "▦" + ordseq + "▦" + goodcd + "▦" + allsizespecid + "▦" + deliveqty
  1368. + "▦" + undeliveqty + "▦" + undeliveresn + "▦" + goodcls;
  1369. }
  1370. }
  1371. }else {
  1372. //for(var i = 1; i <= grd_supplies.rows; i++) {//물품
  1373. // chkflag = model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/chkflag");
  1374. // ordseq = model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/ordseq");
  1375. // goodcd = model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/goodcd");
  1376. // allsizespecid = model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/allsizespecid");
  1377. // deliveqty = model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/deliveqty");
  1378. // undeliveqty = model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/undeliveqty");
  1379. // undeliveresn = model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/undeliveresn");
  1380. // goodcls = model.getValue("/root/main/CartOrdData/ListSupplies[" + i + "]/goodcls");
  1381. // if( chkflag == "true" ) {
  1382. // cnt++;
  1383. // ctoslist = ctoslist + "▩" + pFlag + "▦" + oprsrvno + "▦" + cartgubn + "▦" + ordseq + "▦" + goodcd + "▦" + allsizespecid + "▦" + deliveqty
  1384. // + "▦" + undeliveqty + "▦" + undeliveresn + "▦" + goodcls;
  1385. // }
  1386. //}
  1387. for(var j = 1; j <= grd_instrument.rows; j++) {//기구
  1388. chkflag = model.getValue("/root/main/CartOrdData/ListInstrument[" + j + "]/chkflag");
  1389. ordseq = model.getValue("/root/main/CartOrdData/ListInstrument[" + j + "]/ordseq");
  1390. goodcd = model.getValue("/root/main/CartOrdData/ListInstrument[" + j + "]/goodcd");
  1391. allsizespecid = model.getValue("/root/main/CartOrdData/ListInstrument[" + j + "]/allsizespecid");
  1392. deliveqty = model.getValue("/root/main/CartOrdData/ListInstrument[" + j + "]/deliveqty");
  1393. undeliveqty = model.getValue("/root/main/CartOrdData/ListInstrument[" + j + "]/undeliveqty");
  1394. undeliveresn = model.getValue("/root/main/CartOrdData/ListInstrument[" + j + "]/undeliveresn");
  1395. goodcls = model.getValue("/root/main/CartOrdData/ListInstrument[" + j + "]/goodcls");
  1396. subqty = model.getValue("/root/main/CartOrdData/ErListInstrument[" + j + "]/subqty");
  1397. if( chkflag == "true" ) {
  1398. if( eval(subqty) < 1 ) {
  1399. messageBox(goodcd + " 이 물품이 현재 재고가 없어 불출할 수 없습니다.!", "E000");
  1400. return;
  1401. }
  1402. cnt++;
  1403. ctoslist = ctoslist + "▩" + pFlag + "▦" + oprsrvno + "▦" + cartgubn + "▦" + ordseq + "▦" + goodcd + "▦" + allsizespecid + "▦" + deliveqty
  1404. + "▦" + undeliveqty + "▦" + undeliveresn + "▦" + goodcls;
  1405. }
  1406. }
  1407. for(var k = 1; k <= grd_opsupply.rows; k++) {//소모품
  1408. chkflag = model.getValue("/root/main/CartOrdData/ListCstList[" + k + "]/chkflag");
  1409. ordseq = model.getValue("/root/main/CartOrdData/ListCstList[" + k + "]/ordseq");
  1410. goodcd = model.getValue("/root/main/CartOrdData/ListCstList[" + k + "]/goodcd");
  1411. allsizespecid = model.getValue("/root/main/CartOrdData/ListCstList[" + k + "]/allsizespecid");
  1412. deliveqty = model.getValue("/root/main/CartOrdData/ListCstList[" + k + "]/deliveqty");
  1413. undeliveqty = model.getValue("/root/main/CartOrdData/ListCstList[" + k + "]/undeliveqty");
  1414. undeliveresn = model.getValue("/root/main/CartOrdData/ListCstList[" + k + "]/undeliveresn");
  1415. goodcls = model.getValue("/root/main/CartOrdData/ListCstList[" + k + "]/goodcls");
  1416. if( chkflag == "true" ) {
  1417. cnt++;
  1418. ctoslist = ctoslist + "▩" + pFlag + "▦" + oprsrvno + "▦" + cartgubn + "▦" + ordseq + "▦" + goodcd + "▦" + allsizespecid + "▦" + deliveqty
  1419. + "▦" + undeliveqty + "▦" + undeliveresn + "▦" + goodcls;
  1420. }
  1421. }
  1422. }
  1423. if( cnt > 0 ) {
  1424. model.removenode("/root/send");
  1425. model.makeNode("/root/send/savedata");
  1426. model.setValue("/root/send/savedata", ctoslist);
  1427. submit("TXMNP03007");
  1428. fCartDetailInfo("R");
  1429. }else {
  1430. messageBox("선택한것이", "I004");
  1431. }
  1432. }
  1433. /*--------------------------------------------------*/
  1434. /*type : function */
  1435. /*access : public */
  1436. /*desc : 일괄입력 */
  1437. /*param : */
  1438. /*return : */
  1439. /*--------------------------------------------------*/
  1440. function fInsertDeliveQty() {
  1441. //2009.09.14 K. J. M
  1442. //Instrument
  1443. for(var i = 1; i <= grd_instrument.rows; i++) {
  1444. var subqty = model.getValue("/root/main/CartOrdData/ListInstrument[" + i + "]/subqty"); //재고수량
  1445. var deliveqty = model.getValue("/root/main/CartOrdData/ListInstrument[" + i + "]/deliveqty"); //불출수량
  1446. var goodqty = model.getValue("/root/main/CartOrdData/ListInstrument[" + i + "]/goodqty"); //청구수량
  1447. if( eval(deliveqty) == 0||deliveqty == ""||deliveqty == null ) {//입력된 불출수량이 없을때 청구수량으로 셋팅
  1448. if( eval(goodqty) > eval(subqty) ) {
  1449. messageBox("재고수량보다 불출수량이 많을 수 없습니다.!", "E000");
  1450. return;
  1451. }else {
  1452. model.setValue("/root/main/CartOrdData/ListInstrument[" + i + "]/undeliveqty", parseInt(subqty)-parseInt(goodqty));
  1453. model.setValue("/root/main/CartOrdData/ListInstrument[" + i + "]/deliveqty", parseInt(goodqty));
  1454. }
  1455. }
  1456. }
  1457. //소모품
  1458. for(var i = 1; i <= grd_opsupply.rows; i++) {
  1459. var subqty = model.getValue("/root/main/CartOrdData/ListCstList[" + i + "]/subqty"); //재고수량
  1460. var deliveqty = model.getValue("/root/main/CartOrdData/ListCstList[" + i + "]/deliveqty"); //불출수량
  1461. var goodqty = model.getValue("/root/main/CartOrdData/ListCstList[" + i + "]/goodqty"); //청구수량
  1462. if( eval(deliveqty) == 0||deliveqty == ""||deliveqty == null ) {//입력된 불출수량이 없을때 청구수량으로 셋팅
  1463. if( eval(goodqty) > eval(subqty) ) {
  1464. messageBox("재고수량보다 불출수량이 많을 수 없습니다.!", "E000");
  1465. return;
  1466. }else {
  1467. model.setValue("/root/main/CartOrdData/ListCstList[" + i + "]/undeliveqty", parseInt(subqty)-parseInt(goodqty));
  1468. model.setValue("/root/main/CartOrdData/ListCstList[" + i + "]/deliveqty", parseInt(goodqty));
  1469. }
  1470. }
  1471. }
  1472. //린넨
  1473. for(var i = 1; i <= grd_pad.rows; i++) {
  1474. var subqty = model.getValue("/root/main/CartOrdData/ListPad[" + i + "]/subqty"); //재고수량
  1475. var deliveqty = model.getValue("/root/main/CartOrdData/ListPad[" + i + "]/deliveqty"); //불출수량
  1476. var goodqty = model.getValue("/root/main/CartOrdData/ListPad[" + i + "]/goodqty"); //청구수량
  1477. if( eval(deliveqty) == 0||deliveqty == ""||deliveqty == null ) {//입력된 불출수량이 없을때 청구수량으로 셋팅
  1478. if( eval(goodqty) > eval(subqty) ) {
  1479. messageBox("재고수량보다 불출수량이 많을 수 없습니다.!", "E000");
  1480. return;
  1481. }else {
  1482. model.setValue("/root/main/CartOrdData/ListPad[" + i + "]/undeliveqty", parseInt(subqty)-parseInt(goodqty));
  1483. model.setValue("/root/main/CartOrdData/ListPad[" + i + "]/deliveqty", parseInt(goodqty));
  1484. }
  1485. }
  1486. }
  1487. }
  1488. /* -------------------------------------------------*/
  1489. /* ---------------End Of List ----------------------*/
  1490. /* -------------------------------------------------*/