SMMNR04700.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  1. /*
  2. 간호Item 시간Setting 관리(SMMNR04700.xrw - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var xCondPath = "/root/main/cond";
  7. var xPrcpInfoPath = "/root/temp/prcpinfo";
  8. var xComPrcpListPath = "/root/main/comprcpinfo/comprcplist";
  9. var xDeptPrcpListPath = "/root/main/deptprcpinfo/deptprcplist";
  10. /**
  11. * @group :
  12. * @ver : 2007.08.06
  13. * @by : 이은영
  14. * @---------------------------------------------------
  15. * @type : function
  16. * @access : public
  17. * @desc : 화면 초기화
  18. * @param :
  19. * @return :
  20. * @---------------------------------------------------
  21. */
  22. function fInitialize(){
  23. zbcfGetDeptCodeList(getUserInfo("dutplceinstcd"),"orduseyn","W","/root/init/deptlist");// 병동정보
  24. model.setValue(xCondPath+"/deptcd", getUserInfo("posdeptcd"));
  25. model.makeValue("/root/send/deptcd", model.getValue(xCondPath+"/deptcd"));
  26. if(submit("TRMNR04701")){
  27. copyNodeset(xComPrcpListPath,xPrcpInfoPath+"/comprcplist");
  28. copyNodeset(xDeptPrcpListPath,xPrcpInfoPath+"/deptprcplist");
  29. grd_comprcplist.rebuild();
  30. grd_deptprcplist.rebuild();
  31. grd_comprcplist.resizeCells();
  32. grd_deptprcplist.resizeCells();
  33. for(iRow =grd_comprcplist.fixedrows; iRow <= grd_comprcplist.rows-grd_comprcplist.fixedrows; iRow++){
  34. if(model.getValue(xComPrcpListPath+"["+iRow+"]/depth") == "1"){
  35. grd_comprcplist.isReadOnly(iRow,1) = true;
  36. }else{
  37. grd_comprcplist.isReadOnly(iRow,1) = false;
  38. }
  39. }
  40. for(iRow =grd_deptprcplist.fixedrows; iRow <= grd_deptprcplist.rows-grd_deptprcplist.fixedrows; iRow++){
  41. if(model.getValue(xDeptPrcpListPath+"["+iRow+"]/depth") == "1"){
  42. grd_deptprcplist.isReadOnly(iRow,1) = true;
  43. }else{
  44. grd_deptprcplist.isReadOnly(iRow,1) = false;
  45. }
  46. }
  47. setTree(grd_comprcplist,9,2,false);
  48. setTree(grd_deptprcplist,9,2,false);
  49. }
  50. }
  51. /**
  52. * @group :
  53. * @ver : 2007.08.08
  54. * @by : 이은영
  55. * @---------------------------------------------------
  56. * @type : function
  57. * @access : public
  58. * @desc : 지시처방 불러오기
  59. * @param :
  60. * @return :
  61. * @---------------------------------------------------
  62. */
  63. function fCallDirecPrcpInfo(){
  64. setParameter("SMMNR04800_SaveFlag","N");
  65. modal("SPMNR04800");
  66. if(getParameter("SMMNR04800_SaveFlag") == "Y"){
  67. fSearchItemSetting("com");
  68. }
  69. }
  70. /**
  71. * @group :
  72. * @ver : 2007.08.09
  73. * @by : 이은영
  74. * @---------------------------------------------------
  75. * @type : function
  76. * @access : public
  77. * @desc : 그리드 클릭시
  78. * @param : pFlag ( com : 공통Setting, dept : 부서Setting)
  79. * @return :
  80. * @---------------------------------------------------
  81. */
  82. function fClickedGridRow(pFlag){
  83. var iRow = 0;
  84. var iCol = 0;
  85. var sDepth = "";
  86. switch(pFlag){
  87. case "com" :
  88. iRow = grd_comprcplist.row;
  89. iCol = grd_comprcplist.col;
  90. if(iRow < 1 || iCol == 4) return;
  91. if(iCol == 1){
  92. grd_comprcplist.rowStatus(iRow) = 0;
  93. return;
  94. }
  95. sDepth = eval(model.getValue(xComPrcpListPath+"["+iRow+"]/depth"));
  96. if(sDepth == 1) return;
  97. if(model.getValue(xComPrcpListPath+"["+iRow+"]/check") == "true"){
  98. model.setValue(xComPrcpListPath+"["+iRow+"]/check","false");
  99. }else{
  100. model.setValue(xComPrcpListPath+"["+iRow+"]/check","true");
  101. }
  102. break;
  103. case "dept":
  104. iRow = grd_deptprcplist.row;
  105. iCol = grd_deptprcplist.col;
  106. if(iCol == 1 || iCol == 4) return;
  107. if(iRow < 1) return;
  108. sDepth = eval(model.getValue(xDeptPrcpListPath+"["+iRow+"]/depth"));
  109. if(sDepth == 1) return;
  110. if(model.getValue(xDeptPrcpListPath+"["+iRow+"]/check") == "true"){
  111. model.setValue(xDeptPrcpListPath+"["+iRow+"]/check","false");
  112. grd_deptprcplist.rowStatus(iRow) = 0;
  113. }else{
  114. model.setValue(xDeptPrcpListPath+"["+iRow+"]/check","true");
  115. grd_deptprcplist.rowStatus(iRow) = 4;
  116. }
  117. break;
  118. }
  119. }
  120. /**
  121. * @group :
  122. * @ver : 2007.08.10
  123. * @by : 이은영
  124. * @---------------------------------------------------
  125. * @type : function
  126. * @access : public
  127. * @desc : 그리드 변경
  128. * @param :
  129. * @return :
  130. * @---------------------------------------------------
  131. */
  132. function fChangedGridRow(){
  133. var iRow = grd_deptprcplist.row;
  134. if(model.getValue(xDeptPrcpListPath+"["+iRow+"]/check") == "true"){
  135. grd_deptprcplist.rowStatus(iRow) = 4;
  136. }else{
  137. grd_deptprcplist.rowStatus(iRow) = 0;
  138. }
  139. }
  140. /**
  141. * @group :
  142. * @ver : 2007.08.09
  143. * @by : 이은영
  144. * @---------------------------------------------------
  145. * @type : function
  146. * @access : public
  147. * @desc : 그리드 더블 클릭시(시간Setting 화면 호출)
  148. * @param : pFlag ( com : 공통Setting, dept : 부서Setting)
  149. * @return :
  150. * @---------------------------------------------------
  151. */
  152. function fDblClickGridRow(pFlag){
  153. var iCol = 0;
  154. var iRow = 0;
  155. var sParamMsg = "";
  156. var sReturnMsg = "";
  157. var sPrcpCD = "";
  158. var sDepth = 0;
  159. var sStatus = 0;
  160. switch(pFlag){
  161. case "com" :
  162. iCol = grd_comprcplist.col;
  163. iRow = grd_comprcplist.row;
  164. sDepth = eval(model.getValue(xComPrcpListPath+"["+iRow+"]/depth"));
  165. if(sDepth == 1) return;
  166. if(iCol == 4){
  167. sPrcpCD = model.getValue(xComPrcpListPath+"["+iRow+"]/prcpcd");
  168. sParamMsg = "prcpnm▦prcpcd▦careitemnm▦careitemcd▦apnttmspec▦flag▩";
  169. sParamMsg += model.getValue(xComPrcpListPath+"["+iRow+"]/prcpnm") + "▦"
  170. + sPrcpCD + "▦"
  171. + model.getValue(xComPrcpListPath+"["+iRow+"]/careitemnm") + "▦"
  172. + model.getValue(xComPrcpListPath+"["+iRow+"]/careitemcd") + "▦"
  173. + model.getValue(xComPrcpListPath+"["+iRow+"]/apnttmspec") + "▦all▩";
  174. setParameter("SPMNR04900_Param",sParamMsg);
  175. setParameter("SPMNR04900_Return","");
  176. modal("SPMNR04900");
  177. sReturnMsg = getParameter("SPMNR04900_Return");
  178. if(sReturnMsg != ""){
  179. model.setValue(xComPrcpListPath+"["+iRow+"]/careitemnm",getArrayData(sReturnMsg,1,0));
  180. model.setValue(xComPrcpListPath+"["+iRow+"]/careitemcd",getArrayData(sReturnMsg,1,1));
  181. model.setValue(xComPrcpListPath+"["+iRow+"]/apnttmspec",getArrayData(sReturnMsg,1,2));
  182. model.setValue(xPrcpInfoPath+"/comprcplist[prcpcd ='"+sPrcpCD+"']/check", model.getValue(xComPrcpListPath+"["+iRow+"]/check"));
  183. if(instance1.selectSingleNode(xPrcpInfoPath+"/comprcplist[prcpcd ='"+sPrcpCD+"']").xml != instance1.selectSingleNode(xComPrcpListPath+"["+iRow+"]").xml){
  184. grd_comprcplist.rowStatus(iRow) = 2;
  185. model.setValue(xComPrcpListPath+"["+iRow+"]/check","false");
  186. }else{
  187. grd_comprcplist.rowStatus(iRow) = 0;
  188. }
  189. }
  190. }
  191. break;
  192. case "dept" :
  193. iCol = grd_deptprcplist.col;
  194. iRow = grd_deptprcplist.row;
  195. if(iRow < 1) return;
  196. sDepth = eval(model.getValue(xDeptPrcpListPath+"["+iRow+"]/depth"));
  197. if(sDepth == 1) return;
  198. if(iCol == 4){
  199. sStatus = grd_deptprcplist.rowStatus(iRow);
  200. sPrcpCD = model.getValue(xDeptPrcpListPath+"["+iRow+"]/prcpcd");
  201. sParamMsg = "prcpnm▦prcpcd▦careitemnm▦careitemcd▦apnttmspec▩";
  202. sParamMsg += model.getValue(xDeptPrcpListPath+"["+iRow+"]/prcpnm") + "▦"
  203. + sPrcpCD + "▦"
  204. + model.getValue(xDeptPrcpListPath+"["+iRow+"]/careitemnm") + "▦"
  205. + model.getValue(xDeptPrcpListPath+"["+iRow+"]/careitemcd") + "▦"
  206. + model.getValue(xDeptPrcpListPath+"["+iRow+"]/apnttmspec") + "▦dept▩";
  207. setParameter("SPMNR04900_Param",sParamMsg);
  208. setParameter("SPMNR04900_Return","");
  209. modal("SPMNR04900");
  210. sReturnMsg = getParameter("SPMNR04900_Return");
  211. if(sReturnMsg != ""){
  212. model.setValue(xDeptPrcpListPath+"["+iRow+"]/apnttmspec",getArrayData(sReturnMsg,1,2));
  213. if(sStatus == 1 || sStatus == 3) return;
  214. model.setValue(xPrcpInfoPath+"/deptprcplist[prcpcd ='"+sPrcpCD+"']/check", model.getValue(xDeptPrcpListPath+"["+iRow+"]/check"));
  215. if(instance1.selectSingleNode(xPrcpInfoPath+"/deptprcplist[prcpcd ='"+sPrcpCD+"']").xml != instance1.selectSingleNode(xDeptPrcpListPath+"["+iRow+"]").xml){
  216. grd_deptprcplist.rowStatus(iRow) = 2;
  217. model.setValue(xDeptPrcpListPath+"["+iRow+"]/check","false");
  218. }else{
  219. grd_deptprcplist.rowStatus(iRow) = 0;
  220. }
  221. }
  222. }
  223. break;
  224. }
  225. }
  226. /**
  227. * @group :
  228. * @ver : 2007.08.09
  229. * @by : 이은영
  230. * @---------------------------------------------------
  231. * @type : function
  232. * @access : public
  233. * @desc : 항목 저장
  234. * @param : pFlag ( com : 공통Setting, dept : 부서Setting)
  235. * @return :
  236. * @---------------------------------------------------
  237. */
  238. function fSaveItem(pFlag){
  239. model.removenode("/root/send");
  240. switch(pFlag){
  241. case "com" :
  242. model.makeValue("/root/send/prcplist", grd_comprcplist.getUpdateData());
  243. model.makeValue("/root/send/deptcd","all");
  244. if(submit("TXMNR04701")){
  245. copyNodeset(xPrcpInfoPath+"/comprcplist",xComPrcpListPath,"replace");
  246. grd_comprcplist.rebuild();
  247. for(iRow =grd_comprcplist.fixedrows; iRow <= grd_comprcplist.rows-grd_comprcplist.fixedrows; iRow++){
  248. if(model.getValue(xComPrcpListPath+"["+iRow+"]/depth") == "1"){
  249. grd_comprcplist.isReadOnly(iRow,1) = true;
  250. }else{
  251. grd_comprcplist.isReadOnly(iRow,1) = false;
  252. }
  253. }
  254. setTree(grd_comprcplist,9,2,false);
  255. }
  256. break;
  257. case "dept":
  258. model.makeValue("/root/send/prcplist", grd_deptprcplist.getUpdateData());
  259. model.makeValue("/root/send/deptcd",model.getValue("/root/main/cond/deptcd"));
  260. if(submit("TXMNR04702")){
  261. copyNodeset(xPrcpInfoPath+"/deptprcplist",xDeptPrcpListPath,"replace");
  262. grd_deptprcplist.rebuild();
  263. for(iRow =grd_deptprcplist.fixedrows; iRow <= grd_deptprcplist.rows-grd_deptprcplist.fixedrows; iRow++){
  264. if(model.getValue(xDeptPrcpListPath+"["+iRow+"]/depth") == "1"){
  265. grd_deptprcplist.isReadOnly(iRow,1) = true;
  266. }else{
  267. grd_deptprcplist.isReadOnly(iRow,1) = false;
  268. }
  269. }
  270. setTree(grd_deptprcplist,9,2,false);
  271. }
  272. break;
  273. }
  274. }
  275. /**
  276. * @group :
  277. * @ver : 2007.08.10
  278. * @by : 이은영
  279. * @---------------------------------------------------
  280. * @type : function
  281. * @access : public
  282. * @desc : 항목 선택이동
  283. * @param :
  284. * @return :
  285. * @---------------------------------------------------
  286. */
  287. function fSendItem(){
  288. var sDeptCD = model.getValue("/root/main/cond/deptcd");
  289. var iDeptPrcpRow=0;
  290. var sCareItemCD = "";
  291. var sPrcpCD = "";
  292. var iRow = 0;
  293. if(sDeptCD == ""){
  294. messageBox("부서를 먼저","C002");
  295. return;
  296. }
  297. for(iRow=grd_comprcplist.fixedrows; iRow<=(grd_comprcplist.rows-grd_comprcplist.fixedrows); iRow++){
  298. if(model.getValue(xComPrcpListPath+"["+iRow+"]/check") == "true"){
  299. if(grd_comprcplist.rowStatus(iRow) != 0){
  300. window.alert("공통 Setting에 저장하지 않은 데이터가 있습니다.","정보",64);
  301. return;
  302. }
  303. sCareItemCD = model.getValue(xComPrcpListPath+"["+iRow+"]/careitemcd");
  304. if(sCareItemCD == ""){
  305. messageBox("간호 Item은","I003");
  306. return;
  307. }
  308. }
  309. }
  310. for(var iRow=grd_comprcplist.fixedrows; iRow<=grd_comprcplist.rows-grd_comprcplist.fixedrows; iRow++){
  311. if(model.getValue(xComPrcpListPath+"["+iRow+"]/check") == "true"){
  312. sPrcpCD = model.getValue(xComPrcpListPath+"["+iRow+"]/prcpcd");
  313. model.setValue(xComPrcpListPath+"["+iRow+"]/check","false");
  314. if(model.getValue(xDeptPrcpListPath+"[prcpcd='"+sPrcpCD+"']/prcpcd") != "") continue;
  315. grd_deptprcplist.addRow(false);
  316. iDeptPrcpRow = grd_deptprcplist.rows - grd_deptprcplist.fixedrows;
  317. model.setValue(xDeptPrcpListPath+"["+iDeptPrcpRow+"]/deptcd",sDeptCD);
  318. model.setValue(xDeptPrcpListPath+"["+iDeptPrcpRow+"]/prcpnm",model.getValue(xComPrcpListPath+"["+iRow+"]/prcpnm"));
  319. model.setValue(xDeptPrcpListPath+"["+iDeptPrcpRow+"]/careitemnm",model.getValue(xComPrcpListPath+"["+iRow+"]/careitemnm"));
  320. model.setValue(xDeptPrcpListPath+"["+iDeptPrcpRow+"]/apnttmspec",model.getValue(xComPrcpListPath+"["+iRow+"]/apnttmspec"));
  321. model.setValue(xDeptPrcpListPath+"["+iDeptPrcpRow+"]/careitemcd",model.getValue(xComPrcpListPath+"["+iRow+"]/careitemcd"));
  322. model.setValue(xDeptPrcpListPath+"["+iDeptPrcpRow+"]/prcpcd",model.getValue(xComPrcpListPath+"["+iRow+"]/prcpcd"));
  323. model.setValue(xDeptPrcpListPath+"["+iDeptPrcpRow+"]/instcd",model.getValue(xComPrcpListPath+"["+iRow+"]/instcd"));
  324. model.setValue(xDeptPrcpListPath+"["+iDeptPrcpRow+"]/depth",model.getValue(xComPrcpListPath+"["+iRow+"]/depth"));
  325. model.setValue(xDeptPrcpListPath+"["+iDeptPrcpRow+"]/prcpclscd1",model.getValue(xComPrcpListPath+"["+iRow+"]/prcpclscd1"));
  326. model.setValue(xDeptPrcpListPath+"["+iDeptPrcpRow+"]/prcpclscd2",model.getValue(xComPrcpListPath+"["+iRow+"]/prcpclscd2"));
  327. model.setValue(xDeptPrcpListPath+"["+iDeptPrcpRow+"]/prcpclscd3",model.getValue(xComPrcpListPath+"["+iRow+"]/prcpclscd3"));
  328. }
  329. }
  330. }
  331. /**
  332. * @group :
  333. * @ver : 2007.08.10
  334. * @by : 이은영
  335. * @---------------------------------------------------
  336. * @type : function
  337. * @access : public
  338. * @desc : 항목 Setting 리스트 조회
  339. * @param :
  340. * @return :
  341. * @---------------------------------------------------
  342. */
  343. function fSearchItemSetting(pFlag){
  344. model.removenode("/root/send");
  345. switch(pFlag){
  346. case "com" :
  347. model.makeValue("/root/send/deptcd","all");
  348. if(submit("TRMNR04704")){
  349. copyNodeset(xPrcpInfoPath+"/comprcplist",xComPrcpListPath,"replace");
  350. grd_comprcplist.rebuild();
  351. for(iRow =grd_comprcplist.fixedrows; iRow <= grd_comprcplist.rows-grd_comprcplist.fixedrows; iRow++){
  352. if(model.getValue(xComPrcpListPath+"["+iRow+"]/depth") == "1"){
  353. grd_comprcplist.isReadOnly(iRow,1) = true;
  354. }else{
  355. grd_comprcplist.isReadOnly(iRow,1) = false;
  356. }
  357. }
  358. setTree(grd_comprcplist,9,2,false);
  359. }
  360. break;
  361. case "dept":
  362. model.makeValue("/root/send/deptcd",model.getValue("/root/main/cond/deptcd"));
  363. if(submit("TRMNR04703")){
  364. copyNodeset(xPrcpInfoPath+"/deptprcplist",xDeptPrcpListPath,"replace");
  365. grd_deptprcplist.rebuild();
  366. for(iRow =grd_deptprcplist.fixedrows; iRow <= grd_deptprcplist.rows-grd_deptprcplist.fixedrows; iRow++){
  367. if(model.getValue(xDeptPrcpListPath+"["+iRow+"]/depth") == "1"){
  368. grd_deptprcplist.isReadOnly(iRow,1) = true;
  369. }else{
  370. grd_deptprcplist.isReadOnly(iRow,1) = false;
  371. }
  372. }
  373. setTree(grd_deptprcplist,9,2,false);
  374. }
  375. break;
  376. }
  377. }
  378. /**
  379. * @group :
  380. * @ver : 2007.08.10
  381. * @by : 이은영
  382. * @---------------------------------------------------
  383. * @type : function
  384. * @access : public
  385. * @desc : 항목 삭제
  386. * @param :
  387. * @return :
  388. * @---------------------------------------------------
  389. */
  390. function fDeleteItem(pFlag){
  391. switch(pFlag){
  392. case "com" :
  393. for(iRow =grd_comprcplist.fixedrows; iRow <= grd_comprcplist.rows-grd_comprcplist.fixedrows; iRow++){
  394. if(model.getValue(xComPrcpListPath+"["+iRow+"]/check") == 'true'){
  395. grd_comprcplist.rowStatus(iRow) = 4;
  396. }
  397. }
  398. model.makeValue("/root/send/prcplist", grd_comprcplist.getUpdateData());
  399. model.makeValue("/root/send/deptcd","all");
  400. if(submit("TXMNR04701")){
  401. copyNodeset(xPrcpInfoPath+"/comprcplist",xComPrcpListPath,"replace");
  402. grd_comprcplist.rebuild();
  403. for(iRow =grd_comprcplist.fixedrows; iRow <= grd_comprcplist.rows-grd_comprcplist.fixedrows; iRow++){
  404. if(model.getValue(xComPrcpListPath+"["+iRow+"]/depth") == "1"){
  405. grd_comprcplist.isReadOnly(iRow,1) = true;
  406. }else{
  407. grd_comprcplist.isReadOnly(iRow,1) = false;
  408. }
  409. }
  410. setTree(grd_comprcplist,9,2,false);
  411. }
  412. break;
  413. }
  414. }