SPMMO03900.js 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 협진분류관리 (SPMMO03900_협진분류관리.xrw - JScript )
  4. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  5. */
  6. var sCNSTTYPEDESC_PATH = "/root/main/cnsttypedesc/cnsttypedesc";
  7. var sCNSTTYPELIST_PATH = "/root/main/cnsttypelist/cnsttypelist";
  8. /**
  9. * @desc : 협진분류관리 화면 초기화
  10. * @
  11. * @param :
  12. * @return :
  13. * @author : 오지훈
  14. * @---------------------------------------------------
  15. */
  16. function fInitialize_SPMMO03900(){
  17. cmb_cnsttrgtcd.disabled = true;
  18. cmb_cnsttypecd.disabled = true;
  19. cmb_cnsttypeorddrid.disabled = true;
  20. zbcfGetCodeList(new Array("M0525"), new Array("/root/init/cnsttypecombo")); // 협진팀명 조회
  21. mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept", "A"); // 부서 조회
  22. fReqGetCnstTypeDescInfo(); //협진분류코드 상세정보 조회
  23. }
  24. /**
  25. * @desc : 협진분류코드 조회
  26. * @
  27. * @param :
  28. * @return :
  29. * @author : 오지훈
  30. * @---------------------------------------------------
  31. */
  32. function fReqGetCnstTypeDescInfo(){
  33. if(submit("TRMMO03901")){
  34. fMakeCnstTypeDescInfo();
  35. }
  36. }
  37. /**
  38. * @desc : 협진분류코드 저장
  39. * @
  40. * @param :
  41. * @return :
  42. * @author : 오지훈
  43. * @---------------------------------------------------
  44. */
  45. function fReqExeSaveCnstTypeCD(){
  46. model.copyNode("/root/send/savedata", "/root/main/cnsttype");
  47. if(submit("TXMMO03901")){
  48. cmb_cnsttypecd.disabled = true;
  49. cmb_cnsttrgtcd.disabled = true;
  50. cmb_cnsttypeorddrid.disabled = true;
  51. model.resetInstanceNode("/root/main/cnsttype");
  52. fMakeCnstTypeDescInfo(grd_cnsttypedesc.rows, grd_cnsttypedesc.cols);
  53. }
  54. model.refresh();
  55. }
  56. /**
  57. * @desc : 협진분류코드 신규버튼 클릭
  58. * @
  59. * @param :
  60. * @return :
  61. * @author : 오지훈
  62. * @---------------------------------------------------
  63. */
  64. function fClkBtnNew(){
  65. cmb_cnsttrgtcd.disabled = false;
  66. cmb_cnsttypecd.disabled = false;
  67. cmb_cnsttypeorddrid.disabled = false;
  68. model.setValue("/root/main/cnsttype/status" , "mi"); //협진분류코드 신규저장
  69. model.setValue("/root/main/cnsttype/cnsttrgtdeptcd" , getUserInfo("dutplcecd")); //협진대상부서코드
  70. model.setValue("/root/main/cnsttype/cnsttrgtorddrid", getUserInfo("userid")); //협진의사ID
  71. mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist" , getUserInfo("dutplcecd"), "0330"); //협진분류과 의사콤보 조회
  72. model.setFocus("ipt_conctypenm");
  73. model.refresh();
  74. }
  75. /**
  76. * @desc : 협진의사 추가
  77. * @
  78. * @param :
  79. * @return :
  80. * @author : 오지훈
  81. * @---------------------------------------------------
  82. */
  83. function fAddCnstDr(){
  84. var currow = grd_cnsttypedesc.row;
  85. var cnstteamnm = model.getValue(sCNSTTYPELIST_PATH + "[" + currow + "]/cnstteamnm");
  86. var coopteamcd = model.getValue(sCNSTTYPELIST_PATH + "[" + currow + "]/coopteamcd");
  87. var cnstteamseq = model.getValue(sCNSTTYPELIST_PATH + "[" + currow + "]/cnstteamseq");
  88. cmb_cnsttypecd.disabled = true;
  89. cmb_cnsttrgtcd.disabled = false;
  90. cmb_cnsttypeorddrid.disabled = false;
  91. model.resetInstanceNode("/root/main/cnsttype");
  92. model.setValue("/root/main/cnsttype/status" , "di");
  93. model.setValue("/root/main/cnsttype/cnstteamnm" , cnstteamnm);
  94. model.setValue("/root/main/cnsttype/coopteamcd" , coopteamcd);
  95. model.setValue("/root/main/cnsttype/cnstteamseq" , cnstteamseq);
  96. model.refresh();
  97. }
  98. /**
  99. * @desc : 협진의사 삭제
  100. * @
  101. * @param :
  102. * @return :
  103. * @author : 오지훈
  104. * @---------------------------------------------------
  105. */
  106. function fDelCnstDr(){
  107. var currow = grd_cnsttypedesc.row;
  108. var curcol = grd_cnsttypedesc.col;
  109. var userinfo = grd_cnsttypedesc.valueMatrix(currow, curcol);
  110. var usercdinfo = grd_cnsttypedesc.valueMatrix(currow, curcol + 1);
  111. if(usercdinfo.length > 1){
  112. var cdarray = usercdinfo.split("^");
  113. }
  114. var coopteamcd = cdarray[0];
  115. var cnsttrgtdeptcd = cdarray[1];
  116. var cnsttrgtorddrid= cdarray[2];
  117. var cnstteamnm = model.getValue(sCNSTTYPELIST_PATH + "[" + currow + "]/cnstteamnm");
  118. var rtnval = messageBox("[" + userinfo + "]를 [" + cnstteamnm + "]협진에서", "Q001");
  119. if(rtnval == 6){ // Yes
  120. model.resetInstanceNode("/root/main/cnsttype");
  121. model.setValue("/root/main/cnsttype/status" , "dd");
  122. model.setValue("/root/main/cnsttype/cnstteamnm" , cnstteamnm);
  123. model.setValue("/root/main/cnsttype/coopteamcd" , coopteamcd);
  124. model.setValue("/root/main/cnsttype/cnsttrgtdeptcd" , cnsttrgtdeptcd);
  125. model.setValue("/root/main/cnsttype/cnsttrgtorddrid", cnsttrgtorddrid);
  126. fClrCnstTypeGrd(); //협진의사 삭제처리
  127. fReqExeSaveCnstTypeCD();
  128. }else{ // No
  129. return;
  130. }
  131. }
  132. /**
  133. * @desc : 협진의사 상세정보 생성
  134. * @
  135. * @param :
  136. * @return :
  137. * @author : 오지훈
  138. * @---------------------------------------------------
  139. */
  140. function fMakeCnstTypeDescInfo(gridrow, gridcol){
  141. var nodelist = model.instance1.selectNodes("/root/main/cnsttypedesc/cnsttypedesc");
  142. if(nodelist.length > 0){
  143. if(gridrow == null){
  144. maxrow = 1;
  145. }else{
  146. maxrow = gridrow-1;
  147. }
  148. if(gridcol == null){
  149. maxcol = 4;
  150. }else{
  151. maxcol = gridcol;
  152. }
  153. //var maxcol = 4; //grid max column
  154. //var maxrow = 1; //grid max row
  155. var currow = 1; //grid current row
  156. var curcol = 4; //grid current col
  157. var refnum = 1; //ref number
  158. model.setValue(sCNSTTYPELIST_PATH + "/rownum" , model.getValue(sCNSTTYPEDESC_PATH + "[" + 1 + "]/rownum"));
  159. model.setValue(sCNSTTYPELIST_PATH + "/cnstteamnm" , model.getValue(sCNSTTYPEDESC_PATH + "[" + 1 + "]/cnstteamnm"));
  160. model.setValue(sCNSTTYPELIST_PATH + "/cnstteamseq" , model.getValue(sCNSTTYPEDESC_PATH + "[" + 1 + "]/cnstteamseq"));
  161. model.setValue(sCNSTTYPELIST_PATH + "/coopteamcd" , model.getValue(sCNSTTYPEDESC_PATH + "[" + 1 + "]/coopteamcd"));
  162. var coopteamcd = model.getValue(sCNSTTYPEDESC_PATH + "[" + 1 + "]/coopteamcd");
  163. for(var i = 1; i <= nodelist.length; i++){
  164. if(coopteamcd != model.getValue(sCNSTTYPEDESC_PATH + "[" + i + "]/coopteamcd")){
  165. if(currow >= maxrow){
  166. grd_cnsttypedesc.addRow();
  167. }
  168. currow++;
  169. refnum = 1;
  170. curcol = 4;
  171. model.setValue(sCNSTTYPELIST_PATH + "[" + currow + "]/rownum" , model.getValue(sCNSTTYPEDESC_PATH + "[" + i + "]/rownum"));
  172. model.setValue(sCNSTTYPELIST_PATH + "[" + currow + "]/cnstteamnm", model.getValue(sCNSTTYPEDESC_PATH + "[" + i + "]/cnstteamnm"));
  173. model.setValue(sCNSTTYPELIST_PATH + "[" + currow + "]/coopteamcd", model.getValue(sCNSTTYPEDESC_PATH + "[" + i + "]/coopteamcd"));
  174. model.setValue(sCNSTTYPELIST_PATH + "[" + currow + "]/cnstteamseq", model.getValue(sCNSTTYPEDESC_PATH + "[" + i + "]/cnstteamseq"));
  175. var coopteamcd = model.getValue(sCNSTTYPEDESC_PATH + "[" + i + "]/coopteamcd");
  176. }
  177. if(curcol >= maxcol){
  178. grd_cnsttypedesc.addColumn("ref:userinfo" + refnum + "; type:output;", false);
  179. grd_cnsttypedesc.caption = grd_cnsttypedesc.caption + "^협진분류정보";
  180. grd_cnsttypedesc.addColumn("ref:usercdinfo" + refnum + "; type:output;", false);
  181. grd_cnsttypedesc.colWidth(grd_cnsttypedesc.colRef("usercdinfo" + refnum)) = 0;
  182. grd_cnsttypedesc.caption = grd_cnsttypedesc.caption + "^협진분류정보";
  183. maxcol += 2;
  184. }
  185. var userinfo = model.getValue(sCNSTTYPEDESC_PATH + "[" + i + "]/userinfo");
  186. var usercdinfo = model.getValue(sCNSTTYPEDESC_PATH + "[" + i + "]/usercdinfo");
  187. //alert(refnum + "," + userinfo + "," + usercdinfo);
  188. model.makeValue(sCNSTTYPELIST_PATH + "[" + currow + "]/userinfo" + refnum + "", userinfo);
  189. model.makeValue(sCNSTTYPELIST_PATH + "[" + currow + "]/usercdinfo" + refnum + "", usercdinfo);
  190. curcol +=2;
  191. refnum++;
  192. }
  193. }
  194. model.refresh();
  195. }
  196. /**
  197. * @desc : 협진분류정보 삭제
  198. * @
  199. * @param :
  200. * @return :
  201. * @author : 오지훈
  202. * @---------------------------------------------------
  203. */
  204. function fDelCnstType(){
  205. var currow = grd_cnsttypedesc.row;
  206. var cnstteamnm = model.getValue(sCNSTTYPELIST_PATH + "[" + currow + "]/cnstteamnm");
  207. var coopteamcd = model.getValue(sCNSTTYPELIST_PATH + "[" + currow + "]/coopteamcd");
  208. var cnstteamseq = model.getValue(sCNSTTYPELIST_PATH + "[" + currow + "]/cnstteamseq");
  209. var rtnval = messageBox("협진분류[" + cnstteamnm + "]를" , "Q001");
  210. if(rtnval == 6){ //Yes
  211. model.setValue("/root/main/cnsttype/status" , "md");
  212. model.setValue("/root/main/cnsttype/cnsttypecd", coopteamcd);
  213. model.setValue("/root/main/cnsttype/cnsttrgtcd", cnstteamseq);
  214. fClrCnstTypeGrd(); //협진분류상세 정보 그리드 초기화
  215. fReqExeSaveCnstTypeCD(); //협진분류코드 삭제처리
  216. }else{ //No
  217. return;
  218. }
  219. model.refresh();
  220. }
  221. /**
  222. * @desc : 협진분류상세 정보 초기화
  223. * @ 저장, 수정, 삭제처리된 결과를 다시 보여주기 위해 그리드를 정리함
  224. * @param :
  225. * @return :
  226. * @author : 오지훈
  227. * @---------------------------------------------------
  228. */
  229. function fClrCnstTypeGrd(){
  230. for(var i = grd_cnsttypedesc.cols; i > 4; i--){
  231. grd_cnsttypedesc.deleteColumn(i);
  232. }
  233. grd_cnsttypedesc.refresh();
  234. model.removeNodeset(sCNSTTYPELIST_PATH);
  235. model.makeNode(sCNSTTYPELIST_PATH + "/rownum");
  236. model.makeNode(sCNSTTYPELIST_PATH + "/cnstteamnm");
  237. model.makeNode(sCNSTTYPELIST_PATH + "/coopteamcd");
  238. model.makeNode(sCNSTTYPELIST_PATH + "/cnstteamseq");
  239. }