SMMMB00700.xjs 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  4. 약속수술관리 ( SMMMB00700_약속수술관리.xrw - JScript )
  5. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  6. *//**
  7. * @desc : 약속수술관리 초기화
  8. * @
  9. * @param :
  10. * @return :
  11. * @---------------------------------------------------
  12. */
  13. function fInitialize_SMMMB00700(){
  14. ds_etcprmsprcpsetdetllist.clearData();
  15. ds_opprcplist.clearData();
  16. ds_mechlist.clearData();
  17. // zbcfGetCodeList(new Array("M0029",
  18. // "M0007"),
  19. // new Array("/root/init/M0029",
  20. // "/root/init/M0007"));
  21. var arrParam = new Array();
  22. arrParam = [{dsNm: "ds_M0029", cdGrpId: "M0029", sortField: "cdnm", sortMehotd: "asc", showValue:true}
  23. , {dsNm: "ds_M0007", cdGrpId: "M0007", sortField: "cdnm", sortMehotd: "asc", showValue:true}];
  24. appf_getCodeList(arrParam, true);
  25. }
  26. /**
  27. * @desc : 약속수술용어 등록
  28. * @
  29. * @param :
  30. * @return :
  31. * @---------------------------------------------------
  32. */
  33. function fRsgtPrmsOpTerm(){
  34. var setno = ds_prmsprcpsetdetlset.getColumn(0,"setno");
  35. if(setno == ""){
  36. sysf_messageBox("SET폴더를","C002");
  37. return;
  38. }
  39. frmf_modal("SPMMO03300", "SPMMO03300", "", "", "", "", "", "", "", "", "", "", "M")
  40. var useyn = frmf_getParameter("SPMMO03300_rtn_useyn");
  41. if(useyn == "N" || useyn == ""){
  42. return;
  43. }else{
  44. var totcnt = ds_temp_selectoplist.rowcount;
  45. var setno = ds_prmsprcpsetdetlset.getColumn(0,"setno");
  46. var settypcd = ds_prmsprcpsetdetlset.getColumn(0,"settypecd");
  47. for(var i = 0; i < totcnt; i++){
  48. ds_etcprmsprcpsetdetllist.addRow();
  49. var currow = ds_etcprmsprcpsetdetllist.rowposition;
  50. var opcd = ds_temp_selectoplist.getColumn(i,"opcd");
  51. var opengnm = ds_temp_selectoplist.getColumn(i,"opengnm");
  52. var ophngnm = ds_temp_selectoplist.getColumn(i,"ophngnm");
  53. ds_etcprmsprcpsetdetllist.setColumn(currow,"setno" , setno);
  54. ds_etcprmsprcpsetdetllist.setColumn(currow,"settypecd", settypcd);
  55. ds_etcprmsprcpsetdetllist.setColumn(currow,"detlsetcd", opcd);
  56. ds_etcprmsprcpsetdetllist.setColumn(currow,"engnm" , opengnm);
  57. ds_etcprmsprcpsetdetllist.setColumn(currow,"hngnm" , ophngnm);
  58. }
  59. }
  60. }
  61. /**
  62. * @desc : 수술용어 수가내역 조회
  63. * @
  64. * @param : termcd : 수술용어코드
  65. * @return :
  66. * @---------------------------------------------------
  67. */
  68. function fReqOpTermMechHistList(termcd){
  69. ds_reqdata.clear();
  70. dsf_makeValue(ds_reqdata,"termcd","string", termcd);
  71. var oParam = {};
  72. oParam.id = "TRMMB00605";
  73. oParam.service = "prcpbaseapp.PrmsPrcpMngt";
  74. oParam.method = "reqGetOpTermMechHistList";
  75. oParam.inds = "req=ds_reqdata";
  76. oParam.outds = "ds_mechlist=mechlist";
  77. oParam.async = false;
  78. oParam.callback = "cf_TRMMB00605";
  79. tranf_submit(oParam);
  80. }
  81. function cf_TRMMB00605(sSvcId, nErrorCode, sErrorMsg) {
  82. if(nErrorCode < 0) return;
  83. }
  84. /**
  85. * @desc : 약속수술용어 조회
  86. * @
  87. * @param :
  88. * @return :
  89. * @---------------------------------------------------
  90. */
  91. function fReqGetPrmsSet(){
  92. var setno = ds_prmsprcpsetdetlset.getColumn(0,"setno");
  93. var settypecd = ds_prmsprcpsetdetlset.getColumn(0,"settypecd");
  94. ds_reqdata.clear();
  95. dsf_makeValue(ds_reqdata,"setno","string", setno);
  96. dsf_makeValue(ds_reqdata,"settypecd","string", settypecd);
  97. var oParam = {};
  98. oParam.id = "TRMMB00602";
  99. oParam.service = "prcpbaseapp.PrmsPrcpMngt";
  100. oParam.method = "reqGetEtcPrmsPrcpDetlSetList";
  101. oParam.inds = "req=ds_reqdata";
  102. oParam.outds = "ds_etcprmsprcpsetdetllist=etcprmsprcpsetdetllist";
  103. oParam.async = false;
  104. oParam.callback = "cf_TRMMB00602";
  105. tranf_submit(oParam);
  106. }
  107. /**
  108. * @desc : 수술용어 처방 조회
  109. * @
  110. * @param : setcdno - SET코드번호
  111. * : termcd - 용어코드
  112. * @return :
  113. * @author : 오지훈
  114. * @---------------------------------------------------
  115. */
  116. function fReqGetOpTermPrcp(setcdno, termcd){
  117. var setno = ds_prmsprcpsetdetlset.getColumn(0,"setno");
  118. var settypecd = ds_prmsprcpsetdetlset.getColumn(0,"settypecd");
  119. ds_reqdata.clear();
  120. dsf_makeValue(ds_reqdata,"setno","string", setno);
  121. dsf_makeValue(ds_reqdata,"settypecd","string", settypecd);
  122. dsf_makeValue(ds_reqdata,"setcdno","string", setcdno);
  123. dsf_makeValue(ds_reqdata,"termcd","string", termcd);
  124. var oParam = {};
  125. oParam.id = "TRMMB00606";
  126. oParam.service = "prcpbaseapp.PrmsPrcpMngt";
  127. oParam.method = "reqGetOpTermPrcpList";
  128. oParam.inds = "req=ds_reqdata";
  129. oParam.outds = "ds_opprcplist=opprcplist";
  130. oParam.async = false;
  131. oParam.callback = "cf_TRMMB00606";
  132. tranf_submit(oParam);
  133. }
  134. function cf_TRMMB00606(sSvcId, nErrorCode, sErrorMsg) {
  135. if(nErrorCode < 0) return;
  136. }
  137. /**
  138. * @desc : 수술코드 복사
  139. * @
  140. * @param :
  141. * @return :
  142. * @---------------------------------------------------
  143. */
  144. function fCopyOpCD(){
  145. for(var i = 0; i < ds_etcprmsprcpsetdetllist.rowcount; i++){
  146. if(ds_etcprmsprcpsetdetllist.getSelect(i) == true){
  147. var newrow = ds_copy.addRow();
  148. sysf_trace("ds_copy.rowcount : " + ds_copy.rowcount);
  149. ds_copy.copyRow(newrow,ds_etcprmsprcpsetdetllist,i);
  150. }
  151. }
  152. }
  153. /**
  154. * @desc : 수술코드 붙여넣기
  155. * @
  156. * @param :
  157. * @return :
  158. * @---------------------------------------------------
  159. */
  160. function fPasteOpCD(){
  161. var setno = ds_prmsprcpsetdetlset.getColumn(0,"setno");
  162. var settypecd = ds_prmsprcpsetdetlset.getColumn(0,"settypecd");
  163. var totcnt = ds_copy.rowcount;
  164. for(var i = 0; i < totcnt ; i++){
  165. var detlsetcd = ds_copy.getColumn(i,"detlsetcd");
  166. var engnm = ds_copy.getColumn(i,"engnm");
  167. var hngnm = ds_copy.getColumn(i,"hngnm");
  168. var trgtrow = ds_etcprmsprcpsetdetllist.findRow("detlsetcd",detlsetcd);
  169. if(trgtrow < 1){
  170. currow = ds_etcprmsprcpsetdetllist.addRow();
  171. ds_etcprmsprcpsetdetllist.setColumn(currow, "setno" , setno);
  172. ds_etcprmsprcpsetdetllist.setColumn(currow, "settypecd" , settypecd);
  173. ds_etcprmsprcpsetdetllist.setColumn(currow, "detlsetcd" , detlsetcd);
  174. ds_etcprmsprcpsetdetllist.setColumn(currow, "engnm" , engnm);
  175. ds_etcprmsprcpsetdetllist.setColumn(currow, "hngnm" , hngnm);
  176. }else{
  177. sysf_messageBox("[" + detlsetcd + "] 수술코드는 이미", "E006");
  178. continue;
  179. }
  180. }
  181. ds_copy.clearData();
  182. }
  183. /**
  184. * @desc : 약속SET 과색인 조회
  185. * @
  186. * @param :
  187. * @return :
  188. * @---------------------------------------------------
  189. */
  190. function fReqPrmsDeptIndxList(){
  191. var oParam = {};
  192. oParam.id = "TRMMB00702";
  193. oParam.service = "prcpmngtapp.PatDiagMngt";
  194. oParam.method = "reqGetDeptIndxOpTermList";
  195. oParam.inds = "req=ds_reqdata";
  196. oParam.outds = "ds_etcprmsprcpsetdetllist=opcdlist";
  197. oParam.async = false;
  198. oParam.callback = "cf_TRMMB00702";
  199. tranf_submit(oParam);
  200. }
  201. function cf_TRMMB00702(sSvcId, nErrorCode, sErrorMsg) {
  202. if(nErrorCode < 0) return;
  203. ds_etcprmsprcpsetdetllist.updateColID("opcd","detlsetcd");
  204. ds_etcprmsprcpsetdetllist.updateColID("dispopcd","dispdiagcd");
  205. ds_etcprmsprcpsetdetllist.updateColID("opengnm","engnm");
  206. ds_etcprmsprcpsetdetllist.updateColID("ophngnm","hngnm");
  207. }
  208. /**
  209. * @desc : 수술용어처방 추가
  210. * @
  211. * @param :
  212. * @return :
  213. * @---------------------------------------------------
  214. */
  215. function fAddOpTerm(){
  216. var currow = ds_etcprmsprcpsetdetllist.rowposition;
  217. if(currow > -1){
  218. var prmsflag = opener.ds_cond.getColumn(0,"prmsflag");
  219. if(prmsflag == "P"){ //개인
  220. var status = "i"; //신규등록
  221. var opcd = ds_etcprmsprcpsetdetllist.getColumn(currow, "detlsetcd");
  222. var opengnm = ds_etcprmsprcpsetdetllist.getColumn(currow, "engnm");
  223. var setno = ds_etcprmsprcpsetdetllist.getColumn(currow, "setno");
  224. var settypecd = ds_etcprmsprcpsetdetllist.getColumn(currow, "settypecd");
  225. var setcdno = ds_etcprmsprcpsetdetllist.getColumn(currow, "setcdno");
  226. }else{ //과, 타과
  227. var status = "c"; //신규등록 약속수술용어, 용어처방 동시에 등록
  228. var opcd = ds_etcprmsprcpsetdetllist.getColumn(currow, "detlsetcd");
  229. var opengnm = ds_etcprmsprcpsetdetllist.getColumn(currow, "engnm");
  230. var setno = ds_prmsprcpsetdetlset.getColumn(0,"setno");
  231. var settypecd = ds_prmsprcpsetdetlset.getColumn(0,"settypecd");
  232. var setcdno = "";
  233. }
  234. var icnt = 0;
  235. var totrow = ds_mechlist.rowcount;
  236. for(var i = 0; i < totrow; i++){
  237. if(ds_mechlist.getColumn(i,"bootflag") == "1"){
  238. var prcpcd = ds_mechlist.getColumn(i,"calcscorcd");
  239. //처방코드를 비교, 이미 등록된 경우, skip
  240. ds_opprcplist.filter("prcpcd == '" + prcpcd + "'");
  241. ds_opprcplist.applyChange();
  242. if(ds_opprcplist.rowcount > 0){
  243. sysf_messageBox("[" + prcpcd + "]처방이", "E006");
  244. ds_opprcplist.filter("");
  245. return;
  246. }
  247. ds_opprcplist.filter("");
  248. //SET번호, SET형태코드가 null인 경우, error
  249. if(setno == "" || settypecd == ""){
  250. sysf_messageBox("용어처방코드를 등록할 개인수술SET을", "C002");
  251. return;
  252. }
  253. var ordnm = ds_mechlist.getColumn(i,"ordnm");
  254. var newrow = ds_opprcplist.addRow();
  255. icnt++;
  256. ds_opprcplist.setColumn(newrow,"status" , status);
  257. ds_opprcplist.setColumn(newrow,"setno" , setno);
  258. ds_opprcplist.setColumn(newrow,"setcdno" , setcdno);
  259. ds_opprcplist.setColumn(newrow,"settypecd" , settypecd);
  260. ds_opprcplist.setColumn(newrow,"optermcd" , opcd);
  261. ds_opprcplist.setColumn(newrow,"opengnm" , opengnm);
  262. ds_opprcplist.setColumn(newrow,"prcpcd" , prcpcd);
  263. ds_opprcplist.setColumn(newrow,"ordnm" , ordnm);
  264. ds_opprcplist.setColumn(newrow,"payflagcd" , "0");
  265. ds_opprcplist.setColumn(newrow,"opansflagcd" , "-");
  266. }
  267. }
  268. }
  269. }
  270. /**
  271. * @desc : 수술용어처방 검색
  272. * @
  273. * @param :
  274. * @return :
  275. * @---------------------------------------------------
  276. */
  277. function fFindOp(){
  278. var srchflag = "";
  279. var srchdata = input1.text;
  280. if(utlf_isHangul(srchdata) == "H"){
  281. srchflag = "H";
  282. }else{
  283. var ch = srchdata.charAt(1);
  284. if(ch.isNumber == true){
  285. srchflag = "C";
  286. }else{
  287. srchflag = "E";
  288. }
  289. }
  290. var prmsflag = opener.ds_cond.getColumn(0,"prmsflag");
  291. if(prmsflag == "P"){
  292. var setno = ds_prmsprcpsetdetlset.getColumn(0,"setno");
  293. var settypecd = ds_prmsprcpsetdetlset.getColumn(0,"settypecd");
  294. if(setno == "" || settypecd == ""){
  295. sysf_messageBox("수술용어 검색할 폴더를", "C002");
  296. return;
  297. }
  298. ds_reqdata.clear();
  299. dsf_makeValue(ds_reqdata,"setno","string", setno);
  300. dsf_makeValue(ds_reqdata,"settypecd","string", settypecd);
  301. dsf_makeValue(ds_reqdata,"srchflag","string", srchflag);
  302. dsf_makeValue(ds_reqdata,"srchdata","string", srchdata.toUpperCase());
  303. ds_cond.setColumn(0,"rsltsrch",srchdata);
  304. var oParam = {};
  305. oParam.id = "TRMMB00602";
  306. oParam.service = "prcpbaseapp.PrmsPrcpMngt";
  307. oParam.method = "reqGetEtcPrmsPrcpDetlSetList";
  308. oParam.inds = "req=ds_reqdata";
  309. oParam.outds = "ds_etcprmsprcpsetdetllist=etcprmsprcpsetdetllist";
  310. oParam.async = false;
  311. oParam.callback = "cf_TRMMB00602";
  312. tranf_submit(oParam);
  313. }else{
  314. ds_reqdata.clear();
  315. dsf_makeValue(ds_reqdata,"deptindxflag","int", 9);
  316. dsf_makeValue(ds_reqdata,"deptindxcd","string", opener.ds_deptindxcdlist.getColumn(opener.ds_deptindxcdlist.rowposition,"deptindxcd"));
  317. if(prmsflag == "D"){
  318. dsf_makeValue(ds_reqdata,"deptcd","string", sysf_getUserInfo("dutplcecd"));
  319. }else{
  320. dsf_makeValue(ds_reqdata,"deptcd","string", opener.ds_cond.getColumn(0,"deptsetcd"));
  321. }
  322. dsf_makeValue(ds_reqdata,"srchflag","string", srchflag);
  323. dsf_makeValue(ds_reqdata,"srchdata","string", srchdata.toUpperCase());
  324. fReqPrmsDeptIndxList();
  325. }
  326. }
  327. function cf_TRMMB00602(sSvcId, nErrorCode, sErrorMsg) {
  328. if(nErrorCode < 0) return;
  329. ds_mechlist.clearData();
  330. ds_opprcplist.clearData();
  331. }
  332. /**
  333. * @desc : 수술용어처방 저장
  334. * @
  335. * @param :
  336. * @return :
  337. * @---------------------------------------------------
  338. */
  339. function reqSaveExeOpTermPrcp(){
  340. // var savenode = model.instances(0).selectNodes("/root/main/opprcpinfo/opprcplist");
  341. // model.removeNodeset("/root/send/savedata");
  342. // model.makeValue("/root/send/savedata", getNodeListCSV(savenode));
  343. var oParam = {};
  344. oParam.id = "TXMMB00609";
  345. oParam.service = "prcpbaseapp.PrmsPrcpMngt";
  346. oParam.method = "reqExeSaveOpTermPrcp";
  347. oParam.inds = "req=ds_opprcplist";
  348. oParam.outds = "ds_opprcplist=opprcplist";
  349. oParam.async = false;
  350. oParam.callback = "cf_TXMMB00609";
  351. tranf_submit(oParam);
  352. }
  353. function cf_TXMMB00609(sSvcId, nErrorCode, sErrorMsg) {
  354. if(nErrorCode < 0) return;
  355. }
  356. function fAddOpTermDbclk(){
  357. var currow = ds_etcprmsprcpsetdetllist.rowposition;
  358. if(currow > 0){
  359. var prmsflag = opener.ds_cond.getColumn(0,"prmsflag");
  360. if(prmsflag == "P"){ //개인
  361. var status = "i"; //신규등록
  362. var opcd = ds_etcprmsprcpsetdetllist.getColumn(currow, + "detlsetcd");
  363. var opengnm = ds_etcprmsprcpsetdetllist.getColumn(currow, + "engnm");
  364. var setno = ds_etcprmsprcpsetdetllist.getColumn(currow, + "setno");
  365. var settypecd = ds_etcprmsprcpsetdetllist.getColumn(currow, + "settypecd");
  366. var setcdno = ds_etcprmsprcpsetdetllist.getColumn(currow, + "setcdno");
  367. }else{ //과, 타과
  368. var status = "c"; //신규등록 약속수술용어, 용어처방 동시에 등록
  369. var opcd = ds_etcprmsprcpsetdetllist.getColumn(currow, + "detlsetcd");
  370. var opengnm = ds_etcprmsprcpsetdetllist.getColumn(currow, + "engnm");
  371. var setno = ds_prmsprcpsetdetlset.getColumn(0,"setno");
  372. var settypecd = ds_prmsprcpsetdetlset.getColumn(0,"settypecd");
  373. var setcdno = "";
  374. }
  375. var srcrow = ds_mechlist.rowposition;
  376. if(srcrow < 0){
  377. return;
  378. }
  379. var prcpcd = ds_mechlist.getColumn(srcrow,"calcscorcd");
  380. //처방코드를 비교, 이미 등록된 경우, skip
  381. ds_opprcplist.filter("prcpcd == '" + prcpcd + "'");
  382. ds_opprcplist.applyChange();
  383. if(ds_opprcplist.rowcount > 0){
  384. sysf_messageBox("[" + prcpcd + "]처방이", "E006");
  385. ds_opprcplist.filter("");
  386. return;
  387. }
  388. ds_opprcplist.filter("");
  389. //SET번호, SET형태코드가 null인 경우, error
  390. if(setno == "" || settypecd == ""){
  391. sysf_messageBox("용어처방코드를 등록할 개인수술SET을", "C002");
  392. return;
  393. }
  394. var ordnm = ds_mechlist.getColumn(srcrow,"ordnm");
  395. var newrow = ds_opprcplist.addRow();
  396. ds_opprcplist.setColumn(newrow,"status" , status);
  397. ds_opprcplist.setColumn(newrow,"setno" , setno);
  398. ds_opprcplist.setColumn(newrow,"setcdno" , setcdno);
  399. ds_opprcplist.setColumn(newrow,"settypecd" , settypecd);
  400. ds_opprcplist.setColumn(newrow,"optermcd" , opcd);
  401. ds_opprcplist.setColumn(newrow,"opengnm" , opengnm);
  402. ds_opprcplist.setColumn(newrow,"prcpcd" , prcpcd);
  403. ds_opprcplist.setColumn(newrow,"ordnm" , ordnm);
  404. //model.setValue(sOPPRCPLIST_PATH + "[" + grd_opprcp.row + "]/nigtprcpflag", "N");
  405. //model.setValue(sOPPRCPLIST_PATH + "[" + grd_opprcp.row + "]/erprcpflag" , "N");
  406. ds_opprcplist.setColumn(newrow,"payflagcd" , "0");
  407. ds_opprcplist.setColumn(newrow,"opansflagcd" , "-");
  408. }
  409. }
  410. /**
  411. * @desc : SET폴더 삭제시 해당 수술용어 데이터 삭제
  412. * @
  413. * @param :
  414. * @return :
  415. * @---------------------------------------------------
  416. */
  417. function fClrGridData(){
  418. ds_etcprmsprcpsetdetllist.clearData();
  419. ds_opprcplist.clearData();
  420. ds_mechlist.clearData();
  421. }
  422. ]]></Script>