SMMNP01700.xjs 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/* ---------------------------------------------------------------------
  3. Cart 물품대체(SMMNP01700.xfm - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. : Create By Francis Choi
  7. : 2015.05.02
  8. ---------------------------------------------------------------------- */
  9. var ExCount = 0;
  10. var sPathTot = "/root/WorkData/codelist" ; // 전체
  11. var wPathNode = "ds_WorkData_codelists_codelist" ; // Save Cart Master
  12. var cPathNode = "/root/WorkData/MnphcagoLists"; // Save 물품 내역
  13. var ListPathM = "/root/MnphcagoLists" ;
  14. var ListPathC = "/root/CMnphcagoLists";
  15. var ListPathD = "/root/WorkData/DelMnphcagoLists";
  16. var tPathName = "ds_MnpmcartList_orddeptcd_codelist" + " " // 0 진료과
  17. + "ds_MnpmcartList_perfid_codelist" + " " // 1 집도의
  18. + "/root/MnpmcartList/opcd" + " " // 2 수술코드
  19. + "/root/MnpmcartList/lrgcdlist" + " " // 3 대분류
  20. + "/root/MnpmcartList/mdlcdlist" + " " // 4 중분류
  21. + "/root/MnpmcartList/smlcdlist" + " " // 5 중분류
  22. + "/root/MnphcagoLists/mnphcagolist" + " " // 6 물품
  23. + "ds_MnpmcartList_goodflaglist_codelist" ; // 7 물품분류
  24. var gPathName = "/root/MnphcagoLists" + " " // 0 Cart물품
  25. + "/root/CMnphcagoLists" ; // 1 Cart물품
  26. var PathClearNm = "ds_MnpmcartList_orddeptcd_codelist" + " " // 0 진료과
  27. + "ds_MnpmcartList_perfid_codelist" + " " // 1 집도의
  28. + "/root/MnpmcartList/opcd/codelist" + " " // 2 수술코드
  29. + "/root/MnpmcartList/lrgcdlist/codelist" + " " // 3 대분류
  30. + "/root/MnpmcartList/mdlcdlist/codelist" + " " // 4 중분류
  31. + "/root/MnphcagoLists/mnphcagolist" + " " // 5 물품
  32. + "ds_MnpmcartList_goodflaglist_codelist" + " " // 6 물품분류
  33. + "ds_main_MnpmcartData_MnpmcartList" + " " // 7 사용 Cart List
  34. + "ds_main_CMnpmcartData_MnpmcartList" + " " // 8 대상 Cart List
  35. + "ds_HistData_exedata_exedatalist" ; // 9 실행 대상 List
  36. var wRefreshDoc = "group3.cmb_orddept" + " " // 0 진료과
  37. + "group3.cmb_perfdr" + " " // 1 집도의
  38. + "cmb_opcd" + " " // 2 수술코드
  39. + "group3.grp_sea.cmb_lrgcd" + " " // 3 대분류
  40. + "group3.grp_sea.cmb_mdlcd" + " " // 4 중분류
  41. + "cmb_good" + " " // 5 물품
  42. + "group3.grp_sea.cmb_goodflag" + " " // 6 물품분류
  43. + "group3.grd_scart" + " " // 7 사용 Cart List
  44. + "group3.grd_tcart" + " " // 8 대상 Cart List
  45. + "group3.grd_exe" ; // 9 실행 대상 List
  46. var InsertMode = "I:추가" ; // 추가
  47. var UpdateMode = "U:대체" ; // 대체
  48. var DeleteMode = "D:삭제" ; // 삭제
  49. var tPathNode = tPathName.split(" ");
  50. var gPathNode = gPathName.split(" ");
  51. var wRefresh = wRefreshDoc.split(" ");
  52. var PathClear = PathClearNm.split(" ");
  53. /* ------------------------------------------------- */
  54. /* SMMNP01700_물품대체등록 */
  55. /* On Load 시 Call */
  56. /* ------------------------------------------------- */
  57. /* group : EMR 간호 수술마취 */
  58. /* ver : 2015.05.15 */
  59. /* by : 최학록 */
  60. /* --------------------------------------------------*/
  61. /* type : function */
  62. /* access : public */
  63. /* desc : xforms-ready시 수행한다 */
  64. /* return : */
  65. /* --------------------------------------------------*/
  66. function fFormInit() {
  67. ds_main_RscdgoodData_RscdgoodList.clearData();//물품리스트 reset
  68. ds_main_MnpmcartData_MnpmcartList.clearData();//사용cartlist reset
  69. ds_main_CMnpmcartData_MnpmcartList.clearData();//대상caertlist reset
  70. ds_HistData_exedata_exedatalist.clearData();//물품 추가/대체/삭제 실행대상 reset
  71. ds_HistData_qrydata_qrydatalist.clearData();//물품 추가/대체/삭제 변경이력 list reset
  72. group3.button56.visible = false;
  73. group3.button55.visible = false;
  74. group3.img1.visible = true; //변경대상 펼치기
  75. group3.img2.visible = false; //변경대상 닫기
  76. group3.group1.img3.visible = true; //변경이력 펼치기
  77. group3.group1.img4.visible = false; //변경이력 닫기
  78. group3.img5.visible = true; //집도의 수술명 펼치기
  79. group3.img6.visible = false; //집도의 수술명 닫기
  80. group3.img7.visible = true; //CART 추가/대체/삭제 물품 검색 펼치기
  81. group3.img8.visible = false; //CART 추가/대체/삭제 물품 검색 닫기
  82. fGoodGubunData_Read(7, group3.grp_sea.cmb_goodflag, 4 ); // 물품분류
  83. fMnpmcartData_Read( 0 , group3.cmb_orddept); // Cart Master
  84. var todd = utlf_getCurrentDate();
  85. group3.group1.inp_fromdd.value = todd; // 조회 from
  86. group3.group1.inp_todd.value = todd; // 조회 to
  87. group3.group1.rdo_useflag.value = 'A';
  88. group3.grd_scart.setRealColSize(group3.grd_scart.getBindCellIndex("body", "goodqty"), 0);
  89. group3.grd_tcart.setRealColSize(group3.grd_scart.getBindCellIndex("body", "goodqty"), 0);
  90. group3.rdo_copyflag.value = "1";
  91. }
  92. /* ----------------------------------------------------*/
  93. /* type : function */
  94. /* access : public */
  95. /* desc : cart구분이 변경될 때마다 조회조건 및 라벨을 변경 */
  96. /* 수술선택시는 집도의로, 마취선택시는 마취의로 변경*/
  97. /* param : */
  98. /* return : */
  99. /* ----------------------------------------------------*/
  100. function fsetCartGubn(){
  101. //구분이 마취일때는 진료과를 마취통증의학과로 setting
  102. //2090000000
  103. ds_main_MnpmcartData_MnpmcartList.clearData();//사용cart list 초기화
  104. ds_main_CMnpmcartData_MnpmcartList.clearData();//대상 cartlist 초기화
  105. ds_HistData_exedata_exedatalist.clearData();//물품추가/대체/삭제 실행대상 list 초기화
  106. ds_HistData_qrydata_qrydatalist.clearData();//물품 추가/대체/삭제 변경이력 list 초기화
  107. var cartgubn = ds_WorkData_cond.getColumn(0, "cartgubn");
  108. var cartgubnStr;
  109. if(cartgubn == 'A'){//마취
  110. //model.setValue('/root/WorkData/cond/orddept', '2090000000');
  111. //cmb_orddept.disabled = true;
  112. //마취통증의학과의 마취의 조회
  113. fRemoveNode(1);
  114. //fRemoveNode(2);
  115. ds_WorkData_cond.setColumn(0, "perfdr" ,"");
  116. ds_WorkData_cond.setColumn(0, "opcd" ,"");
  117. //model.setValue("/root/WorkData/cond/qryflag", "2" );
  118. //fMnpmcartData_Read(1, cmb_perfdr,"/root/WorkData/cond/orddept");
  119. //라벨변경
  120. cartgubnStr = '마취의';
  121. }else if(cartgubn == 'O'){//수술
  122. group3.cmb_orddept.enable = true;
  123. //라벨변경
  124. cartgubnStr = '집도의';
  125. }
  126. //라벨변경
  127. group3.cpt_1.text = cartgubnStr + '별 수술명 검색';
  128. group3.cpt_2.text = cartgubnStr;
  129. group3.grd_exe.setCellProperty("Head", 17, "text", cartgubnStr);
  130. group3.grd_exe.setCellProperty("Head", 19, "text", cartgubnStr);
  131. group3.group1.grd_hist.setCellProperty("Head", 9, "text", cartgubnStr);
  132. group3.group1.grd_hist.setCellProperty("Head", 11, "text", cartgubnStr);
  133. }
  134. /* --------------------------------------------------*/
  135. /* type : function */
  136. /* access : public */
  137. /* desc : 콤보아이템 제거 */
  138. /* param : */
  139. /* return : */
  140. /* --------------------------------------------------*/
  141. function removeComboItem( comboID ) {
  142. var comboObj = document.all.item(comboID);
  143. var comboItemNodeSet = comboObj.choices.itemset.attribute("nodeset");
  144. model.removenode(comboItemNodeSet + "[1]");
  145. model.refresh();
  146. }
  147. /* ------------------------------------------------- */
  148. /* SMMNP01700_물품등록 */
  149. /* On Load 시 Call */
  150. /* ------------------------------------------------- */
  151. /* group : EMR 간호 수술마취 */
  152. /* ver : 2015.05.15 */
  153. /* by : 최학록 */
  154. /* ------------------------------------------------- */
  155. /* SMMNP01700_Case Cart 물품 */
  156. /* On Load 시 Call */
  157. /* desc :Case Cart MASTER 정보 가져오기 */
  158. /* --------------------------------------------------*/
  159. function fMnpmcartData_Read(pIdx, pId, pDept, pDr ,pCcrtno ) {
  160. ds_send.clearData();
  161. ds_send.addRow();
  162. ds_send.setColumn(0, "orddeptcd" , pDept); // 진료과
  163. ds_send.setColumn(0, "perfid" , ""); // 집도의
  164. ds_send.setColumn(0, "ccrtno" , ""); // CaseCart 번호
  165. ds_send.setColumn(0, "useflag" , ds_WorkData_cond.getColumn(0, "useflag")); // 사용여부
  166. ds_send.setColumn(0, "qryflag" , ds_WorkData_cond.getColumn(0, "qryflag" )); // Query 구분 1:진료과,2:집도의,2:CART 코드
  167. ds_send.setColumn(0, "cartgubn" , ds_WorkData_cond.getColumn(0, "cartgubn" )); // cart 구분 O: 수술, A: 마취
  168. eval(PathClear[pIdx]).clearData();
  169. var oParam = {};
  170. oParam.id = "TRMNP01601";
  171. oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
  172. oParam.method = "reqGetCartDataList";
  173. oParam.inds = "req=ds_send";
  174. oParam.outds = "ds_WorkData_codelists_codelist=codelist";
  175. oParam.async = false;
  176. //oParam.callback = "cf_TRMNP01601";
  177. tranf_submit(oParam); // Cart MASTER 정보를 가져온다.
  178. eval(tPathNode[pIdx]).copyData(eval(wPathNode));
  179. if( pIdx == 2 ) return;
  180. frmf_addComboItem(wRefresh[pIdx], "전 체", "", "above" );
  181. eval(wRefresh[pIdx]).value = "";
  182. eval(wPathNode).clearData();
  183. //pId.refresh();
  184. }
  185. /* ------------------------------------------------- */
  186. /* SMMNP01700_물품등록 */
  187. /* ------------------------------------------------- */
  188. /* group : EMR 간호 수술마취 */
  189. /* ver : 2009.01.19 */
  190. /* by : 김진명 */
  191. /* ------------------------------------------------- */
  192. /* desc : 집도과, 집도의별 카트리스트 조회 */
  193. /* --------------------------------------------------*/
  194. function fSearchCartList() {
  195. ds_send.clearData();
  196. ds_send.addRow();
  197. ds_send.setColumn(0, "orddeptcd" , ds_WorkData_cond.getColumn(0, "orddept")); // 진료과
  198. ds_send.setColumn(0, "perfid" , ds_WorkData_cond.getColumn(0, "perfdr")); // 집도의
  199. ds_send.setColumn(0, "useflag" , "Y"); // 사용여부
  200. ds_send.setColumn(0, "cartgubn" , ds_WorkData_cond.getColumn(0, "cartgubn" )); // cart 구분 O: 수술, A: 마취
  201. ds_send.setColumn(0, "goodcd" , ds_WorkData_cond.getColumn(0, "goodcd" )); // cart 구분 O: 수술, A: 마취
  202. ds_send.setColumn(0, "allsizespecid" , ds_WorkData_cond.getColumn(0, "sizecd" )); // cart 구분 O: 수술, A: 마취
  203. var oParam = {};
  204. oParam.id = "TRMNP01704";
  205. oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
  206. oParam.method = "reqGetCartList";
  207. oParam.inds = "req=ds_send";
  208. oParam.outds = "ds_main_MnpmcartData_MnpmcartList=MnpmcartList";
  209. oParam.async = false;
  210. //oParam.callback = "cf_TRMNP01704";
  211. tranf_submit(oParam);
  212. }
  213. // -------------------------------------------------
  214. // SMMNP01700_물품 분류 READ
  215. // --------------------------------------------------
  216. function fGoodGubunData_Read(pIdx, pId, pRead, pGoodFlag, pLrgCd, pMdlCd) {
  217. ds_send.clearData();
  218. ds_send.addRow();
  219. ds_send.setColumn(0, "lrgcd" , ""); //대분류
  220. ds_send.setColumn(0, "mdlcd" , ""); //중분류
  221. ds_send.setColumn(0, "goodflag", ""); //물품구분
  222. ds_send.setColumn(0, "refnm" , "" ); //검색어
  223. ds_send.setColumn(0, "refflag" , "0" ); //검색구분
  224. ds_send.setColumn(0, "readcls" , pRead ); //검색Table
  225. var oParam = {};
  226. oParam.id = "TRMNP01700";
  227. oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
  228. oParam.method = "reqGetGoodGubunList";
  229. oParam.inds = "req=ds_send";
  230. oParam.outds = "ds_WorkData_codelists_codelist=codelist";
  231. oParam.async = false;
  232. //oParam.callback = "cf_TRMNP01700";
  233. tranf_submit(oParam); // 물품분류 정보를 가져온다.
  234. // model.duplicate(wPathNode , sPathTot);
  235. eval(tPathNode[pIdx]).copyData(eval(wPathNode));
  236. if (pIdx < 7) {
  237. //addComboItem(wRefresh[pIdx], "전 체", "", "above" );
  238. }
  239. // alert(wPathNode);
  240. eval(wPathNode).clearData();
  241. }
  242. // -------------------------------------------------
  243. // SMMNP01700_변경이력 READ
  244. // --------------------------------------------------
  245. function fCGHSData_Read() {
  246. ds_send.clearData();
  247. ds_send.addRow();
  248. ds_send.setColumn(0, "fromudd" , group3.group1.inp_fromdd.value ); //의뢰일자 from
  249. ds_send.setColumn(0, "toudd" , group3.group1.inp_todd.value ); //의뢰일자 to
  250. ds_send.setColumn(0, "updgbn" , group3.group1.rdo_useflag.value ); //변경구분
  251. var oParam = {};
  252. oParam.id = "TRMNP01703";
  253. oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
  254. oParam.method = "reqGetMnphcghsList";
  255. oParam.inds = "req=ds_send";
  256. oParam.outds = "ds_HistData_qrydata_qrydatalist=qrydatalist";
  257. oParam.async = false;
  258. //oParam.callback = "cf_TRMNP01703";
  259. tranf_submit(oParam); // 물품분류 정보를 가져온다.
  260. // cmb_goodflag.focusIndex = 0;
  261. //addComboItem(wRefresh[pIdx], "전 체", "", "above" );
  262. }
  263. // -------------------------------------------------
  264. // SMMNP01700_물품 정보 READ
  265. // --------------------------------------------------
  266. function fRscdgoodData_Read() {
  267. xPath = ds_WorkData_cond;
  268. if( utlf_isNull(ds_WorkData_cond.getColumn(0, "goodcd")) ) {//물품코드
  269. if( utlf_isNull(ds_WorkData_cond.getColumn(0, "goodnm")) ) {
  270. if( utlf_isNull(ds_WorkData_cond.getColumn(0, "goodflag")) ){
  271. sysf_messageBox(" 물품 구분은 " , "I003"); // 물품구분
  272. return;
  273. }else if( utlf_isNull(ds_WorkData_cond.getColumn(0, "lrgcd" )) ){
  274. sysf_messageBox(" 대분류 코드는 ", "I003"); // 대분류코드
  275. return;
  276. }else if( utlf_isNull(ds_WorkData_cond.getColumn(0, "mdlcd" )) ){
  277. sysf_messageBox(" 중분류 코드는 ", "I003"); // 중분류코드
  278. return;
  279. }
  280. }
  281. }
  282. ds_send.clearData();
  283. ds_send.addRow();
  284. ds_send.setColumn(0, "lrgcd" , ds_WorkData_cond.getColumn(0, "lrgcd" )); // 대분류코
  285. ds_send.setColumn(0, "mdlcd" , ds_WorkData_cond.getColumn(0, "mdlcd" )); // 중분류코
  286. ds_send.setColumn(0, "smlcd" , ds_WorkData_cond.getColumn(0, "smlcd" )); // 중분류코
  287. ds_send.setColumn(0, "goodcd" , ds_WorkData_cond.getColumn(0, "goodcd" )); // 물품코드
  288. ds_send.setColumn(0, "cartgubn" , ds_WorkData_cond.getColumn(0, "cartgubn" )); // CARTGUBN
  289. ds_send.setColumn(0, "goodflag", ds_WorkData_cond.getColumn(0, "goodflag")); // 물품구분
  290. var oParam = {};
  291. oParam.id = "TRMNP01701";
  292. oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
  293. oParam.method = "reqGetRscdgoodList";
  294. oParam.inds = "req=ds_send";
  295. oParam.outds = "ds_main_RscdgoodData_RscdgoodList=RscdgoodList";
  296. oParam.async = false;
  297. //oParam.callback = "cf_TRMNP01701";
  298. tranf_submit(oParam); // 물품 정보를 가져온다.
  299. ds_main_RscdgoodData_RscdgoodList.rowposition = -1;
  300. fRemoveNode(7); // 사용 Cart 리스트 초기화
  301. fRemoveNode(8); // 대상 리스트 초기화
  302. }
  303. // -------------------------------------------------
  304. // POPUP 물품 정보
  305. // --------------------------------------------------
  306. function fPopupGood(pPath, pGood, pGoodNm, pSizeCd, menuparam) {
  307. var refflag = ds_temp.getColumn(0, "refflag");
  308. frmf_setParameter("openflag", "STOC");
  309. if( refflag == "1" ) { /*물품명으로 검색*/
  310. frmf_setParameter("refnm", ds_main_cond.getColumn(0, "goodnm"));
  311. frmf_setParameter("refflag", "1");
  312. }else if( refflag == "2" ) { /*물품코드으로 검색*/
  313. frmf_setParameter("refnm", "CCR");
  314. frmf_setParameter("refflag", "2");
  315. }
  316. frmf_setParameter("tabflag", "CCR");
  317. frmf_setParameter("menuparam", menuparam);
  318. frmf_setParameter("cartgubn", ds_WorkData_cond.getColumn(0, "cartgubn"));
  319. frmf_modal("SMMNP04460","SMMNP04460",null,"",1,100,100,"","","","","","M");
  320. var getData = frmf_getParameter("SendData");//model.getValue("/root/properties/parameters/SendData/SendDatavalue");
  321. if( utlf_isNull(getData)) {
  322. return;
  323. }else {
  324. var getDataTemp1 = getData.split("▩");
  325. var getData = frmf_getParameter("SendData");//model.getValue("/root/properties/parameters/SendData/SendDatavalue");
  326. var getDataTemp = getData.split("|");
  327. pPath.setColumn(0, "goodcd" , getDataTemp[0]);
  328. pPath.setColumn(0, "goodnm" , getDataTemp[1]);
  329. pPath.setColumn(0, "sizecd" , getDataTemp[2]);
  330. pPath.setColumn(0, "goodspec" , getDataTemp[5]);
  331. pPath.setColumn(0, "goodmodel" , getDataTemp[6]);
  332. ds_WorkData_InputGood.setColumn(0, "goodqty", 0);
  333. if( utlf_isNull(pPath.getColumn(0, "goodcls")) ) {
  334. pPath.setColumn(0, "goodcls" , getDataTemp[4]);
  335. }
  336. }
  337. if( menuparam == "M" ) {//메인 물품 조회시만
  338. fRscdgoodData_Read();
  339. }
  340. }
  341. // -------------------------------------------------
  342. // SMMNP01700_사용 Cart List
  343. // --------------------------------------------------
  344. function fUseCartData_Read() {
  345. if(group3.grd_good.currentrow < 0){
  346. sysf_messageBox(" 물품정보를 " , "C002"); // 물품구분
  347. return;
  348. }else if(utlf_isNull(ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodcd"))){
  349. sysf_messageBox(" 물품정보를 " , "C002"); // 물품코드
  350. return;
  351. }
  352. ds_send.clearData();
  353. ds_send.addRow();
  354. ds_send.setColumn(0, "orddeptcd" , ds_WorkData_cond.getColumn(0, "orddept" )); // 진료과코드
  355. ds_send.setColumn(0, "perfid" , ds_WorkData_cond.getColumn(0, "perfdr" )); // 집도의ID
  356. ds_send.setColumn(0, "opcd" , ds_WorkData_cond.getColumn(0, "opcd" )); // 수술코드
  357. ds_send.setColumn(0, "goodcd" , ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodcd" )); // 물품코드
  358. ds_send.setColumn(0, "allsizespecid" , ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "allsizespecid" )); // SIZE
  359. var oParam = {};
  360. oParam.id = "TRMNP01702";
  361. oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
  362. oParam.method = "reqGetUseCartList";
  363. oParam.inds = "req=ds_send";
  364. oParam.outds = "ds_main_MnpmcartData_MnpmcartList=MnpmcartList";
  365. oParam.async = false;
  366. //oParam.callback = "cf_TRMNP01702";
  367. tranf_submit(oParam); // 물품 정보를 가져온다.
  368. fRemoveNode(8); // 물품 추가/대체/삭제 대상 리스트 초기화
  369. fRemoveNode(9); // 물품 추가/대체/삭제 실행대상 리스트 초기화
  370. if(group3.grd_good.currentrow > -1) {
  371. group3.grd_scart.setRealColSize(group3.grd_scart.getBindCellIndex("body", "goodqty"), group3.grd_scart.getFormatColProperty(group3.grd_scart.getBindCellIndex("body", "goodqty"), "size"));
  372. group3.grd_tcart.setRealColSize(group3.grd_tcart.getBindCellIndex("body", "goodqty"), group3.grd_tcart.getFormatColProperty(group3.grd_tcart.getBindCellIndex("body", "goodqty"), "size"));
  373. } else {
  374. group3.grd_scart.setRealColSize(group3.grd_scart.getBindCellIndex("body", "goodqty"), 0);
  375. group3.grd_tcart.setRealColSize(group3.grd_tcart.getBindCellIndex("body", "goodqty"), 0);
  376. }
  377. }
  378. // -------------------------------------------------
  379. // SMMNP01700_대상 Cart List를 실행대상으로 Move
  380. // --------------------------------------------------
  381. function fMove(pFlag,pSNode,pTNode) {
  382. //--------------- 1. 대상 Cart List를 실행대상 List로 이동
  383. if(group3.grd_tcart.rowcount < 0 ) return;
  384. var goodrow = group3.grd_good.currentrow;//selectedrow(0);
  385. var oldgoodcd = ds_main_RscdgoodData_RscdgoodList.getColumn(goodrow, "goodcd");
  386. var oldgoodhngnm = ds_main_RscdgoodData_RscdgoodList.getColumn(goodrow, "goodhngnm");
  387. var oldgoodspec = ds_main_RscdgoodData_RscdgoodList.getColumn(goodrow, "goodspec");
  388. var oldgoodmodel = ds_main_RscdgoodData_RscdgoodList.getColumn(goodrow, "goodmodel");
  389. var oldallsizespecid = ds_main_RscdgoodData_RscdgoodList.getColumn(goodrow, "allsizespecid");
  390. var newgoodhngnm = ds_WorkData_InputGood.getColumn(0, "goodnm");
  391. var newgoodspec = ds_WorkData_InputGood.getColumn(0, "goodspec");
  392. var newgoodmodel = ds_WorkData_InputGood.getColumn(0, "goodmodel");
  393. var newgoodcd = ds_WorkData_InputGood.getColumn(0, "goodcd");
  394. var newallsizespcid = ds_WorkData_InputGood.getColumn(0, "sizecd");
  395. var fromdd = ds_WorkData_InputGood.getColumn(0, "usedate");
  396. var goodcls = ds_WorkData_InputGood.getColumn(0, "goodcls");
  397. var arrFlag = pFlag.split(":");//저장 상태값(I:추가, U:대체, D:삭제)
  398. var goodqty = ds_WorkData_InputGood.getColumn(0, "goodqty");
  399. if( utlf_isNull(goodcls) ) {
  400. //goodcls = model.getValue("/root/main/RscdgoodData/RscdgoodList/goodcls");
  401. sysf_messageBox("물품 구분값이 없습니다. 물품을 다시 조회하십시오!", "I000");
  402. return;
  403. }
  404. if( arrFlag[0] == "I" ) {//추가일 경우 이전 정보 초기화
  405. if( (oldgoodcd == newgoodcd)&&(oldallsizespecid == newallsizespcid) ) {//추가일경우 이전 물품코드가 같을 경우 추가 할수 없음
  406. sysf_messageBox("추가하실 물품을 조회해 주십시요!", "I000");
  407. return;
  408. }
  409. oldgoodhngnm = "";
  410. oldgoodcd = "";
  411. oldallsizespecid = "";
  412. oldgoodspec = "";
  413. oldgoodmodel = "";
  414. if(utlf_isNull(goodqty) || goodqty == "0") {
  415. sysf_messageBox("추가할 물품의 수량을 입력하십시오. ", "E");
  416. return;
  417. }
  418. }
  419. var oldgoodname = oldgoodhngnm + "( " + oldgoodspec + ", " + oldgoodmodel + ")";
  420. if( utlf_isNull(oldgoodhngnm) && utlf_isNull(oldgoodspec) && utlf_isNull(oldgoodmodel) ) {//물품추가의 경우 빈값 셋팅
  421. oldgoodname = "";
  422. }
  423. var newgoodname = newgoodhngnm + "( " + newgoodspec + ", " + newgoodmodel + ")";
  424. if( (arrFlag[0] == "U")||(arrFlag[0] == "D") ) {
  425. if( utlf_isNull(oldgoodcd) ) {
  426. sysf_messageBox("물품대체나 물품삭제는 대상 물품을 선택하십시오!", "I000");
  427. return;
  428. }
  429. }
  430. ds_HistData_cond.setColumn(0, "updgbn", arrFlag[0]);
  431. for (var i = 0; i < group3.grd_tcart.rowcount; i++) {
  432. var pernm = pSNode.getColumn(i, "usernm");
  433. var wCheckYn = pSNode.getColumn(i, "checkyn");
  434. if (wCheckYn == "true") {
  435. ds_HistData_exedata_exedatalist.addRow();
  436. var j = group3.grd_exe.rowcount - 1 ;
  437. pTNode.setColumn(j, "recstat" , arrFlag[0]); // 변경구분
  438. pTNode.setColumn(j, "updflagnm" , arrFlag[1]); // 변경구분명
  439. pTNode.setColumn(j, "deptabbr" , pSNode.getColumn(i, "deptabbr")); // 집도과
  440. pTNode.setColumn(j, "perfnm" , pSNode.getColumn(i, "perfnm")); // 집도의
  441. pTNode.setColumn(j, "opkname" , pSNode.getColumn(i, "opkname")); // 수술명
  442. pTNode.setColumn(j, "bfgoodnm" , oldgoodname); // 변경전 물품명(규격,모델)
  443. if( arrFlag[0] == "I" ) {//추가일 경우 이전 정보 초기화
  444. pTNode.setColumn(j, "bfqty" , ""); // 변경전 수량
  445. }else {
  446. pTNode.setColumn(j, "bfqty" , pSNode.getColumn(i, "goodqty")); // 변경전 수량
  447. }
  448. pTNode.setColumn(j, "bfgoodcd" , oldgoodcd); // 변경전 물품코드
  449. pTNode.setColumn(j, "bfallsizespecid" , oldallsizespecid); // 변경전 allsize규격ID
  450. pTNode.setColumn(j, "ccrtno" , pSNode.getColumn(i, "ccrtno")); // CaseCart번호
  451. pTNode.setColumn(j, "cartgoodseq" , pSNode.getColumn(i, "cartgoodseq")); // Cart순번
  452. pTNode.setColumn(j, "fromdd" , fromdd); // 적용일자
  453. pTNode.setColumn(j, "goodcls" , goodcls); // 적용일자
  454. if (pFlag==InsertMode||pFlag==UpdateMode){
  455. pTNode.setColumn(j, "afgoodnm" , newgoodname); // 변경후 물품명(규격,모델)
  456. //if( pFlag == UpdateMode ) {
  457. //if( model.getValue("/root/WorkData/InputGood/goodqty") == "0" ) {
  458. // model.setValue(pTNode+"["+j+"]/afqty" , model.getValue(pSNode+"["+i+"]/goodqty")); // 대체 물품 수량이 0이면 기존 수량 그래로
  459. //}else {
  460. if(ds_WorkData_InputGood.getColumn(0, "copyflag") == "1") {
  461. pTNode.setColumn(j, "afqty" , ds_WorkData_InputGood.getColumn(0, "goodqty")); // 변경후 수량
  462. } else {
  463. pTNode.setColumn(j, "afqty" , pSNode.getColumn(i, "goodqty")); // 변경후 수량
  464. }
  465. //}
  466. // }
  467. pTNode.setColumn(j, "afgoodcd" , ds_WorkData_InputGood.getColumn(0, "goodcd")); // 변경후 물품코드
  468. pTNode.setColumn(j, "afallsizespecid" , ds_WorkData_InputGood.getColumn(0, "sizecd")); // 변경후 allsize규격ID
  469. }
  470. }
  471. }
  472. //--------------- 2. 대상 Cart List 내용 중 이동된 Cart 삭제
  473. //fRemoveNode(7);
  474. fRemoveCart(0, group3.grd_tcart.rowcount, ds_main_CMnpmcartData_MnpmcartList);
  475. }
  476. // -------------------------------------------------
  477. // SMMNP01700_물품 선택
  478. // --------------------------------------------------
  479. function fSelectGood() {
  480. if(group3.grd_good.currentrow < 0 ) return;
  481. if(utlf_isNull(ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodcd"))) return;
  482. ds_WorkData_InputGood.setColumn(0, "goodcd" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodcd"));
  483. ds_WorkData_InputGood.setColumn(0, "goodnm" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodhngnm"));
  484. ds_WorkData_InputGood.setColumn(0, "sizecd" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "sizecd"));
  485. ds_WorkData_InputGood.setColumn(0, "allsizespecid" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "allsizespecid"));
  486. ds_WorkData_InputGood.setColumn(0, "goodspec" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodspec"));
  487. ds_WorkData_InputGood.setColumn(0, "goodmodel" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodmodel"));
  488. ds_WorkData_InputGood.setColumn(0, "goodcls" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodcls"));
  489. ds_WorkData_InputGood.setColumn(0, "goodqty" ,"0");
  490. ds_WorkData_InputGood.setColumn(0, "usedate" ,utlf_getCurrentDate() );
  491. ds_WorkData_cond.setColumn(0, "sizecd" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "allsizespecid"));
  492. ds_WorkData_cond.setColumn(0, "goodnm" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodhngnm"));
  493. ds_WorkData_cond.setColumn(0, "goodcd" ,ds_main_RscdgoodData_RscdgoodList.getColumn(ds_main_RscdgoodData_RscdgoodList.rowposition, "goodcd"));
  494. group3.grd_scart.setRealColSize(group3.grd_scart.getBindCellIndex("body", "goodqty"), group3.grd_scart.getFormatColProperty(group3.grd_scart.getBindCellIndex("body", "goodqty"), "size"));
  495. group3.grd_tcart.setRealColSize(group3.grd_tcart.getBindCellIndex("body", "goodqty"), group3.grd_tcart.getFormatColProperty(group3.grd_tcart.getBindCellIndex("body", "goodqty"), "size"));
  496. // grd_scart.colHidden(grd_scart.colRef("goodqty")) = false;
  497. // grd_tcart.colHidden(grd_tcart.colRef("goodqty")) = false;
  498. }
  499. function fMnphcagoRead(pIdx, pId, pCcrtno, pCartGoodseq ) {
  500. model.removenode("/root/send");
  501. ds_send.setColumn(0, "ccrtno" , pCcrtno ); // CaseCart 번호
  502. ds_send.setColumn(0, "cartgoodseq" , pCartGoodseq ); // Cart물품순번
  503. ds_send.setColumn(0, "instcd" , ds_WorkData_cond.getColumn(0, "instcd" )); // 기관코드
  504. submit("TRMNP01602"); // Cart MASTER 정보를 가져온다.
  505. model.copyNode(gPathNode[pIdx] , cPathNode);
  506. pId.refresh();
  507. }
  508. // Grid 선택 / 취소
  509. function fGridCheckToggle(pGrid, pGridNode, pCheck, pValue){
  510. var wValue = "";
  511. // 그리드 이벤트가 발생하면 그리드에서 선택된 로우들의 index를 받아옴
  512. var iRow = pGrid.row; // Grid의 첫 선택 Row
  513. var sRow = pGrid.selectedRows; // 선택 Grid 수
  514. var eRow = pGrid.selectedRow(0); // Grid의 첫 선택 Row
  515. var tRow = pGrid.rows; // Grid의 전체수
  516. if (instance1.selectSingleNode(pGridNode).childNodes.length == 0) return;
  517. if (event.ctrlKey == 1) { // ctrlKey 를 누르고 row 선택시 각 그리드의 상태값 변경
  518. wValue = model.getValue(pGridNode+"/MnpmcartList["+pGrid.row+"]/"+pCheck );
  519. model.setValue(pGridNode+"/MnpmcartList["+pGrid.row+"]/"+pCheck,((wValue == pValue) ? "" : pValue));
  520. }
  521. else if (event.shiftKey == 1) { // shiftKey를 누르고 처음위치와 마지막 위치를 선택하면 선택된 row의 상태값이 변경
  522. fGridCheckClear(pGridNode,tRow, pCheck);
  523. if (iRow == eRow){
  524. fGridCheckSetting(pGridNode, iRow, iRow+sRow,pCheck, pValue);
  525. } else{
  526. fGridCheckSetting(pGridNode, eRow, iRow ,pCheck, pValue);
  527. }
  528. } else { // 마우스를 클릭한 상태에서 드래하면 처음 위치부터 마지막 위치까지 선택된 row의 상태값이 변경
  529. fGridCheckClear(pGridNode,tRow, pCheck);
  530. if (sRow == "1"){
  531. wValue = model.getValue(pGridNode+"/MnpmcartList["+pGrid.row+"]/"+pCheck );
  532. model.setValue(pGridNode+"/MnpmcartList["+pGrid.row+"]/"+pCheck ,((wValue == pValue) ? "" : pValue));
  533. } else {
  534. if (iRow == eRow){
  535. fGridCheckSetting(pGridNode, iRow, iRow+sRow-1, pCheck, pValue);
  536. }else{
  537. fGridCheckSetting(pGridNode, eRow, iRow , pCheck, pValue);
  538. }
  539. }
  540. }
  541. pGrid.refresh();
  542. }
  543. // Grid 전 선택값을 Clear 한다.
  544. function fGridCheckClear(pGNode, pRow, pCheck){
  545. // alert( pGNode);
  546. for(ii=1 ; ii < pRow ; ii++){
  547. model.setValue(pGNode+"/MnpmcartList["+ii+"]/"+pCheck , "");
  548. }
  549. }
  550. // Grid 전선택값을 Settting 한다.
  551. function fGridCheckSetting(pGNode, pSRow, pERow, pCheck, pVal){
  552. for (j = pSRow ; j <= pERow ; j++) {
  553. model.setValue(pGNode+"/MnpmcartList["+j+"]/"+pCheck , pVal);
  554. }
  555. }
  556. // 물품 추가 Check
  557. function fCopyCartData(pGrid, pSNode, pTNode, pCls){
  558. var frRow = 1;
  559. var toRow = parseInt(ds_main_MnpmcartData_MnpmcartList.rowcount);
  560. if (frRow < 1) return;
  561. if (toRow < 1) return;
  562. var wCheckYn = "";
  563. for( var iRow = 0; iRow < toRow; iRow++) {
  564. wCheckYn = ds_main_MnpmcartData_MnpmcartList.getColumn(iRow, "checkyn");
  565. if (wCheckYn == "true") {
  566. var nRow = pTNode.addRow();
  567. pTNode.copyRow(nRow, ds_main_MnpmcartData_MnpmcartList, iRow)
  568. }
  569. }
  570. for( var iRow = toRow-1 ; iRow >= 0; iRow--) {
  571. wCheckYn = ds_main_MnpmcartData_MnpmcartList.getColumn(iRow, "checkyn");
  572. if (wCheckYn == "true") {
  573. ds_main_MnpmcartData_MnpmcartList.deleteRow(iRow);
  574. }
  575. }
  576. //fRemoveCart(frRow, toRow, pSNode);
  577. }
  578. //
  579. // 물품 삭제
  580. //
  581. function fRemoveCart(pFIdx, pTIdx, pRNode){
  582. var wCnt = 0 ;
  583. var wIdx = pFIdx;
  584. while ( wCnt < pTIdx){
  585. if (pRNode.getColumn(wIdx, "checkyn") == "Y") {
  586. pRNode.deleteRow(wIdx);
  587. } else {
  588. wIdx++;
  589. }
  590. wCnt++;
  591. }
  592. }
  593. function fRemoveNode(pIdx){
  594. eval(PathClear[pIdx]).clearData();
  595. }
  596. // 물품 복사
  597. function fNodeDuplicate(pIdx, pStat, pCcrtno, sPath, tPath){
  598. model.setValue(sPath + "/mnphcagolist["+pIdx+"]/ccrtno" , pCcrtno);
  599. model.setValue(sPath + "/mnphcagolist["+pIdx+"]/recstat", pStat );
  600. model.duplicate(tPath, sPath+"/mnphcagolist["+pIdx+"]");
  601. }
  602. //
  603. // 물품 삭제
  604. //
  605. function fDeleteGood(){
  606. var sIdx = grd_good.row;
  607. if (sIdx < 1) {
  608. return;
  609. }
  610. var wCcrtNo = model.getValue("/root/WorkData/scond/ccrtno");
  611. fNodeDuplicate(sIdx, "D", wCcrtNo, ListPathM, ListPathD);
  612. model.removeNodeset(ListPathM + "/mnphcagolist["+sIdx+"]");
  613. grd_good.deleteRow(sIdx);
  614. }
  615. // 물품 UPDATE
  616. function fUpdateGood(){
  617. var sIdx = grd_good.row;
  618. if (sIdx < 1) {
  619. return;
  620. }
  621. model.setValue(ListPathM + "/mnphcagolist["+sIdx+"]/goodqty",ds_WorkData_InputGood.getColumn(0, "goodqty"));
  622. if (ds_WorkData_InputGood.getColumn(0, "recstat") == "N") {
  623. model.setValue(ListPathM + "/mnphcagolist["+sIdx+"]/recstat", "U");
  624. }
  625. grd_good.refresh();
  626. grd_good.row = sIdx;
  627. }
  628. //
  629. // 물품 중복 Check
  630. //
  631. function fCheckCode(pGood){
  632. var GoodCd = "";
  633. var GoodChk = true;
  634. var xNode = instance1.selectSingleNode(ListPathM);
  635. var nLen = xNode.childNodes.length;
  636. for (i = 1; i <= nLen; i++) {
  637. GoodCd = model.getValue(ListPathM + "/mnphcagolist["+i+"]/goodcd");
  638. if (pGood == GoodCd) {
  639. GoodChk = false ;
  640. break;
  641. }
  642. }
  643. return GoodChk;
  644. }
  645. function fOpCodePopup() {
  646. var xpos = event.screenX;
  647. var ypos = event.screenY-300;
  648. modal("SMMNP04460", 1, xpos, ypos);
  649. var iProperties = getParameter("SendData");
  650. var iSplit_Value = iProperties.split("|");
  651. if (iSplit_Value.length > 0) {
  652. ds_WorkData_InputGood.setColumn(0, "goodengnm", iSplit_Value[3]);
  653. ds_WorkData_InputGood.setColumn(0, "makernm" , iSplit_Value[6]);
  654. ds_WorkData_InputGood.setColumn(0, "sizecd" , iSplit_Value[4]);
  655. ds_WorkData_InputGood.setColumn(0, "goodcd" , iSplit_Value[0]);
  656. }
  657. }
  658. //
  659. // 물품수량 조절
  660. //
  661. function fPrevNext(flag){
  662. var curval = eval(inp_goodqty.value);
  663. if(flag=='P'&& curval >= 1.0 ){
  664. inp_goodqty.value = eval(inp_goodqty.value) - 1.0;
  665. }else if(flag=='N' && curval < 99999.0){
  666. inp_goodqty.value = eval(inp_goodqty.value) + 1.0;
  667. }
  668. }
  669. //
  670. // Cart 물품 저장
  671. //
  672. function fSave(){
  673. if(utlf_isNull(ds_HistData_exedata_exedatalist.getColumn(0, "updflagnm"))) return;
  674. ds_send.clearData();
  675. ds_send.addRow();
  676. var SaveData = "ccrtno" // 1 CaseCart 번호
  677. + "▦cartgoodseq" // 2 Cart물품순번
  678. + "▦afgoodcd" // 4 물품코드
  679. + "▦afallsizespecid" // 5 Size코드
  680. + "▦bfgoodcd" // 5 Size코드
  681. + "▦bfallsizespecid" // 5 Size코드
  682. + "▦afqty" // 6 물품수량
  683. + "▦goodcls" // 6 물품구분
  684. + "▦recstat" // 9 저장상태
  685. + "▦fromdd" // 8 적용일자
  686. + "▦cartgubn"
  687. + "▩" ; // 10 Record(Row) 분리기호
  688. // var SendData = "ccrtno" + "▦" + "recstat" + "▩";
  689. ExCount = 0;
  690. SaveData += fDataConstruct(ds_HistData_exedata_exedatalist);
  691. // SendData += fSendDataConstruct("/root/HistData/exedata");
  692. dsf_setCSVToDs("ds_send_mnphcagolist", SaveData);
  693. //model.makeValue("/root/send/senddata",SendData);
  694. if (ExCount > 0) {
  695. var oParam = {};
  696. oParam.id = "TXMNP01700";
  697. oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
  698. oParam.method = "reqExeMnphcagoChange";
  699. oParam.inds = "mnphcagolist=ds_send_mnphcagolist";
  700. oParam.outds = "";
  701. oParam.async = false;
  702. //oParam.callback = "cf_TXMNP01700";
  703. tranf_submit(oParam);
  704. fUseCartData_Read();
  705. }
  706. // 변경실행후 변경이력리스트 조회 (검색조건의 의뢰일자가 당일을 포함하는 경우)
  707. var today = utlf_getCurrentDate() ;
  708. if(group3.group1.inp_fromdd.value<=today && today<=group3.group1.inp_todd.value){
  709. fCGHSData_Read(); //Cart 물품 이력조회
  710. }
  711. fRemoveNode(8); // 대상 Cart List
  712. fRemoveNode(9); // 실행 대상 List
  713. }
  714. function fDataConstruct(pPath) {
  715. var sData = "";
  716. var sCond = "";
  717. //var xNode = instance1.selectSingleNode(pPath);
  718. var nLen = pPath.rowcount;//xNode.childNodes.length;
  719. var sCcrtno = "" ; // 1 CaseCart 번호
  720. var sCartgoodseq = "" ; // 2 Cart물품순번
  721. var sGoodcd = "" ; // 4 물품코드
  722. var sSizecd = "" ; // 5 Size코드
  723. var sOldGoodcd = "";
  724. var sOldAllsizespecid = "";
  725. var sGoodqty = "" ; // 6 물품수량
  726. var sGoodcls = "";
  727. var sPayflagcd = "" ; // 7 급여구분
  728. var sFromdd = "" ; // 8 적용일자
  729. var sRecstat = "" ; // 9 저장상태
  730. var sCartGubn = ds_WorkData_cond.getColumn(0, "cartgubn") ;
  731. for (var i = 0; i < nLen; i++) {
  732. sCcrtno = utlf_transNullToEmpty(pPath.getColumn(i, "ccrtno" ));
  733. sCartgoodseq = utlf_transNullToEmpty(pPath.getColumn(i, "cartgoodseq" ));
  734. sGoodcd = utlf_transNullToEmpty(pPath.getColumn(i, "afgoodcd"));
  735. sSizecd = utlf_transNullToEmpty(pPath.getColumn(i, "afallsizespecid"));
  736. sGoodqty = utlf_transNullToEmpty(pPath.getColumn(i, "afqty" ));
  737. sOldGoodcd = utlf_transNullToEmpty(pPath.getColumn(i, "bfgoodcd"));
  738. sOldAllsizespecid = utlf_transNullToEmpty(pPath.getColumn(i, "bfallsizespecid"));
  739. sGoodcls = utlf_transNullToEmpty(pPath.getColumn(i, "goodcls"));
  740. sFromdd = utlf_transNullToEmpty(pPath.getColumn(i, "fromdd"));
  741. sRecstat = utlf_transNullToEmpty(pPath.getColumn(i, "recstat"));
  742. sData += sCcrtno + "▦" // 1 CaseCart 번호
  743. + sCartgoodseq + "▦" // 2 Cart물품순번
  744. + sGoodcd + "▦" // 4 물품코드
  745. + sSizecd + "▦" // 5 Size코드
  746. + sOldGoodcd + "▦" // 4 물품코드
  747. + sOldAllsizespecid + "▦" // 5 Size코드
  748. + sGoodqty + "▦" // 6 물품수량
  749. + sGoodcls + "▦" // 7
  750. + sRecstat + "▦" // 8 저장상태
  751. + sFromdd + "▦" // 9 적용일자
  752. + sCartGubn + "▩"; // 10 수술마취구분
  753. ExCount++;
  754. }
  755. return sData;
  756. }
  757. /* ------------------------------------------------- */
  758. /* desc : 수술명 추가 */
  759. /* param : */
  760. /* */
  761. /* return : */
  762. /* -------------------------------------------------- */
  763. function fAddUseCartList() {
  764. ds_send.clearData();
  765. ds_send.addRow();
  766. ds_send.setColumn(0, "orddeptcd", ds_WorkData_cond.getColumn(0, "orddept"));
  767. ds_send.setColumn(0, "perfid", ds_WorkData_cond.getColumn(0, "perfdr"));
  768. ds_send.setColumn(0, "opcd", ds_WorkData_cond.getColumn(0, "opcd"));
  769. ds_send.setColumn(0, "opnm", ds_WorkData_cond.getColumn(0, "opnm"));
  770. var oParam = {};
  771. oParam.id = "TRMNP01704";
  772. oParam.service = "opanstapp.OpAnstCCrtGoodMngt";
  773. oParam.method = "reqGetCartList";
  774. oParam.inds = "req=ds_send";
  775. oParam.outds = "ds_main_MnpmcartData_MnpmcartList=MnpmcartList";
  776. oParam.async = false;
  777. //oParam.callback = "cf_TRMNP01704";
  778. tranf_submit(oParam);
  779. group3.grd_scart.setRealColSize(group3.grd_scart.getBindCellIndex("body", "goodqty"), 0);
  780. group3.grd_tcart.setRealColSize(group3.grd_scart.getBindCellIndex("body", "goodqty"), 0);
  781. }
  782. /* ------------------------------------------------- */
  783. /* ------End Of List ------------------------------- */
  784. /* -------------------------------------------------- */
  785. ]]></Script>