SMMNP03002.js 93 KB

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