SMADT00600.xjs 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  3. * System Name : KNUH2.0
  4. * Job Name : EMR
  5. * Creator :
  6. * Make Date : 2015-09-23
  7. * Description :
  8. *---------------------------------------------------------------------------------------
  9. * Modify Date Modifier Modify Description
  10. *---------------------------------------------------------------------------------------
  11. * 2015-09-23 TF->XP
  12. *
  13. *---------------------------------------------------------------------------------------
  14. ****************************************************************************************/
  15. /****************************************************************************************
  16. * Argument : N/A
  17. * Description : 초기화
  18. ****************************************************************************************/
  19. function fInit() {
  20. var ioflag = "";
  21. ioflag = frmf_getMenuParam();
  22. if(utlf_isNull(ioflag)) {ioflag = "I";}
  23. ds_temp_srchinfo.setColumn(0,"ioflag",ioflag);
  24. // 날짜 초기화
  25. ds_temp_srchinfo.setColumn(0,"prcpdd", utlf_getCurrentDate());
  26. ds_temp_srchinfo.setColumn(0,"prcptodd", utlf_getCurrentDate());
  27. //model.setValue("/root/temp/srchinfo/ioflag", "I");
  28. ds_temp_srchinfo.setColumn(0,"spclflag", "M");
  29. ds_temp_srchinfo.setColumn(0,"chk_spclflag","");
  30. fChgIOFlag();
  31. // 내외용약,주사 전체 체크
  32. group2.checkbox7.value = "A";
  33. fChgDrugkindFlagAll();
  34. //로그인 사용자 셋팅
  35. var userid = sysf_getUserId();
  36. ds_temp_srchinfo.setColumn(0,"userid", userid);
  37. fGetUserInfo();
  38. // ========================== 수행부서 Combo 조회===========================
  39. //병동 Combo 조회
  40. dsf_createDsRow("ds_send_srchcond", [{col: "deptflag", type:"string", size:256, val:"W"}]);
  41. var oParam = {};
  42. oParam.id = "TRADT30401";
  43. oParam.service = "pharmacyprescriptionapp.Narcotics";
  44. oParam.method = "reqGetNursSrchList";
  45. oParam.inds = "req=ds_send_srchcond";
  46. oParam.outds = "ds_temp_srchcond_dept=dept";
  47. oParam.async = false;
  48. //oParam.callback = "cf_TRADT30401";
  49. tranf_submit(oParam);
  50. dsf_addDsItem(ds_temp_srchcond_dept, "deptnm", "deptcd", null, "- 전 체 -", "above" );
  51. // 반환 출고부서 2009.11.17 pymi
  52. var dutplceinstcd = sysf_getUserInfo("dutplceinstcd");
  53. var oParam = {};
  54. oParam.id = "TRADT01106";
  55. oParam.service = "pharmacyprescriptionapp.DrugPrint";
  56. oParam.method = "reqGetMisDeptlist";
  57. oParam.inds = "";
  58. oParam.outds = "ds_init_misdeptlist_deptlist=deptlist";
  59. oParam.async = false;
  60. //oParam.callback = "cf_TRADT01106";
  61. tranf_submit(oParam);
  62. var setNum = 0;
  63. if(frmf_getMenuParam() == "O") {
  64. ds_temp_srchinfo.setColumn(0,"eflag", "Y"); // 2009.12.03 외래일때 default
  65. if(utlf_isNull(frmf_getMenuParam())) setNum = 0;
  66. else {
  67. // 20101021_laboru_경북대병원_실출고부서 셋팅
  68. // var dutplceinstcd = sysf_getUserInfo("dutplceinstcd");
  69. if(dutplceinstcd == "031") {
  70. setNum = 1;
  71. } else if(dutplceinstcd == "032") {
  72. setNum = 0;
  73. } else {
  74. setNum = 1;
  75. }
  76. }
  77. } else if(frmf_getMenuParam() == "I") {
  78. group1.caption12.visible = true;
  79. // 20101021_laboru_경북대병원_실출고부서 셋팅
  80. setNum = 0;
  81. } else { // 20111207_특수조제실 일때
  82. setNum = 2;
  83. group1.caption12.visible = true;
  84. ds_temp_srchinfo.setColumn(0,"chk_spclflag" , "Y");
  85. ds_temp_srchinfo.setColumn(0,"spclflag" , "S");
  86. }
  87. group3.combo3.index = setNum;
  88. //1일기준인지 1회기준인지 체크하여 컬럼을 hidden
  89. var colHidnValue = lf_grdBaseColHidn("D");
  90. //1회 기준
  91. if( colHidnValue == "C") {
  92. group3.grd_rtnlist.setFormatColProperty(group3.grd_rtnlist.getBindCellIndex("body","dayprcpqty"),"size",0);
  93. group3.grd_rtnlist.setFormatColProperty(group3.grd_rtnlist.getBindCellIndex("body","dayrtnqty") ,"size",0);
  94. } else {
  95. group3.grd_rtnlist.setFormatColProperty(group3.grd_rtnlist.getBindCellIndex("body","prcpqty2") ,"size",0);
  96. group3.grd_rtnlist.setFormatColProperty(group3.grd_rtnlist.getBindCellIndex("body","rtnqty2") ,"size",0);
  97. group3.grd_prcplist.setFormatColProperty(group3.grd_prcplist.getBindCellIndex("body","prcpqty2"),"size",0);
  98. }
  99. }
  100. /**
  101. * 진료과 조회
  102. */
  103. function fGetDeptCombo() {
  104. model.setValue("/root/send/deptinfo/deptflag", "W");
  105. submit("TRADT00601");
  106. }
  107. /****************************************************************************************
  108. * Argument : N/A
  109. * Description : 약사정보 조회
  110. ****************************************************************************************/
  111. function fGetUserInfo() {
  112. var userid = ds_temp_srchinfo.getColumn(0,"userid");
  113. //20100819_laboru_경북대병원_User ID 길이 체크 막음
  114. ds_send_userinfo.setColumn(0,"userid", userid);
  115. var oParam = {};
  116. oParam.id = "TRADT00604";
  117. oParam.service = "pharmacyprescriptionapp.DrugReturn";
  118. oParam.method = "reqGetUserInfo";
  119. oParam.inds = "req=ds_send_userinfo";
  120. oParam.outds = "ds_temp_userinfo=userinfo";
  121. oParam.async = true;
  122. //oParam.callback = "cf_TRADT00604";
  123. tranf_submit(oParam);
  124. }
  125. /****************************************************************************************
  126. * Argument : N/A
  127. * Description : 반납약 조회
  128. ****************************************************************************************/
  129. function fRtnData() {
  130. ds_main_prcplist.clearData();
  131. ds_send_srchinfo.copyData(ds_temp_srchinfo);
  132. var oParam = {};
  133. oParam.id = "TRADT00602";
  134. oParam.service = "pharmacyprescriptionapp.DrugReturn";
  135. oParam.method = "reqGetRtnData";
  136. oParam.inds = "req=ds_send_srchinfo";
  137. oParam.outds = "ds_main_rtnlist=rtnlist";
  138. oParam.async = false;
  139. //oParam.callback = "cf_TRADT00602";
  140. tranf_submit(oParam);
  141. // 2009.12.03 pymi
  142. if(ds_temp_srchinfo.getColumn(0,"eflag") == "Y") {
  143. for(var i = 0 ; i < ds_main_rtnlist.rowcount; i++) {
  144. ds_main_rtnlist.setColumn(i,"sel", "Y");
  145. ds_main_rtnlist.setRowType(i,Dataset.ROWTYPE_UPDATE);
  146. // var arrRow = new Array();
  147. // arrRow[0] = ds_anstlist.rowposition;
  148. // grdf_setStatus(grd_answlist, "D", arrRow);
  149. }
  150. }
  151. //해당row에 색깔 처리
  152. //grd_rtnlist.rebuildStyle();
  153. // setRowStyle("grd_rtnlist" , "2" , "2" , "rtnflag", "equal" );
  154. // setRowStyle("grd_rtnlist" , "4" , "3" , "rtnflag", "equal" );
  155. grdf_setRowStyle(group3.grd_rtnlist , "2^4" , "2^3" , "rtnflag");
  156. }
  157. /****************************************************************************************
  158. * Argument : N/A
  159. * Description : 반납약 원처방 조회
  160. ****************************************************************************************/
  161. function fGetRtnPrcpData() {
  162. if(ds_main_rtnlist.rowposition > -1 && !utlf_isNull(ds_main_rtnlist.getColumn(ds_main_rtnlist.rowposition,"pid"))) {
  163. ds_send_prcpinfo.clear();
  164. dsf_copyColInfo(ds_send_prcpinfo,ds_main_rtnlist);
  165. ds_send_prcpinfo.copyRow(ds_send_prcpinfo.addRow(),ds_main_rtnlist,ds_main_rtnlist.rowposition);
  166. var oParam = {};
  167. oParam.id = "TRADT00603";
  168. oParam.service = "pharmacyprescriptionapp.DrugReturn";
  169. oParam.method = "reqGetRtnPrcpData";
  170. oParam.inds = "req=ds_send_prcpinfo";
  171. oParam.outds = "ds_main_prcplist=prcplist";
  172. oParam.async = false;
  173. //oParam.callback = "cf_TRADT00603";
  174. tranf_submit(oParam);
  175. // grd_prcplist.rebuildStyle();
  176. // setRowStyle("grd_prcplist" , "4" , "C" , "prcphistcd", "equal" );
  177. // setRowStyle("grd_prcplist" , "4" , "L" , "prcphistcd", "equal" );
  178. // setRowStyle("grd_prcplist" , "3" , "D" , "prcphistcd", "equal" );
  179. // setRowStyle("grd_prcplist" , "2" , "E" , "prcphistcd", "equal" );
  180. grdf_setRowStyle(group3.grd_prcplist , "4^4^3^2" , "C^L^D^E" , "prcphistcd");
  181. }
  182. }
  183. /****************************************************************************************
  184. * Argument : N/A
  185. * Description : 반납약 저장
  186. ****************************************************************************************/
  187. function fSaveRtnList() {
  188. if(utlf_isNull(ds_temp_userinfo.getColumn(0,"userid"))) {
  189. sysf_messageBox("약사ID는", "I003");
  190. return;
  191. }
  192. ds_send_rtninfo_rtnlist.clearData();
  193. var cp_cnt = 0;
  194. for(var i = 0 ; i < ds_main_rtnlist.rowcount ; i++){
  195. if(ds_main_rtnlist.getColumn(i,"sel") == "Y" && ds_main_rtnlist.getColumn(i,"rtnflag") == "1") {
  196. // 20120920_폐기처리여부 set
  197. if(ds_temp.getColumn(0,"disflag") == "Y") {
  198. dsf_makeValue(ds_main_rtnlist,"disflag","string","DIS",i);
  199. }
  200. //fIptRtnCnts(i); //20090924 이선경
  201. dsf_makeValue(ds_main_rtnlist,"rtnstocdeptcd","string",ds_temp_srchinfo.getColumn(0,"rtnstocdeptcd"),i);
  202. ds_main_rtnlist.setColumn(i,"rtncnts", parseInt(ds_main_rtnlist.getColumn(i,"rtnstocqty"))); //20100208 이선경
  203. // astfCopyNodeSet("/root/send/rtninfo/rtnlist", "/root/main/rtnlist/rtnlist["+i+"]");
  204. ds_send_rtninfo_rtnlist.copyRow(ds_send_rtninfo_rtnlist.addRow(),ds_main_rtnlist,i);
  205. cp_cnt++;
  206. }
  207. }
  208. if(cp_cnt == 0){
  209. sysf_messageBox("저장할 데이터가", "I004");
  210. return;
  211. }
  212. ds_send_rtninfo_userinfo.setColumn(0,"userid" ,ds_temp_userinfo.getColumn(0,"userid"));
  213. ds_send_rtninfo_userinfo.setColumn(0,"userdeptcd",ds_temp_userinfo.getColumn(0,"userdeptcd"));
  214. ds_send_rtninfo_srchinfo.copyData(ds_temp_srchinfo);
  215. ds_send_rtninfo_srchinfo.updateColID("prcpdd","chg_prcpdd");
  216. ds_send_rtninfo_srchinfo.updateColID("ioflag","chg_ioflag");
  217. dsf_makeValue(ds_send_rtninfo_srchinfo,"chg_drugflag","string", ds_send_rtninfo_srchinfo.getColumn(0,"drugflag"));
  218. var oParam = {};
  219. oParam.id = "TXADT00601";
  220. oParam.service = "pharmacyprescriptionapp.DrugReturn";
  221. oParam.method = "reqSetRtnData";
  222. oParam.inds = "req=ds_send_rtninfo_rtnlist user=ds_send_rtninfo_userinfo srch=ds_send_rtninfo_srchinfo";
  223. oParam.outds = "ds_main_rtnlist=rtnlist";
  224. oParam.async = false;
  225. //oParam.callback = "cf_TXADT00601";
  226. tranf_submit(oParam);
  227. }
  228. /****************************************************************************************
  229. * Argument : N/A
  230. * Description : 반납약 취소
  231. ****************************************************************************************/
  232. function fSaveRtnCancel() {
  233. if(utlf_isNull(ds_temp_userinfo.getColumn(0,"userid"))) {
  234. sysf_messageBox("약사ID는", "I003");
  235. return;
  236. }
  237. ds_send_rtninfo_rtnlist.clearData();
  238. var cp_cnt = 0;
  239. for(var i = 0 ; i < ds_main_rtnlist.rowcount ; i++){
  240. if(ds_main_rtnlist.getColumn(i,"sel") == "Y" && ds_main_rtnlist.getColumn(i,"rtnflag") == "2") {
  241. dsf_makeValue(ds_main_rtnlist,"cancelflag","string","Y",i);
  242. // astfCopyNodeSet("/root/send/rtninfo/rtnlist", "/root/main/rtnlist/rtnlist["+i+"]");
  243. ds_send_rtninfo_rtnlist.copyRow(ds_send_rtninfo_rtnlist.addRow(),ds_main_rtnlist,i);
  244. cp_cnt++;
  245. }
  246. }
  247. if(cp_cnt == 0){
  248. sysf_messageBox("저장할 데이터가", "I004");
  249. return;
  250. }
  251. ds_send_rtninfo_userinfo.setColumn(0,"userid" ,ds_temp_userinfo.getColumn(0,"userid"));
  252. ds_send_rtninfo_userinfo.setColumn(0,"userdeptcd",ds_temp_userinfo.getColumn(0,"userdeptcd"));
  253. ds_send_rtninfo_srchinfo.copyData(ds_temp_srchinfo);
  254. ds_send_rtninfo_srchinfo.updateColID("prcpdd","chg_prcpdd");
  255. ds_send_rtninfo_srchinfo.updateColID("ioflag","chg_ioflag");
  256. dsf_makeValue(ds_send_rtninfo_srchinfo,"chg_drugflag","string", ds_send_rtninfo_srchinfo.getColumn(0,"drugflag"));
  257. var oParam = {};
  258. oParam.id = "TXADT00602";
  259. oParam.service = "pharmacyprescriptionapp.DrugReturn";
  260. oParam.method = "reqSetRtnCancel";
  261. oParam.inds = "req=ds_send_rtninfo_rtnlist user=ds_send_rtninfo_userinfo srch=ds_send_rtninfo_srchinfo";
  262. oParam.outds = "ds_main_rtnlist=rtnlist";
  263. oParam.async = false;
  264. //oParam.callback = "cf_TXADT00602";
  265. tranf_submit(oParam);
  266. }
  267. /**
  268. * 반납량(반납횟수) 입력시
  269. * -. 외래처방 : 약국에서 처리 -> 외래 및 입원에서 전환된 외용약처방 - 수량반납
  270. * 그외 외래처방 - 일수반납
  271. * 입원에서 전환된 퇴원 및 외출외박약 처방 - 일수반납
  272. * 입원에서 전환된 그외 처방 - 횟수반납
  273. * -. 입원처방 : 병동간호에서 처리 -> 입원 및 외래에서 전환된 외용약처방 - 수량반납
  274. * 입원 퇴원 및 외출외박약 - 일수 반납
  275. * 그외 입원처방 - 횟수반납
  276. * 외래에서 전환된 처방 (외용약 제외) - 일수반납
  277. * 정리 노트 : 외용약 - 수량반납, 외래 및 퇴원/외출/외박약 - 일수반납, 입원약 - 횟수반납,
  278. * 각부분별로 주사제는 소수점내림 처리함(엠플단위이기때문에).
  279. */
  280. // function fIptRtnCnts(rowid) {
  281. //
  282. // //20090924 이선경
  283. // if(rowid == "") {
  284. // rowid = grd_rtnlist.row;
  285. // }
  286. //
  287. // var RtnCnts = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts");
  288. // var RtnStocQty = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtnstocqty");
  289. // var RtnFlag = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtnflag");
  290. //
  291. // if(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/sel") == "N"){
  292. // if(RtnFlag == "1"){
  293. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
  294. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtnstocqty", "");
  295. // return;
  296. // }
  297. // }
  298. //
  299. // //반납의뢰인 약품만 반납처리함
  300. // /*if(RtnFlag == "2"){
  301. // messageBox("반납완료된 약품","E008");
  302. // return;
  303. // } else if(RtnFlag == "3"){
  304. // messageBox("반납의뢰된 약품","E008");
  305. // return;
  306. // }
  307. // */
  308. // //반납량을 입력하지 않았을 경우
  309. // if(RtnCnts == "" ){ //|| RtnCnts == "0"
  310. // /*messageBox("반납량을","C001");
  311. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
  312. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/sel", "");
  313. // return;*/
  314. // //최대 반환량 자동 입력
  315. // fMaxRtnCnts(rowid);
  316. // RtnCnts = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts");
  317. // }
  318. //
  319. // if(isNaN(RtnCnts)){
  320. // messageBox("반납량은 숫자로","C001");
  321. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
  322. // return;
  323. // }
  324. //
  325. // //반납로직을 위한 변수 선언
  326. // var IOFlag = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/ioflag");
  327. // var PrcpClscd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpclscd");
  328. // var PrcpGenrflag = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpgenrflag");
  329. // var PrcpKindcd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpkindcd");
  330. //
  331. //
  332. // if(IOFlag == "O"){
  333. // //수가계산방식에 따른 변화량
  334. // var sCalcmthdcd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/calcmthdcd");
  335. // //반납재고량 계산을 위한 변수 선언
  336. // var DeliveCrite = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/delivecrite");
  337. // var iRtnCnts = parseInt(RtnCnts, 10);
  338. // var iLimitCnts = 0;
  339. // var PrcpQty = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpqty"));
  340. // var DayPrcpQty = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/dayprcpqty"));
  341. // var PrcpTims = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"), 10);
  342. // var PrcpDayno = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpdayno"), 10);
  343. // var RtnStocQty = 0;
  344. // if(PrcpClscd == "A4" || sCalcmthdcd == 4){
  345. // //외래 외용제 (수량반납)
  346. // if(sCalcmthdcd == 4){
  347. // iLimitCnts = DayPrcpQty;
  348. // } else if(sCalcmthdcd == 5){
  349. // iLimitCnts = DayPrcpQty*PrcpDayno;
  350. // } else {
  351. // iLimitCnts = DayPrcpQty*PrcpDayno;
  352. // }
  353. // //if(iRtnCnts > iLimitCnts){
  354. // if(iRtnCnts > iLimitCnts){
  355. // messageBox("반납 가능한 양을","E003");
  356. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
  357. // return;
  358. // }
  359. // RtnStocQty = fCalStocQty("Q", DeliveCrite, iRtnCnts, null, null, rowid);
  360. //
  361. // //투약내역에 들어간 반납결과 수치 계산
  362. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugtims", model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"));
  363. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugdayno", model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpdayno"));
  364. // } else if((PrcpGenrflag == "O" || PrcpGenrflag == "S" ) || // 'S' 추가 pymi 2009.10.28
  365. // ((PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D") && (PrcpKindcd == "50" || PrcpKindcd == "60" || PrcpKindcd == "70")) ){
  366. // //외래 약주사 또는 입원에서 전환된 퇴원/외출/외박약 (일수반납)
  367. // iLimitCnts = PrcpDayno;
  368. // if(iRtnCnts > iLimitCnts){
  369. // messageBox("반납 가능한 양을","E003");
  370. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
  371. // return;
  372. // }
  373. // /*if(PrcpClscd == "A6"){
  374. // //주사제 처리 반납량 따로 계산
  375. // RtnStocQty = fCalStocQty("I", DeliveCrite, iRtnCnts, PrcpQty, PrcpTims);
  376. // } else {
  377. // RtnStocQty = fCalStocQty("D", DeliveCrite, iRtnCnts, PrcpQty, PrcpTims);
  378. // }*/
  379. // RtnStocQty = fCalStocQty("D", DeliveCrite, iRtnCnts, PrcpQty, PrcpTims, rowid);
  380. //
  381. //
  382. // //투약내역에 들어간 반납결과 수치 계산
  383. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugtims", model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"));
  384. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugdayno", iRtnCnts);
  385. // } else if(PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D"){
  386. // //입원에서 전환된 그외 처방 (횟수반납)
  387. // iLimitCnts = PrcpTims*PrcpDayno;
  388. // if(iRtnCnts > iLimitCnts){
  389. // messageBox("반납 가능한 양을","E003");
  390. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
  391. // return;
  392. // }
  393. // /*if(PrcpClscd == "A6"){
  394. // //주사제 처리 반납량 따로 계산
  395. // RtnStocQty = fCalStocQty("I", DeliveCrite, iRtnCnts, PrcpQty);
  396. // } else {
  397. // RtnStocQty = fCalStocQty("T", DeliveCrite, iRtnCnts, PrcpQty);
  398. // }*/
  399. // RtnStocQty = fCalStocQty("T", DeliveCrite, iRtnCnts, PrcpQty, null , rowid);
  400. //
  401. // //투약내역에 들어간 반납결과 수치 계산
  402. // var temp = iRtnCnts%PrcpDayno;
  403. // var RtnDrugDayno = 0;
  404. // var RtnDrugTims = 0;
  405. // RtnDrugTims = iRtnCnts;
  406. // RtnDrugDayno = 1;
  407. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugtims", RtnDrugTims);
  408. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugdayno", RtnDrugDayno);
  409. // }
  410. // } else if(IOFlag == "I"){
  411. // //반납재고량 계산을 위한 변수 선언
  412. // var DeliveCrite = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/delivecrite");
  413. // var iRtnCnts = parseInt(RtnCnts, 10);
  414. // var iLimitCnts = 0;
  415. // var PrcpQty = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpqty"));
  416. // var DayPrcpQty = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/dayprcpqty"));
  417. // var PrcpTims = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"), 10);
  418. // var PrcpDayno = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpdayno"), 10);
  419. // var RtnStocQty = 0;
  420. // if(PrcpClscd == "A4"){
  421. // //외래 외용제 (수량반납)
  422. // if(sCalcmthdcd == 4){
  423. // iLimitCnts = DayPrcpQty;
  424. // } else if(sCalcmthdcd == 5){
  425. // iLimitCnts = DayPrcpQty*PrcpDayno;
  426. // } else {
  427. // iLimitCnts = DayPrcpQty*PrcpDayno;
  428. // }
  429. // if(iRtnCnts > iLimitCnts){
  430. // messageBox("반납 가능한 양을","E003");
  431. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
  432. // return;
  433. // }
  434. // RtnStocQty = fCalStocQty("Q", DeliveCrite, iRtnCnts, null, null, rowid);
  435. //
  436. // //투약내역에 들어간 반납결과 수치 계산
  437. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugtims", model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"));
  438. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugdayno", model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpdayno"));
  439. // } else if(PrcpGenrflag == "O" ||
  440. // ((PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D") && (PrcpKindcd == "50" || PrcpKindcd == "60" || PrcpKindcd == "70")) ){
  441. // //외래 약주사 또는 입원에서 전환된 퇴원/외출/외박약 (일수반납)
  442. // iLimitCnts = PrcpDayno;
  443. // if(iRtnCnts > iLimitCnts){
  444. // messageBox("반납 가능한 양을","E003");
  445. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
  446. // return;
  447. // }
  448. // /*if(PrcpClscd == "A6"){
  449. // //주사제 처리 반납량 따로 계산
  450. // RtnStocQty = fCalStocQty("I", DeliveCrite, iRtnCnts, PrcpQty, PrcpTims);
  451. // } else {
  452. // RtnStocQty = fCalStocQty("D", DeliveCrite, iRtnCnts, PrcpQty, PrcpTims);
  453. // }*/
  454. // RtnStocQty = fCalStocQty("D", DeliveCrite, iRtnCnts, PrcpQty, PrcpTims, rowid);
  455. //
  456. //
  457. // //투약내역에 들어간 반납결과 수치 계산
  458. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugtims", model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"));
  459. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugdayno", iRtnCnts);
  460. // } else if(PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D"){
  461. // //입원에서 전환된 그외 처방 (횟수반납)
  462. // iLimitCnts = PrcpTims*PrcpDayno;
  463. // if(iRtnCnts > iLimitCnts){
  464. // messageBox("반납 가능한 양을","E003");
  465. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
  466. // return;
  467. // }
  468. // /*if(PrcpClscd == "A6"){
  469. // //주사제 처리 반납량 따로 계산
  470. // RtnStocQty = fCalStocQty("I", DeliveCrite, iRtnCnts, PrcpQty);
  471. // } else {
  472. // RtnStocQty = fCalStocQty("T", DeliveCrite, iRtnCnts, PrcpQty);
  473. // }*/
  474. // //alert(DeliveCrite);
  475. // //alert(iRtnCnts);
  476. // //alert(PrcpQty);
  477. // //alert(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"));
  478. //
  479. // RtnStocQty = fCalStocQty("T", DeliveCrite, iRtnCnts, PrcpQty, null, rowid);
  480. //
  481. // //투약내역에 들어간 반납결과 수치 계산
  482. // var temp = iRtnCnts%PrcpDayno;
  483. // var RtnDrugDayno = 0;
  484. // var RtnDrugTims = 0;
  485. // RtnDrugTims = iRtnCnts;
  486. // RtnDrugDayno = 1;
  487. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugtims", RtnDrugTims);
  488. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugdayno", RtnDrugDayno);
  489. // }
  490. // }
  491. //
  492. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtnstocqty", fChkFloat(RtnStocQty));
  493. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/sel", "Y");
  494. // //rowid++;
  495. // //grd_rtnlist.isSelected(rowid) = true;
  496. // model.refresh();
  497. //
  498. // }
  499. /**
  500. * 불출계산에 따른 반납재고량 계산
  501. * 계산 방식
  502. * 원처방 불출량(totdrugqty) - 살아있는처방 불출량 계산 = 반환된 불출량
  503. */
  504. // function fCalStocQty(RtnType, DeliveCrite, RtnCnts, Qty, Tims, rowid) {
  505. // var dResult = 0;
  506. // var PackVol = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/packvol"));
  507. // var NearIntNum = 0;
  508. // var RoundNum = 0;
  509. // //alert("Start : " + DeliveCrite + ", " + pQty + ", " + pRtnTims);
  510. //
  511. // //수가계산방식에 따른 변화량
  512. // var sCalcmthdcd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/calcmthdcd");
  513. //
  514. // if ( Tims == null ) { Tims =1; }
  515. // if(RtnType == "Q"){
  516. // //수량반납
  517. // //외용약만 수량반납하므로 무조건 올림처리
  518. // dResult = Math.ceil(RtnCnts);
  519. // } else if(RtnType == "T"){
  520. // //횟수반납
  521. // // 횟수반납시에는 RtnCnts가 횟수이므로 Tims는 제외
  522. //
  523. // //살아있는 처방 불출량 계산을 위한 횟수 변환
  524. // var iPrcptims = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims");
  525. // var itotdrugqty = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/totdrugqty");
  526. // if(iPrcptims == RtnCnts){
  527. // //살아있는 처방이 없으므로 불출량은 원처방 불출량(totdrugqty)임
  528. // return itotdrugqty;
  529. // } else {
  530. // //살아있는 처방이 있으면 살아있는 처방의 횟수를 계산
  531. // RtnCnts = iPrcptims - RtnCnts;
  532. // }
  533. //
  534. // // 1 : 단가*수량*횟수*일수
  535. // // 4 : 단가*수량
  536. // // 5 : 단가*수량*일수
  537. // if(sCalcmthdcd == "1"){
  538. // //초기화 없이 다 계산처리함
  539. // } else if(sCalcmthdcd == "4" || sCalcmthdcd == "5"){
  540. // //횟수, 일수 1로 초기화
  541. // RtnCnts = "1";
  542. // }
  543. //
  544. // if (DeliveCrite == "1") {
  545. // // 처방대로
  546. // dResult = Math.round(Qty*RtnCnts*1000)/1000;
  547. // } else if (DeliveCrite == "2") {
  548. // // 1/4 1회 올림 --> 1/2 1회 올림 수정 pymi
  549. // /*NearIntNum = Math.floor(Qty);
  550. // RoundNum = Qty - NearIntNum;
  551. // if(RoundNum >= 0.5){
  552. // dResult = Math.round((NearIntNum+0.5)*RtnCnts*1000)/1000;
  553. // } else {
  554. // dResult = Math.round((NearIntNum+1)*RtnCnts*1000)/1000;
  555. // } */
  556. // dResult = Math.round(Math.ceil(Qty)*RtnCnts*1000)/1000;
  557. // } else if (DeliveCrite == "3") {
  558. // // 1/2 1회 올림
  559. // dResult = Math.round(Math.ceil(Qty)*RtnCnts*1000)/1000;
  560. //
  561. // } else if (DeliveCrite == "4") {
  562. // // 1/4 1일 올림
  563. // NearIntNum = Math.floor(Qty*Tims);
  564. // RoundNum = (Qty*Tims) - NearIntNum;
  565. // if(RoundNum >= 0.5){
  566. // dResult = Math.round((NearIntNum+0.5)*(RtnCnts/Tims)*1000)/1000;
  567. // } else {
  568. // dResult = Math.round((NearIntNum+1)*(RtnCnts/Tims)*1000)/1000;
  569. // }
  570. // } else if (DeliveCrite == "5") {
  571. // // 1/2 1일 올림
  572. // //alert(Tims);
  573. // dResult = Math.round(Math.ceil(Qty*Tims)*(RtnCnts/Tims)*1000)/1000;
  574. // } else if (DeliveCrite == "6") {
  575. // // 계산후 올림
  576. // dResult = Math.ceil(Qty*RtnCnts);
  577. // }
  578. // // 원처방 불출량(totdrugqty) - 살아있는처방 불출량 계산 = 반환된 불출량
  579. // dResult = itotdrugqty - dResult;
  580. //
  581. // } else if(RtnType == "D"){
  582. // //일수반납
  583. //
  584. // //살아있는 처방 불출량 계산을 위한 횟수 변환
  585. // var iPrcpDayno = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpdayno");
  586. // var itotdrugqty = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/totdrugqty");
  587. // if(iPrcpDayno == RtnCnts){
  588. // //살아있는 처방이 없으므로 불출량은 원처방 불출량(totdrugqty)임
  589. // return itotdrugqty;
  590. // } else {
  591. // //살아있는 처방이 있으면 살아있는 처방의 횟수를 계산
  592. // RtnCnts = iPrcpDayno - RtnCnts;
  593. // }
  594. //
  595. // // 1 : 단가*수량*횟수*일수
  596. // // 4 : 단가*수량
  597. // // 5 : 단가*수량*일수
  598. // if(sCalcmthdcd == "1"){
  599. // //초기화 없이 다 계산처리함
  600. // } else if(sCalcmthdcd == "4"){
  601. // //횟수, 일수 1로 초기화
  602. // Tims = "1";
  603. // RtnCnts = "1";
  604. // } else if(sCalcmthdcd == "5"){
  605. // //횟수 1로 초기화
  606. // Tims = "1";
  607. // }
  608. //
  609. // if (DeliveCrite == "1") {
  610. // // 처방대로
  611. // dResult = Math.round(Qty*Tims*RtnCnts*1000)/1000;
  612. // } else if (DeliveCrite == "2") {
  613. // // 1/4 1회 올림 --> 1/2 1회 올림 수정 pymi
  614. // /*NearIntNum = Math.floor(Qty);
  615. // RoundNum = Qty - NearIntNum;
  616. // if(RoundNum >= 0.5){
  617. // dResult = Math.round((NearIntNum+0.5)*Tims*RtnCnts*1000)/1000;
  618. // } else {
  619. // dResult = Math.round((NearIntNum+1)*Tims*RtnCnts*1000)/1000;
  620. // } */
  621. // dResult = Math.round(Math.ceil(Qty)*Tims*RtnCnts*1000)/1000;
  622. // } else if (DeliveCrite == "3") {
  623. // // 1/2 1회 올림
  624. // dResult = Math.round(Math.ceil(Qty)*Tims*RtnCnts*1000)/1000;
  625. // } else if (DeliveCrite == "4") {
  626. // // 1/4 1일 올림
  627. // NearIntNum = Math.floor(Qty*Tims);
  628. // RoundNum = (Qty*Tims) - NearIntNum;
  629. // if(RoundNum >= 0.5){
  630. // dResult = Math.round((NearIntNum+0.5)*RtnCnts*1000)/1000;
  631. // } else {
  632. // dResult = Math.round((NearIntNum+1)*RtnCnts*1000)/1000;
  633. // }
  634. // } else if (DeliveCrite == "5") {
  635. // // 1/2 1일 올림
  636. // dResult = Math.round(Math.ceil(Qty*Tims)*RtnCnts*1000)/1000;
  637. // } else if (DeliveCrite == "6") {
  638. // // 계산후 올림
  639. // dResult = Math.ceil(Qty*Tims*RtnCnts);
  640. // }
  641. // // 원처방 불출량(totdrugqty) - 살아있는처방 불출량 계산 = 반환된 불출량
  642. // dResult = itotdrugqty - dResult;
  643. // }
  644. // //model.alert("End : " + dResult);
  645. // return dResult;
  646. // }
  647. /**
  648. * 최대 반환량 자동입력
  649. */
  650. // function fMaxRtnCnts(rowid) {
  651. // //반납로직을 위한 변수 선언
  652. // var IOFlag = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/ioflag");
  653. // var PrcpClscd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpclscd");
  654. // var PrcpGenrflag = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpgenrflag");
  655. // var PrcpKindcd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpkindcd");
  656. //
  657. //
  658. // if(IOFlag == "O"){
  659. // //반납재고량 계산을 위한 변수 선언
  660. // var iLimitCnts = 0;
  661. // var DayPrcpQty = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/dayprcpqty"));
  662. // var PrcpQty = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpqty"));
  663. // var PrcpTims = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"), 10);
  664. // var PrcpDayno = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpdayno"), 10);
  665. // var CalcMthdCd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/calcmthdcd");
  666. // if(PrcpClscd == "A4"){
  667. // //외래 외용제 (수량반납)
  668. // if ( CalcMthdCd == "1" || CalcMthdCd == "5" ){
  669. // iLimitCnts = parseInt(DayPrcpQty* PrcpDayno);
  670. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
  671. // } else {
  672. // iLimitCnts =parseInt( DayPrcpQty );
  673. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
  674. // }
  675. // } else if((PrcpGenrflag == "O" || PrcpGenrflag == "S" ) || // 'S' 추가 pymi 2009.10.28 ||
  676. // ((PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D") && (PrcpKindcd == "50" || PrcpKindcd == "60" || PrcpKindcd == "70")) ){
  677. // //외래 약주사 또는 입원에서 전환된 퇴원/외출/외박약 (일수반납)
  678. // if ( CalcMthdCd == "4" ){
  679. // iLimitCnts = parseInt(DayPrcpQty);
  680. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
  681. // } else {
  682. // iLimitCnts = parseInt(PrcpDayno);
  683. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
  684. // }
  685. // } else if(PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D"){
  686. // //입원에서 전환된 그외 처방 (횟수반납)
  687. // iLimitCnts = PrcpTims*PrcpDayno;
  688. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
  689. // }
  690. // } else if(IOFlag == "I"){
  691. // //반납재고량 계산을 위한 변수 선언
  692. // var iLimitCnts = 0;
  693. // var PrcpQty = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpqty"));
  694. // var PrcpTims = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"), 10);
  695. // var PrcpDayno = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpdayno"), 10);
  696. // var CalcMthdCd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/calcmthdcd");
  697. // if(PrcpClscd == "A4"){
  698. // //외래 외용제 (수량반납)
  699. // //입원에서 전환된 그외 처방 (횟수반납)
  700. // if ( CalcMthdCd == "1" || CalcMthdCd == "5" ){
  701. // iLimitCnts =parseInt( DayPrcpQty* PrcpDayno);
  702. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
  703. // } else {
  704. // iLimitCnts = parseInt(DayPrcpQty);
  705. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
  706. // }
  707. //
  708. // //if(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/dayrtnqty") != ""){
  709. // // PrcpQty = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/dayrtntims");
  710. // //}
  711. // //iLimitCnts = PrcpQty;
  712. // //model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
  713. // } else if(PrcpGenrflag == "O" ||
  714. // ((PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D") && (PrcpKindcd == "50" || PrcpKindcd == "60" || PrcpKindcd == "70")) ){
  715. // //외래 약주사 또는 입원에서 전환된 퇴원/외출/외박약 (일수반납)
  716. // if ( CalcMthdCd == "4" ){
  717. // iLimitCnts =parseInt( DayPrcpQty);
  718. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
  719. // } else {
  720. // iLimitCnts = PrcpDayno;
  721. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
  722. // }
  723. // } else if(PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D"){
  724. // //입원에서 전환된 그외 처방 (횟수반납)
  725. // if(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtntims") != ""){
  726. // PrcpTims = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtntims");
  727. // PrcpDayno = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndayno");
  728. // }
  729. // iLimitCnts = PrcpTims*PrcpDayno;
  730. // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", fChkFloat(iLimitCnts));
  731. // }
  732. // }
  733. // model.refresh();
  734. // }
  735. /**
  736. *
  737. */
  738. // function fChkFloat(qty) {
  739. // var fQty = parseFloat(qty);
  740. // var fRst = "";
  741. //
  742. // if(fQty%1 == 0){
  743. // fRst = parseInt(qty);
  744. // } else {
  745. // fRst = qty;
  746. // }
  747. //
  748. // return fRst;
  749. // }
  750. /****************************************************************************************
  751. * Argument : N/A
  752. * Description : 반납구분 전체 체크시
  753. ****************************************************************************************/
  754. function fChgRtnFlagAll(vFlag) {
  755. if(utlf_isNull(vFlag)) vFlag = ds_temp_srchinfo.getColumn(0,"rtnflag_all");
  756. if(vFlag == "A"){
  757. var sValue = "1|2|3";
  758. ds_temp_srchinfo.setColumn(0,"rtnflag", sValue);
  759. group2.checkbox2.setData(sValue.split("|"),null,false);
  760. } else {
  761. ds_temp_srchinfo.setColumn(0,"rtnflag", "");
  762. group2.checkbox2.setCheckAll(false,false);
  763. }
  764. }
  765. /****************************************************************************************
  766. * Argument : N/A
  767. * Description : 반납구분 변경시
  768. ****************************************************************************************/
  769. function fChgRtnFlag() {
  770. var sChk = ds_temp_srchinfo.getColumn(0,"rtnflag");
  771. if(sChk.length == 5){
  772. ds_temp_srchinfo.setColumn(0,"rtnflag_all", "A");
  773. } else {
  774. group2.checkbox1.enableevent = false;
  775. ds_temp_srchinfo.setColumn(0,"rtnflag_all", "");
  776. group2.checkbox1.enableevent = true;
  777. }
  778. }
  779. /****************************************************************************************
  780. * Argument : N/A
  781. * Description : 입원외래구분 변경시
  782. ****************************************************************************************/
  783. function fChgIOFlag() {
  784. if(ds_temp_srchinfo.getColumn(0,"ioflag") == "I"){
  785. group2.rdo_drugflag.visible = true;
  786. //ds_temp_srchinfo.setColumn(0,"drugflag", "I");
  787. group2.rdo_drugflag.setData("I");
  788. } else if(ds_temp_srchinfo.getColumn(0,"ioflag") == "S"){
  789. group2.rdo_drugflag.visible = true;
  790. //ds_temp_srchinfo.setColumn(0,"drugflag", "S");
  791. group2.rdo_drugflag.setData("S");
  792. } else {
  793. group2.rdo_drugflag.visible = false;
  794. //ds_temp_srchinfo.setColumn(0,"drugflag", "");
  795. group2.rdo_drugflag.setData("");
  796. }
  797. }
  798. /****************************************************************************************
  799. * Argument : N/A
  800. * Description : 내외용약 구분 전체 체크시
  801. ****************************************************************************************/
  802. function fChgDrugkindFlagAll(vFlag) {
  803. if(utlf_isNull(vFlag)) vFlag = ds_temp_srchinfo.getColumn(0,"drugkindflag_all");
  804. if(vFlag == "A"){
  805. var sValue = "1|2";
  806. ds_temp_srchinfo.setColumn(0,"drugkindflag", sValue);
  807. group2.checkbox6.setData(sValue.split("|"),null,false);
  808. } else {
  809. ds_temp_srchinfo.setColumn(0,"drugkindflag", "");
  810. group2.checkbox6.setCheckAll(false,false);
  811. }
  812. }
  813. /****************************************************************************************
  814. * Argument : N/A
  815. * Description : 내외용약 구분 변경시
  816. ****************************************************************************************/
  817. function fChgDrugkindFlag() {
  818. var sChk = ds_temp_srchinfo.getColumn(0,"drugkindflag");
  819. if(sChk.length == 3){
  820. ds_temp_srchinfo.setColumn(0,"drugkindflag_all", "A");
  821. } else {
  822. group2.checkbox7.enableevent = false;
  823. ds_temp_srchinfo.setColumn(0,"drugkindflag_all", "");
  824. group2.checkbox7.enableevent = true;
  825. }
  826. }
  827. ]]></Script>