SMMNI01300.js 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. /*
  2. 기준자료관리(SMMNI01300.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. //20090512 dhkim 사용자부서정보
  7. var userdeptcd = getUserInfo("dutplcecd");
  8. //20090512 dhkim 주사실코드
  9. var injdeptcd;
  10. /**
  11. * 20090506 dhkim
  12. * 초기화펑션추가
  13. */
  14. function fInit(){
  15. //20090512 dhkim 주사실코드 가져오기
  16. if(!submit("TRMNI00504")){
  17. messageBox("주사실코드조회를", "E009");
  18. return false;
  19. }
  20. injdeptcd = model.getValue("/root/hidden/injcdinfo/injdeptcd");
  21. //시행부서조건추가 (20090506 현재 육아상담실, 소아청소년과, 중앙주사실)
  22. model.removenode('/root/send');
  23. model.makeValue('/root/send/cdgrupid', '075');
  24. model.makeValue('/root/send/execdept', '-');
  25. if(!submit('TRMNI01302')){
  26. messageBox('시행부서 초기화를', 'E009');
  27. return false;
  28. }
  29. //20090512 dhkim 사용자정보가 주사실일 경우는 주사실만 보여지고 주사실이 아니면 주사실만 빼고 보여줌.
  30. //노드에서 제거
  31. fSetNodeExecUserDept();
  32. model.setValue('/root/main/ref/execdeptcd', userdeptcd);
  33. model.refresh();
  34. //시행부서콤보선택시 기본조건변경
  35. fExecChanged(userdeptcd);
  36. }
  37. /*************************************************************************************************************
  38. * 20090512 dhkim
  39. * 전체노드중 주사실사용자는 주사실노드만 재구성,
  40. * 소아청소년과/육아상담실은 주사실제외후 재구성
  41. *------------------------------------------------------------------------------------------------------------
  42. * 20090603 dhkim
  43. * supcdid파라미터 구성 배열로 변경
  44. * supcdid[0]예방주사비활성화여부(Y:비활성, N:활성)
  45. * supcdid[1]겸직사용자여부 (Y:겸직, N:비겸직)
  46. *************************************************************************************************************/
  47. function fSetNodeExecUserDept(){
  48. //노드초기화
  49. model.removenodeset('/root/init');
  50. model.makeNode('/root/init/execinfo/execinfolist');
  51. var nodeCnt = getNodesetCount("/root/hidden/execinfo/execinfolist");
  52. var basecd, basenm, supcdid;
  53. //20090604 dhkim bmt주사실의 추가로 노드구성을 변경함
  54. //supcdid를 배열로 만들어 [0]번에 기타처치등록가능여부, [1]번에 콤보노드구성 (로그인부서2개이상여부) 체크함
  55. //ex) supcdid = Y|Y 또는 N|Y , Y|N, N|N 등으로 입력됨
  56. // supcdid[0] = Y: 기타처치,예방주사 모두등록가능
  57. // supcdid[0] = N: 기타처치만 등록가능함
  58. // supcdid[1] = Y: 사용자의 부서가 여러개가 올수있음 (예 : 소아청소년과, 육아상담실 겸직)
  59. // supcdid[1] = N: 사용자의 부서가 단일과로 구성됨. (예 : 중앙주사실, BMT주사실)
  60. var supcdidSplit, isMultiDept;
  61. var newNodeCnt = 0;
  62. for(var i = 1; i <= nodeCnt; i++){
  63. basecd = model.getValue("/root/hidden/execinfo/execinfolist[" + i + "]/basecd");
  64. supcdid = model.getValue("/root/hidden/execinfo/execinfolist[" + i + "]/supcdid");
  65. supcdidSplit = supcdid.split("|");//20090604 dhkim 배열로 분리
  66. if(basecd == userdeptcd){
  67. isMultiDept = supcdidSplit[1];//겸직여부를 찾는다.
  68. }
  69. }
  70. for(var i = 1; i <= nodeCnt; i++){
  71. basecd = model.getValue("/root/hidden/execinfo/execinfolist[" + i + "]/basecd");
  72. basenm = model.getValue("/root/hidden/execinfo/execinfolist[" + i + "]/basenm");
  73. supcdid = model.getValue("/root/hidden/execinfo/execinfolist[" + i + "]/supcdid");
  74. //20090604 dhkim 배열로 분리
  75. supcdidSplit = supcdid.split("|");
  76. supcdid = supcdidSplit[1];
  77. if(isMultiDept == 'Y'){
  78. if(supcdid == 'Y'){
  79. newNodeCnt++;
  80. model.makeValue('/root/init/execinfo/execinfolist[' + newNodeCnt + ']/basecd', basecd);
  81. model.makeValue('/root/init/execinfo/execinfolist[' + newNodeCnt + ']/basenm', basenm);
  82. }
  83. }else if(isMultiDept == 'N'){
  84. if(basecd == userdeptcd){
  85. newNodeCnt++;
  86. model.makeValue('/root/init/execinfo/execinfolist[' + newNodeCnt + ']/basecd', basecd);
  87. model.makeValue('/root/init/execinfo/execinfolist[' + newNodeCnt + ']/basenm', basenm);
  88. return;
  89. }
  90. }
  91. }
  92. }
  93. /*************************************************************************************************************
  94. * 20090506 dhkim
  95. * 시행부서조회조건변경시 호출
  96. * 육아상담실과 소아청소년과가 선택되었을경우 기타처치가 default선택되고
  97. * 예방주사구분은 선택안되도록 비활성화시킴.
  98. *------------------------------------------------------------------------------------------------------------
  99. * 20090604 dhkim bmt주사실의 추가로 노드구성을 변경함
  100. * supcdid를 배열로 만들어 [0]번에 기타처치등록가능여부, [1]번에 콤보노드구성 (로그인부서2개이상여부) 체크함
  101. * ex) supcdid = Y|Y 또는 N|Y , Y|N, N|N 등으로 입력됨
  102. * supcdid[0] = Y: 기타처치,예방주사 모두등록가능
  103. * supcdid[0] = N: 기타처치만 등록가능함
  104. * supcdid[1] = Y: 사용자의 부서가 여러개가 올수있음 (예 : 소아청소년과, 육아상담실 겸직)
  105. * supcdid[1] = N: 사용자의 부서가 단일과로 구성됨. (예 : 중앙주사실, BMT주사실)
  106. *************************************************************************************************************/
  107. function fExecChanged(execdeptcd){
  108. var supcdidSplit;
  109. var supcdid = model.getValue("/root/hidden/execinfo/execinfolist[basecd='"+execdeptcd+"']/supcdid");
  110. //20090604 dhkim 배열로 분리
  111. supcdidSplit = supcdid.split("|");
  112. supcdid = supcdidSplit[0];
  113. //supcdid가 Y인경우는 기본 기타처치로 선택상태로 변경하고 예방주사구분선택못하게 비활성화
  114. if(supcdid == "Y"){//소아청소년과,육아상담실
  115. model.setValue('/root/main/ref/cdcls', 'JQ');//기타처치
  116. com_cdcls.disabled = true;
  117. rdo_supbasetypecd.disabled = false;
  118. }else{//중앙주사실
  119. com_cdcls.disabled = false;
  120. rdo_supbasetypecd.disabled = false;
  121. }
  122. model.refresh();
  123. }
  124. /**
  125. * @group :
  126. * @ver : 2007.07.30
  127. * @by : 신혁춘
  128. * @---------------------------------------------------
  129. * @type : function
  130. * @access : public
  131. * @desc : grd_basecodelist 데이타 조회
  132. * @param :
  133. * @return :
  134. * @---------------------------------------------------
  135. */
  136. function fsrch(){
  137. var cdclslist = model.getValue("/root/main/ref/cdcls")
  138. var baseclsflag = cdclslist.substring(0,1);
  139. model.makeValue("/root/send/baseclsflag", baseclsflag);
  140. model.makeValue("/root/send/cdcls", model.getValue("/root/main/ref/cdcls"));
  141. //20090506 dhkim 시행부서추가
  142. model.makeValue("/root/send/execdeptcd", model.getValue("/root/main/ref/execdeptcd"));
  143. if (cdclslist == "JQ"){
  144. model.makeValue("/root/send/supbasetypecd",model.getValue("/root/main/ref/supbasetypecd"));
  145. }
  146. if (cdclslist != "JQ"){
  147. model.makeValue("/root/send/supbasetypecd","JSA");
  148. }
  149. if(submit("TRMNI01301")){
  150. }
  151. }
  152. /**
  153. * @group :
  154. * @ver : 2007.07.25
  155. * @by : 신혁춘
  156. * @---------------------------------------------------
  157. * @type : function
  158. * @access : public
  159. * @desc : rdo_curespec 사용여부
  160. * @param :
  161. * @return :
  162. * @---------------------------------------------------
  163. */
  164. function fcurespec(){
  165. var chk = com_cdcls.value;
  166. if (chk == "JS"){
  167. rdo_supbasetypecd.disabled=true;
  168. }
  169. if (chk == "JQ"){
  170. rdo_supbasetypecd.disabled=false;
  171. }
  172. }
  173. /**
  174. * @group :
  175. * @ver : 2007.07.25
  176. * @by : 신혁춘
  177. * @---------------------------------------------------
  178. * @type : function
  179. * @access : public
  180. * @desc : but_add 행추가시
  181. * @param :
  182. * @return :
  183. * @---------------------------------------------------
  184. */
  185. function fadd(){
  186. var spec = model.getValue("/root/main/ref/supbasetypecd");
  187. var fag = model.getValue("/root/main/ref/cdcls");
  188. var execdeptcd = model.getValue("/root/main/ref/execdeptcd");
  189. if(execdeptcd == null ||execdeptcd == '' || execdeptcd == '-'){
  190. messageBox("시행부서를","C002");
  191. return;
  192. }
  193. if(fag == "JQ"){
  194. if(spec == "JQA"){
  195. messageBox("처치내역을 전체로 선택하신 경우 행추가를 할 수","I004");
  196. return;
  197. }
  198. }
  199. grd_basecodelist.additem();
  200. var iRow = grd_basecodelist.row;
  201. if(fag == "JQ"){
  202. model.setValue('/root/main/baseinfo/baseinfolist['+iRow+']/supbasetypecd', spec);//구분
  203. model.setValue('/root/main/baseinfo/baseinfolist['+iRow+']/refseq', iRow);//정렬순서
  204. model.setValue('/root/main/baseinfo/baseinfolist['+iRow+']/execdeptcd', execdeptcd);//시행부서
  205. //grd_basecodelist.textmatrix(iRow, 1) = spec;
  206. //grd_basecodelist.textmatrix(iRow, 4) = iRow;
  207. }
  208. if(fag == "JS"){
  209. model.setValue('/root/main/baseinfo/baseinfolist['+iRow+']/supbasetypecd', "JSA");//구분
  210. model.setValue('/root/main/baseinfo/baseinfolist['+iRow+']/refseq', iRow);//정렬순서
  211. model.setValue('/root/main/baseinfo/baseinfolist['+iRow+']/execdeptcd', execdeptcd);//시행부서
  212. //grd_basecodelist.textmatrix(iRow, 1) = "JSA";
  213. //grd_basecodelist.textmatrix(iRow, 4) = iRow;
  214. }
  215. model.refresh();
  216. }
  217. /**
  218. * @group :
  219. * @ver : 2007.07.31
  220. * @by : 신혁춘
  221. * @---------------------------------------------------
  222. * @type : function
  223. * @access : public
  224. * @desc : grd_basecodelist 상태값 삭제표시
  225. * @param :
  226. * @return :
  227. * @---------------------------------------------------
  228. */
  229. function fdelchk(){
  230. var row = grd_basecodelist.row;
  231. grd_basecodelist.addStatus(row, "delete");
  232. }
  233. /**
  234. * @group :
  235. * @ver : 2007.07.31
  236. * @by : 신혁춘
  237. * @---------------------------------------------------
  238. * @type : function
  239. * @access : public
  240. * @desc : grd_basecodelist 데이타 삽입 및 수정 및 삭제
  241. * @param :
  242. * @return :
  243. * @---------------------------------------------------
  244. */
  245. function fsave(){
  246. var updtdata = getGridUpdateData(grd_basecodelist);
  247. var cdclslist = model.getValue("/root/main/ref/cdcls")
  248. var baseclsflag = cdclslist.substring(0,1);
  249. model.makeValue("/root/send/baseclsflag", baseclsflag);
  250. model.makeValue("/root/send/cdcls", model.getValue("/root/main/ref/cdcls"));
  251. if (cdclslist == "JQ"){
  252. model.makeValue("/root/send/supbasetypecd", model.getValue("/root/main/ref/supbasetypecd"));
  253. }else{
  254. model.makeValue("/root/send/supbasetypecd", "JSA");
  255. }
  256. model.makeValue("/root/send/baseinfolist", updtdata);
  257. //20090506 dhkim 시행부서추가로 주석처리
  258. //model.makeValue("/root/send/orddeptcd","ALL");
  259. if(submit("TXMNI01301")){
  260. fsrch();
  261. }
  262. }