SPADC60310.xjs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[
  3. var DrugType_Value = "1|10|11|12|13|14|15|16|17|18|19";
  4. var TmpDrugType_Value = "";
  5. /**
  6. * 초기화
  7. */
  8. function fInit() {
  9. // 제형 초기화 ( 정제류와 캡슐류를 분리 )
  10. ds_hidden_drugidinfo.setColumn(0,"drugtype","");
  11. ds_hidden_drugidinfo.setColumn(0,"drugtype", DrugType_Value+"|2|3");
  12. ds_temp.setColumn(0,"tmpdrugtype","2|3");
  13. ds_temp.setColumn(0,"etcdrugtype","");
  14. // 기타 컨트롤 초기화
  15. ds_hidden_drugidinfo.setColumn(0,"char",""); //문자
  16. ds_hidden_drugidinfo.setColumn(0,"drugcd",""); //원내코드
  17. ds_hidden_drugidinfo.setColumn(0,"comcnts",""); //성분명
  18. ds_hidden_drugidinfo.setColumn(0,"hngnm",""); //한글상품명
  19. ds_hidden_drugidinfo.setColumn(0,"engnm",""); //영문상품명
  20. ds_hidden_drugidinfo.setColumn(0,"shapecd",""); //모양
  21. ds_hidden_drugidinfo.setColumn(0,"prodcmpynm",""); //회사
  22. ds_hidden_drugidinfo.setColumn(0,"divline1",""); //분할선 앞
  23. ds_hidden_drugidinfo.setColumn(0,"divline2",""); //분할선 뒤
  24. ds_hidden_drugidinfo.setColumn(0,"color",""); // 색상
  25. ds_hidden_drugidinfo.setColumn(0,"shape",""); // 문양
  26. ds_hidden_drugidinfo.setColumn(0,"atccodeyn",""); // 같은ATC성분코드 포함
  27. ds_hidden_drugidinfo.setColumn(0, "srchname", "");
  28. ds_hidden_drugidinfo.setColumn(0, "char2", "");
  29. ds_hidden_drugidinfo.setColumn(0, "shapephot", "");
  30. setColorBoder("all");
  31. fInitSetColorform("all");
  32. setClearBorderStyle("1");
  33. combo2.visible = false;
  34. rdo_devline00.visible = false;
  35. ipt_shape.visible = false;
  36. output2.visible = false;
  37. //rdo_devline1.visible=false;
  38. //rdo_devline2.visible=false;
  39. //radio3.visible=false;
  40. //rdo_devline00.visible=false;
  41. //chk_atccodeyn.visible=false;
  42. //input5.visible=false;
  43. Div01.visible=false;
  44. chk_color.setCheckAll(false);
  45. }
  46. /**
  47. * 제형 체크박스 선택
  48. */
  49. function fDrugTypeChk(chk) {
  50. if(chk == "A"){
  51. ds_hidden_drugidinfo.setColumn(0,"drugtype", DrugType_Value);
  52. } else if(chk == "D"){
  53. ds_hidden_drugidinfo.setColumn(0,"drugtype", "");
  54. }
  55. }
  56. /**
  57. * 약품식별 정보 조회
  58. */
  59. function fSrchDrugId(page) {
  60. //=================조회조건 초기화 시작 ==================================================================
  61. var char1 = ds_hidden_drugidinfo.getColumn(0, "char");
  62. var char2 = ds_hidden_drugidinfo.getColumn(0, "char2");
  63. var drugcd = ds_hidden_drugidinfo.getColumn(0, "drugcd");
  64. var comcnts = ds_hidden_drugidinfo.getColumn(0, "comcnts");
  65. var hngnm = ds_hidden_drugidinfo.getColumn(0, "hngnm");
  66. var engnm = ds_hidden_drugidinfo.getColumn(0, "engnm");
  67. var srchname = ds_hidden_drugidinfo.getColumn(0, "srchname");
  68. var shapecd = ds_hidden_drugidinfo.getColumn(0, "shapecd");
  69. var prodcmpynm = ds_hidden_drugidinfo.getColumn(0, "prodcmpynm");
  70. var color = ds_hidden_drugidinfo.getColumn(0, "color");
  71. var shape = ds_hidden_drugidinfo.getColumn(0, "shape");
  72. var divideline = ds_hidden_drugidinfo.getColumn(0, "divideline");
  73. var form = ds_hidden_drugidinfo.getColumn(0, "form");
  74. if(utlf_isNull(char1) && utlf_isNull(char2) && utlf_isNull(drugcd) && utlf_isNull(comcnts) && utlf_isNull(hngnm)
  75. && utlf_isNull(engnm) && utlf_isNull(srchname) && utlf_isNull(shapecd) && utlf_isNull(prodcmpynm) && utlf_isNull(color)
  76. && utlf_isNull(shape) && utlf_isNull(divideline) && utlf_isNull(form)) {
  77. sysf_messageBox("검색조건을 하나라도 입력하여야합니다", "E");
  78. return;
  79. }
  80. if(page == null || page == "") {
  81. ds_hidden_drugidinfo.setColumn(0, "page", "1");
  82. }
  83. ds_send_drugidinfo.copyData(ds_hidden_drugidinfo);
  84. var drugtype = ds_send_drugidinfo.getColumn(0,"drugtype");
  85. var tmpdrugtype = ds_temp.getColumn(0,"tmpdrugtype");
  86. if(!utlf_isNull(drugtype)) ds_send_drugidinfo.setColumn(0,"drugtype", drugtype +"|"+ tmpdrugtype);
  87. else ds_send_drugidinfo.setColumn(0,"drugtype", tmpdrugtype);
  88. var drugtype = ds_send_drugidinfo.getColumn(0,"drugtype").split("|");
  89. ds_send_drugidinfo.setColumn(0,"drugtype",drugtype);
  90. var dutplceinstcd = sysf_getUserInfo("dutplceinstcd");
  91. ds_send_drugidinfo.setColumn(0,"instcd",dutplceinstcd);
  92. //20190213 재조회시 선택된 색깔정보를 넘기지 않아 새로 담음.
  93. ds_send_drugidinfo.setColumn(0,"color",String(chk_color.getData()).replace(",", "+"));
  94. //=================조회조건 초기화 종료 ==================================================================
  95. var oParam = {};
  96. oParam.id = "TRADB60301";
  97. oParam.service = "pharmacyconsultapp.DrugId";
  98. oParam.method = "reqGetKimsDrugId";
  99. oParam.inds = "req=ds_send_drugidinfo";
  100. oParam.outds = "ds_main_drugidlist=drugidlist ds_pageinfo=pagelist ds_total=totlist";
  101. oParam.async = false;
  102. oParam.callback = "cf_TRADB60301";
  103. tranf_submit(oParam);
  104. var nodeCnt = ds_main_drugidlist.rowcount;
  105. // for( var i = 0 ; i < nodeCnt ; i++ ) {
  106. // setImageRefInstance("/root/main/drugidlist["+i+"]/phot");
  107. // }
  108. if(grd_drugid.getFormatColProperty(2,"size") < 270) grd_drugid.setFormatColProperty(2,"size",270);
  109. // for( var i = 1; i < ds_main_drugidlist.rowcount; i++ ) {
  110. // if(grd_drugid.getFormatRowProperty(i,"size") < 100) grd_drugid.setFormatRowProperty(i,"size",100);
  111. // }
  112. if(nodeCnt >= 2000){
  113. sysf_messageBox("조회결과 최대값 : 2000 \n\n정확한 검색결과를 위해 조회조건을 추가하여 조회","I008");
  114. }
  115. }
  116. function cf_TRADB60301(sSvcId, nErrorCode, sErrorMsg) {
  117. if(nErrorCode < 0) return;
  118. dsf_setTypeFormat(ds_main_drugidlist, "phot:STRING^longax:INT^shrtax:INT");
  119. }
  120. function fMakeCopyColumn(objDs,sColSrc,sColTgt) {
  121. if(utlf_isNull(objDs.getColumnInfo(sColTgt))) objDs.addColumn(sColTgt,"string");
  122. for(var i = 0 ; i < objDs.rowcount ; i++) {
  123. objDs.setColumn(i,sColTgt,objDs.getColumn(i,sColSrc));
  124. }
  125. }
  126. /**
  127. * 등록버튼 클릭시 openner 그리드에 데이터 insert
  128. */
  129. function fInsOpenerDrugID() {
  130. if ( frmf_checkOpener() ) {
  131. /* 적용된 약품식별 데이터는 색상변경 */
  132. ds_main_drugidlist.addColumn("copyYN","string");
  133. var str_trgt_grid = opener.group3.grd_drugid.binddataset;
  134. var ds_trgt_grid = opener.objects[str_trgt_grid];
  135. var hngnm;
  136. var comcls;
  137. var photoid;
  138. var hngnm2;
  139. var comcls2;
  140. var photoid2;
  141. var drugcd;
  142. var cnt = 0;
  143. ds_send_drugdetl.clearData();
  144. for(var i = 0; i < ds_main_drugidlist.rowcount; i++){
  145. hngnm = ds_main_drugidlist.getColumn(i, "hngnm");
  146. comcls = ds_main_drugidlist.getColumn(i, "comcls");
  147. photoid = ds_main_drugidlist.getColumn(i, "photoid");
  148. drugcd = ds_main_drugidlist.getColumn(i, "drugcd");
  149. if(ds_main_drugidlist.getColumn(i,"sel") == "true"){
  150. cnt = 0;
  151. for(var j = 0; j < ds_trgt_grid.rowcount; j++) {
  152. hngnm2 = ds_trgt_grid.getColumn(j, "hngnm");
  153. comcls2 = ds_trgt_grid.getColumn(j, "comcls");
  154. photoid2 = ds_trgt_grid.getColumn(j, "photoid");
  155. if(hngnm == hngnm2 && comcls == comcls2 && photoid == photoid2) {
  156. cnt++;
  157. }
  158. }
  159. if(cnt == 0) {
  160. var idx = ds_send_drugdetl.addRow();
  161. ds_send_drugdetl.setColumn(idx, "no", i);
  162. ds_send_drugdetl.setColumn(idx, "comcls", comcls);
  163. ds_send_drugdetl.setColumn(idx, "ingcd", comcls.substr(0,4));
  164. ds_send_drugdetl.setColumn(idx, "content", comcls.substr(4,2));
  165. ds_send_drugdetl.setColumn(idx, "drugcd", drugcd);
  166. }
  167. }
  168. }
  169. if(ds_send_drugdetl.rowcount > 0) {
  170. var oParam = {};
  171. oParam.id = "TRADB60301";
  172. oParam.service = "pharmacyconsultapp.DrugId";
  173. oParam.method = "reqGetDrugComclsInfo";
  174. oParam.inds = "req=ds_send_drugdetl";
  175. oParam.outds = "ds_main_drugdetl=info";
  176. oParam.async = false;
  177. oParam.callback = "cf_TRADB60301";
  178. tranf_submit(oParam);
  179. }
  180. if(ds_main_drugdetl.rowcount > 0) {
  181. var no;
  182. var samedrug;
  183. var homodrugcd;
  184. var outyn;
  185. for(var i = 0; i < ds_main_drugdetl.rowcount; i++) {
  186. no = ds_main_drugdetl.getColumn(i, "no");
  187. samedrug = ds_main_drugdetl.getColumn(i, "samedrug");
  188. homodrugcd = ds_main_drugdetl.getColumn(i, "homodrugcd");
  189. outyn = ds_main_drugdetl.getColumn(i, "outyn");
  190. ds_main_drugidlist.setColumn(no, "samedrug", samedrug);
  191. ds_main_drugidlist.setColumn(no, "homodrugcd", homodrugcd);
  192. ds_main_drugidlist.setColumn(no, "outyn", outyn);
  193. }
  194. }
  195. for(var i = 0; i < ds_main_drugidlist.rowcount; i++){
  196. hngnm = ds_main_drugidlist.getColumn(i, "hngnm");
  197. comcls = ds_main_drugidlist.getColumn(i, "comcls");
  198. photoid = ds_main_drugidlist.getColumn(i, "photoid");
  199. if(ds_main_drugidlist.getColumn(i,"sel") == "true"){
  200. ds_main_drugidlist.setColumn(i,"copyYN","Y");
  201. //grd_drugid.rowStyle(i, "data", "background-color") = "#ffff99";
  202. /* 본원 사용 여부 판단을 위함
  203. 1.약품코드 존재시에는 본원사용여부 : O
  204. 2.약품코드 없고 성분코드 존재시 체크 => 동일한 성분코드 중 약품코드 존재시 본원사용 : "O (타회사)" , 없으면 "X"
  205. 3.약품코드와 성분코드 모두 존재하지 않을시 본원사용여부 : X
  206. */
  207. /*
  208. var atccode = ds_main_drugidlist.getColumn(i,"atccode");
  209. var drugcd = ds_main_drugidlist.getColumn(i,"drugcd");
  210. if(drugcd != ""){
  211. model.setValue("/root/main/drugidlist["+i+"]/useyn","O");
  212. }else if(drugcd == "" && atccode != ""){
  213. model.copyNode("/root/send/srchuseyn","/root/main/drugidlist["+i+"]");
  214. submit("TRADB60302");
  215. var cnt_node = getNodesetCount("/root/hidden/useyninfo");
  216. for(var j = 1; j <= cnt_node; j++){
  217. //alert(model.getValue("/root/hidden/useyninfo["+j+"]/useyn"));
  218. if(model.getValue("/root/hidden/useyninfo["+j+"]/useyn") == "Y"){
  219. model.setValue("/root/main/drugidlist["+i+"]/useyn","O\n(타회사)");
  220. break;
  221. }else{
  222. model.setValue("/root/main/drugidlist["+i+"]/useyn","X");
  223. }
  224. }
  225. }else{
  226. model.setValue("/root/main/drugidlist["+i+"]/useyn","X");
  227. }
  228. */
  229. cnt = 0;
  230. for(var j = 0; j < ds_trgt_grid.rowcount; j++) {
  231. hngnm2 = ds_trgt_grid.getColumn(j, "hngnm");
  232. comcls2 = ds_trgt_grid.getColumn(j, "comcls");
  233. photoid2 = ds_trgt_grid.getColumn(j, "photoid");
  234. if(hngnm == hngnm2 && comcls == comcls2 && photoid == photoid2) {
  235. cnt++;
  236. }
  237. }
  238. if(cnt > 0) {
  239. continue;
  240. }
  241. var trgt_node_set = ds_trgt_grid.addRow();
  242. ds_trgt_grid.setColumn(trgt_node_set, "hngnm", ds_main_drugidlist.getColumn(i, "hngnm"));
  243. ds_trgt_grid.setColumn(trgt_node_set, "kimsyn",ds_main_drugidlist.getColumn(i, "kimsyn"));
  244. ds_trgt_grid.setColumn(trgt_node_set, "comcnts",ds_main_drugidlist.getColumn(i, "comcnts"));
  245. ds_trgt_grid.setColumn(trgt_node_set, "efcysmm",ds_main_drugidlist.getColumn(i, "kimsclass"));
  246. ds_trgt_grid.setColumn(trgt_node_set, "phot2",ds_main_drugidlist.getColumn(i, "phot2"));
  247. ds_trgt_grid.setColumn(trgt_node_set, "photoid",ds_main_drugidlist.getColumn(i, "photoid"));
  248. ds_trgt_grid.setColumn(trgt_node_set, "comcls",ds_main_drugidlist.getColumn(i, "comcls"));
  249. ds_trgt_grid.setColumn(trgt_node_set, "bigphot",ds_main_drugidlist.getColumn(i, "bigphot"));
  250. ds_trgt_grid.setColumn(trgt_node_set, "samedrug",ds_main_drugidlist.getColumn(i, "samedrug"));
  251. ds_trgt_grid.setColumn(trgt_node_set, "homodrugflag",ds_main_drugidlist.getColumn(i, "homodrugcd"));
  252. ds_trgt_grid.setColumn(trgt_node_set, "photyn","Y");
  253. if(ds_main_drugidlist.getColumn(i, "drugcd") != "") {
  254. if(ds_main_drugidlist.getColumn(i, "outyn") == "Y") {
  255. ds_trgt_grid.setColumn(trgt_node_set, "useyn","O\n(원외전용)");
  256. } else if(ds_main_drugidlist.getColumn(i, "outyn") == "O") {
  257. ds_trgt_grid.setColumn(trgt_node_set, "useyn","O");
  258. ds_trgt_grid.setColumn(trgt_node_set, "homodrugflag", "");
  259. } else {
  260. ds_trgt_grid.setColumn(trgt_node_set, "useyn","X");
  261. }
  262. } else {
  263. ds_trgt_grid.setColumn(trgt_node_set, "useyn","X");
  264. }
  265. }
  266. }
  267. //astfInsertGridData(grd_drugid, opener.group3.grd_drugid, "2", "sel", "", "photoid,photoid,hngnm,hngnm");
  268. opener.fImgSetting(false);
  269. } else {
  270. sysf_messageBox("상위화면이 변경되어 데이터를 전달할 수 ","I004");
  271. }
  272. }
  273. function getNodesetCnt(srchModel,path)
  274. {
  275. // if(srchModel == null){
  276. // srchModel = model;
  277. // }
  278. // var insXml = srchModel.instances(0);
  279. // var nodeList = insXml.selectNodes(path);
  280. // return nodeList.length;
  281. }]]></Script>