SMMNI02021.xjs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[
  3. ////////////////////////////////////////////////////////////////////////////////////////////
  4. /*
  5. 특수주사실미시행내역조회(SMMNI02021.xfm - JScript )
  6. - Version :
  7. 1) : Ver.1.00.01
  8. */
  9. var xBizTrgtManListPath = "/root/main/prcpdetl/prcpdetllist"
  10. //20090318 dhkim 글로벌 변수 선언
  11. var suppdeptcd; //메뉴그룹사용부서코드
  12. var suppdeptnm; //메뉴그룹사용부서명
  13. var drprcpetc2; //BMT, 암센터 구분 (BMT센터 : B, 암센터 : Y)
  14. /**
  15. * 20090318 dhkim
  16. * 화면 초기화 펑션으로 묶음
  17. */
  18. function fInit(){
  19. //로그인사용자의 부서정보로 타이틀을 변경 한다.
  20. //20090213 dhkim
  21. //화면 타이틀을 해당 부서에 맞게 변경한다.
  22. suppdeptcd = lf_aezfSetSuppDeptcd();
  23. suppdeptnm = getMenuDeptnm(suppdeptcd);
  24. ds_menudeptinfo.clearData();
  25. ds_menudeptinfo.addColumn("deptcd", "string");
  26. ds_menudeptinfo.addColumn("deptnm", "string");
  27. ds_menudeptinfo.setColumn(0, "deptcd", suppdeptcd);
  28. ds_menudeptinfo.setColumn(0, "deptnm", suppdeptnm);
  29. if( utlf_isNull(suppdeptnm) ){
  30. suppdeptnm = '항암주사실';
  31. }
  32. capt_titl.text = suppdeptnm + ' 미시행내역조회';
  33. //////////////////////////////////////////////////////////////////////////////////
  34. ds_send.clearData();
  35. dsf_makeValue(ds_send,"cdgrupid","string",'025');
  36. ds_nursdeptinfo_bmtinfo_nursdeptlist.clearData();
  37. var oParam = {};
  38. oParam.id = "TRMNI02032";
  39. oParam.service = "injspecialroomapp.InjSpecialRoomPatMngt";
  40. oParam.method = "reqGetNursDeptInfo";
  41. oParam.inds = "req=ds_send";
  42. oParam.outds = "ds_nursdeptinfo_bmtinfo_nursdeptlist=nursdeptlist";
  43. oParam.async = false;
  44. oParam.callback = "cf_TRMNI02032";
  45. tranf_submit(oParam);
  46. if(arErrorCode.pop("TRMNI02032") <= -1){
  47. sysf_messageBox('bmt센터 간호등록부서조회를 실패하였습니다.', 'E999');
  48. return false;
  49. }
  50. ds_send.clearData();
  51. dsf_makeValue(ds_send,"cdgrupid","string",'026');
  52. ds_nursdeptinfo_cncrinfo_nursdeptlist.clearData();
  53. var oParam = {};
  54. oParam.id = "TRMNI02033";
  55. oParam.service = "injspecialroomapp.InjSpecialRoomPatMngt";
  56. oParam.method = "reqGetNursDeptInfo";
  57. oParam.inds = "req=ds_send";
  58. oParam.outds = "ds_nursdeptinfo_cncrinfo_nursdeptlist=nursdeptlist";
  59. oParam.async = false;
  60. oParam.callback = "cf_TRMNI02033";
  61. tranf_submit(oParam);
  62. if(arErrorCode.pop("TRMNI02033") <= -1){
  63. sysf_messageBox('암센터 간호등록부서조회를 실패하였습니다.', 'E999');
  64. return false;
  65. }
  66. //////////////////////////////////////////////////////////////////////////////////
  67. var bmttempnode = "/root/nursdeptinfo/bmtinfo/nursdeptlist";
  68. var cncrtempnode = "/root/nursdeptinfo/cncrinfo/nursdeptlist";
  69. drprcpetc2 = lf_fGetDrPrcpEtc2(ds_nursdeptinfo_bmtinfo_nursdeptlist,ds_nursdeptinfo_cncrinfo_nursdeptlist);//해당화면이 BMT센터인지 암센터인지 여부를 조회
  70. var Ndate = utlf_getNewDate();
  71. var Odate = Ndate.getAddDate(-1, "D");
  72. var Idate = Odate.getDateFormat("YYYYMMDD");
  73. group3.group2.ipt_fromdd.value = utlf_getCurrentDate();// 조회구간에 현재날짜(디폴트)
  74. group3.group2.ipt_todd.value = utlf_getCurrentDate();// 조회구간에 현재날짜(디폴트)
  75. // 마감시 사용할 정보조회
  76. ds_main_cond.setColumn(0, "enddd" , utlf_getCurrentDate()); // 현재일자
  77. ds_main_cond.setColumn(0, "orddeptcd" , sysf_getUserInfo("dutplcecd")); // 사용자부서코드
  78. ds_main_cond.setColumn(0, "execrid" , sysf_getUserInfo("userid")); // 사용자ID
  79. ds_main_prcpdetl_prcpdetllist.clearData();
  80. fprcpdetllist();
  81. }
  82. /**
  83. * 해당부서코드의 명칭을 조회
  84. */
  85. function getMenuDeptnm(deptcd) {
  86. ds_send.clearData();
  87. dsf_makeValue(ds_send,"deptcd" ,"string", deptcd);
  88. var oParam = {};
  89. oParam.id = "TRMNI02031";
  90. oParam.service = "injspecialroomapp.InjSpecialRoomPatMngt";
  91. oParam.method = "reqGetDeptInfo";
  92. oParam.inds = "req=ds_send";
  93. oParam.outds = "ds_temp_menudeptinfo=menudeptinfo";
  94. oParam.async = false;
  95. oParam.callback = "cf_TRMNI02031";
  96. tranf_submit(oParam);
  97. if(arErrorCode.pop("TRMNI02031") > -1){
  98. selectplcenm = ds_temp_menudeptinfo.getColumn(0, "deptnm");
  99. }else{
  100. sysf_messageBox('메뉴사용처명 조회를 실패했습니다.', 'E999');
  101. }
  102. return selectplcenm;
  103. //model.makeValue("/root/send/globalinstance/instance1nm", selectplcenm);
  104. }
  105. /**
  106. * @group :
  107. * @ver : 2008.12.24
  108. * @by : dhkim
  109. * @---------------------------------------------------
  110. * @type : function
  111. * @access : public
  112. * @desc : 미시행처방 조회
  113. * @param :
  114. * @return :
  115. * @---------------------------------------------------
  116. */
  117. function fprcpdetllist(){
  118. ds_send.clearData();
  119. dsf_makeValue(ds_send,"fromdd" ,"string", ds_main_refspec.getColumn(0, "fromdd"));
  120. dsf_makeValue(ds_send,"todd" ,"string", ds_main_refspec.getColumn(0, "todd"));
  121. dsf_makeValue(ds_send,"execflag" ,"string", ds_main_refspec.getColumn(0, "execflag"));
  122. dsf_makeValue(ds_send,"endflag" ,"string", ds_main_refspec.getColumn(0, "endflag"));
  123. dsf_makeValue(ds_send,"termkind" ,"string", ds_main_refspec.getColumn(0, "termkind"));
  124. //20090318 dhkim BMT주사실 및 암센터주사실 화면 조회 구분 추가
  125. dsf_makeValue(ds_send,"drprcpetc2" ,"string", drprcpetc2);
  126. var oParam = {};
  127. oParam.id = "TRMNI02029";
  128. oParam.service = "injspecialroomapp.OutInjSpecialRoomPatMngt";
  129. oParam.method = "reqGetOperationData";
  130. oParam.inds = "refCond=ds_send";
  131. oParam.outds = "ds_main_prcpdetl_prcpdetllist=prcpdetllist";
  132. oParam.async = false;
  133. oParam.callback = "cf_TRMNI02029";
  134. tranf_submit(oParam);
  135. if(arErrorCode.pop("TRMNI02029") > -1){
  136. var xPrcpDetlPath = "ds_main_prcpdetl_prcpdetllist";
  137. //grd_prcpdetl.rebuildStyle();
  138. var Row = ds_main_prcpdetl_prcpdetllist.rowcount;
  139. var mixchk = 0;
  140. for(i=0; i<Row; i++){
  141. var execdd = ds_main_prcpdetl_prcpdetllist.getColumn(i, "execrid");
  142. var execprcpstatcd = ds_main_prcpdetl_prcpdetllist.getColumn(i, "execprcpstatcd");
  143. var prcpclscd = ds_main_prcpdetl_prcpdetllist.getColumn(i, "prcpclscd");
  144. var drugno = ds_main_prcpdetl_prcpdetllist.getColumn(i, "drugno");
  145. var printyn = ds_main_prcpdetl_prcpdetllist.getColumn(i, "printyn");
  146. var etcprcpresncd = ds_main_prcpdetl_prcpdetllist.getColumn(i, "etcprcpresncd"); // 수혈반납 및 폐기사유코드
  147. var blodcomstat = ds_main_prcpdetl_prcpdetllist.getColumn(i, "blodcomstat"); // 성분제제상태
  148. var rcptchk = ds_main_prcpdetl_prcpdetllist.getColumn(i, "rcptchk"); // 후수납상태
  149. var cdnm = ds_main_prcpdetl_prcpdetllist.getColumn(i, "cdnm");
  150. var stat = ds_main_prcpdetl_prcpdetllist.getColumn(i, "stat"); //[20081118 by dhkim] 처방상태 (강제지정)
  151. /*
  152. if(drugno != "0" && execprcpstatcd == "230"){
  153. model.setValue(xPrcpDetlPath+"["+i+"]/stat", 13);
  154. }
  155. */
  156. if(
  157. (
  158. (rcptchk == 'R' && execprcpstatcd == "230")
  159. || (rcptchk == 'V')
  160. || (rcptchk == 'Y')
  161. || (rcptchk == 'F')
  162. )
  163. && drugno != "0" //투약번호 따지고
  164. && cdnm !="마약" //(마약제외)
  165. && stat != "2" //처방상태 (강제지정시 항암으로 위장된 조제완료된 주사처방을 지정 못하게 하기위함)
  166. ){
  167. ds_main_prcpdetl_prcpdetllist.setColumn(i, "stat", 13);
  168. }
  169. if(execprcpstatcd == "300"){
  170. ds_main_prcpdetl_prcpdetllist.setColumn(i, "stat", 1);
  171. }
  172. //20090527 dhkim 무균추가
  173. if(execprcpstatcd == "310" || execprcpstatcd == "315" && (prcpclscd == "A7"||prcpclscd == "A9")){
  174. ds_main_prcpdetl_prcpdetllist.setColumn(i, "stat", 2);
  175. var mixk = ds_main_prcpdetl_prcpdetllist.getColumn(i, "mix");
  176. var actordddk = ds_main_prcpdetl_prcpdetllist.getColumn(i, "actorddd");
  177. var rsrvtmk = ds_main_prcpdetl_prcpdetllist.getColumn(i, "rsrvtm1");
  178. var ordddk = ds_main_prcpdetl_prcpdetllist.getColumn(i, "orddd");
  179. for (r=0; r<Row; r++){
  180. var mixr = ds_main_prcpdetl_prcpdetllist.getColumn(r, "mix");
  181. var actordddr = ds_main_prcpdetl_prcpdetllist.getColumn(r, "actorddd");
  182. var rsrvtmr = ds_main_prcpdetl_prcpdetllist.getColumn(r, "rsrvtm1");
  183. var ordddr = ds_main_prcpdetl_prcpdetllist.getColumn(r, "orddd");
  184. //20090527 dhkim 투약번호추가
  185. var drugnor = ds_main_prcpdetl_prcpdetllist.getColumn(r, "drugno");
  186. if(mixk == mixr && actordddr == actordddk && rsrvtmr == rsrvtmk && ordddr == ordddk && drugno == drugnor && drugno!= 0){
  187. ds_main_prcpdetl_prcpdetllist.setColumn(r, "stat", 2);
  188. }
  189. }
  190. }
  191. //if(printyn == "Y" && execprcpstatcd != "610"){
  192. //grd_prcpdetl.cellstyle("background-color", i, 0, i, 23) = '#FFFFCC';
  193. //}
  194. if(execprcpstatcd == "500" || execprcpstatcd == "505" || execprcpstatcd == "510"){
  195. ds_main_prcpdetl_prcpdetllist.setColumn(i, "stat", 11);
  196. }
  197. if(execprcpstatcd == "520" || execprcpstatcd == "525"){
  198. ds_main_prcpdetl_prcpdetllist.setColumn(i, "stat", 4);
  199. }
  200. if(execprcpstatcd == "530"){
  201. if (blodcomstat == "8") {
  202. ds_main_prcpdetl_prcpdetllist.setColumn(i, "stat", 14); //잔여폐기
  203. }
  204. else {
  205. ds_main_prcpdetl_prcpdetllist.setColumn(i, "stat", 5); //불출
  206. }
  207. }
  208. if(execprcpstatcd == "540"){
  209. ds_main_prcpdetl_prcpdetllist.setColumn(i, "stat", 7);
  210. }
  211. if(execprcpstatcd == "550"){
  212. ds_main_prcpdetl_prcpdetllist.setColumn(i, "stat", 8);
  213. }
  214. if(execprcpstatcd == "560"){
  215. if (etcprcpresncd == "07" || etcprcpresncd == "12") {
  216. ds_main_prcpdetl_prcpdetllist.setColumn(i, "stat", 14); //잔여폐기
  217. }
  218. else {
  219. ds_main_prcpdetl_prcpdetllist.setColumn(i, "stat", 9); //폐기의뢰
  220. }
  221. }
  222. if(execprcpstatcd == "570"){
  223. ds_main_prcpdetl_prcpdetllist.setColumn(i, "stat", 10);
  224. }
  225. if(execprcpstatcd == "320"){
  226. ds_main_prcpdetl_prcpdetllist.setColumn(i, "stat", 5);
  227. }
  228. if(prcpclscd =="B4"){
  229. if(execprcpstatcd == "610"){
  230. ds_main_prcpdetl_prcpdetllist.setColumn(i, "stat", 12);
  231. }
  232. }else{
  233. if(execprcpstatcd == "610"){
  234. ds_main_prcpdetl_prcpdetllist.setColumn(i, "stat", 6);
  235. }
  236. }
  237. var mix = ds_main_prcpdetl_prcpdetllist.getColumn(i, "mix");
  238. var actorddd = ds_main_prcpdetl_prcpdetllist.getColumn(i, "actorddd");
  239. var rsrvtm = ds_main_prcpdetl_prcpdetllist.getColumn(i, "rsrvtm1");
  240. var orddd = ds_main_prcpdetl_prcpdetllist.getColumn(i, "orddd");
  241. var enddd = ds_main_prcpdetl_prcpdetllist.getColumn(i, "enddd");
  242. if(prcpclscd == "A7"){
  243. for (k=0; k<Row; k++){
  244. var mixs = ds_main_prcpdetl_prcpdetllist.getColumn(k, "mix");
  245. var actorddds = ds_main_prcpdetl_prcpdetllist.getColumn(k, "actorddd");
  246. var rsrvtms = ds_main_prcpdetl_prcpdetllist.getColumn(k, "rsrvtm1");
  247. var orddds = ds_main_prcpdetl_prcpdetllist.getColumn(k, "orddd");
  248. //20090527 dhkim 투약번호추가
  249. var drugnos = ds_main_prcpdetl_prcpdetllist.getColumn(k, "drugno");
  250. if(mix == mixs && mix != '-' && actorddds == actorddd && rsrvtms == rsrvtm && orddds == orddd && drugno == drugnos && drugno!= 0){
  251. //alert(mixs+'/'+mix+'/'+actorddds+'/'+actorddd+'/'+rsrvtms+'/'+rsrvtms+'/'+orddds+'/'+orddd);
  252. ds_main_prcpdetl_prcpdetllist.setColumn(k, "prcpclscd", 'A7');
  253. //model.setValue(xPrcpDetlPath+"["+k+"]/execprcpstatcd",'A7');
  254. }
  255. }
  256. }
  257. //20090527 dhkim 무균추가
  258. if(prcpclscd == "A9"){
  259. for (k=0; k<Row; k++){
  260. var mixs = ds_main_prcpdetl_prcpdetllist.getColumn(k, "mix");
  261. var actorddds = ds_main_prcpdetl_prcpdetllist.getColumn(k, "actorddd");
  262. var rsrvtms = ds_main_prcpdetl_prcpdetllist.getColumn(k, "rsrvtm1");
  263. var orddds = ds_main_prcpdetl_prcpdetllist.getColumn(k, "orddd");
  264. var drugnos = ds_main_prcpdetl_prcpdetllist.getColumn(k, "drugno");
  265. if(mix == mixs && mix != '-' && actorddds == actorddd && rsrvtms == rsrvtm && orddds == orddd && drugno == drugnos && drugno!= 0){
  266. ds_main_prcpdetl_prcpdetllist.setColumn(k, "prcpclscd", 'A9');
  267. }
  268. }
  269. }
  270. // 마감처방 색깔표시 되도록
  271. //if ( !utlf_isNull(enddd) ) {
  272. //grd_prcpdetl.cellstyle("background-color", i, 0, i, 25) = '#ffcccc';
  273. //}
  274. }
  275. }
  276. }
  277. /**
  278. * @group :
  279. * @ver : 2008.09.03
  280. * @by : 정경화
  281. * @---------------------------------------------------
  282. * @type : function
  283. * @access : public
  284. * @desc : 시행일자 클릭시 시행여부 완료로 되도록
  285. * @param :
  286. * @return :
  287. * @---------------------------------------------------
  288. */
  289. function ftermcbxClick(){
  290. var chkstatus = ds_main_refspec.getColumn(0, "termkind");
  291. /* 시행일자 선택시 */
  292. if (chkstatus == "1") {
  293. ds_main_refspec.setColumn(0, "execflag",2); // 시행여부가 완료로 선택되도록
  294. ds_main_refspec.setColumn(0, "endflag","N"); // 마감콤보가 마감전으로 선택되도록
  295. }
  296. }
  297. ]]></Script>