SMMQK00200.js 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  1. var acptno = "";
  2. /**
  3. * @---------------------------------------------------
  4. * @desc : SMMQK00200_QI활동보고서 내용 가져오기
  5. * @param : acptno 접수번호
  6. * @return :
  7. * @---------------------------------------------------
  8. */
  9. function fGetCond(){
  10. //alert(acptno);
  11. acptno = model.getValue("/root/main/cond/acptno");
  12. if(acptno != ""){
  13. submit("TRMQK00100");
  14. copyNodeType("/root/main/cond", "/root/tmp/cond", "replace");
  15. model.refresh();
  16. var prcsstatcd = model.getValue("/root/main/cond/prcsstatcd");
  17. userAuth = fchkUser(); //사용자별 권한정보 가져오기
  18. //TEST를 위해 저장
  19. model.makeValue("/root/hidden/userauth", userAuth);
  20. //단계
  21. var prcsstagecd = model.getValue("/root/main/cond/prcsstagecd");
  22. //CASE1 : 1차보고서만 지표입력 가능
  23. if(prcsstagecd == "1"){
  24. //CASE1 0. 최초등록일경우
  25. if(prcsstatcd == "0"){
  26. var rgstrid = getUserId();
  27. var rgstrhngnm = getUserInfo("usernm");
  28. var rgstrdeptcd = getUserInfo("dutplcecd");
  29. var rgstrdeptnm = getUserInfo("dutplcenm");
  30. var rgstdd = getCurrentDate();
  31. model.setValue("/root/main/cond/rgstrid", rgstrid);
  32. model.setValue("/root/main/cond/rgstrhngnm", rgstrhngnm);
  33. model.setValue("/root/main/cond/rgstrdeptcd", rgstrdeptcd);
  34. model.setValue("/root/main/cond/rgstrdeptnm", rgstrdeptnm);
  35. model.setValue("/root/main/cond/rgstrdd", rgstdd);
  36. groupRevitalize("grp_report", "D", "N");
  37. groupRevitalize("grp_fb", "D", "Y");
  38. btn_fbreflt.disabled = true;
  39. }
  40. //CASE1 1. 현재상태가 저장인 경우
  41. if(prcsstatcd == "1"){
  42. groupRevitalize("grp_report", "D", "N");
  43. groupRevitalize("grp_fb", "D", "Y");
  44. btn_fbreflt.disabled = true;
  45. }
  46. //CASE1 2. 현재상태가 전송인 경우
  47. if(prcsstatcd == "2"){
  48. groupRevitalize("grp_report", "D", "Y");
  49. if(userAuth == "U"){
  50. groupRevitalize("grp_fb", "D", "Y");
  51. }
  52. if(userAuth == "Q"){
  53. groupRevitalize("grp_fb", "D", "N");
  54. }
  55. }
  56. //CASE1 3. 현재상태가 F/B요청 경우
  57. if(prcsstatcd == "3"){
  58. groupRevitalize("grp_fb", "D", "Y");
  59. btn_save.disabled = true;
  60. btn_tran.disabled = true;
  61. if(userAuth == "Q"){
  62. groupRevitalize("grp_report", "D", "Y");
  63. //QI팀이라도 등록자, 팀장,간사에 속해있으면 F/B반영을 할수잇다.
  64. var loginID = getUserId();
  65. var rgstID = model.getValue("/root/main/cond/rgstrid");
  66. var chfID = model.getValue("/root/main/cond/chfid");
  67. var staffid = model.getValue("/root/main/cond/staffid");
  68. if(loginID == rgstID || loginID == chfID || loginID == staffid){
  69. groupRevitalize("grp_report", "D", "N");
  70. btn_save.disabled = true;
  71. btn_tran.disabled = true;
  72. groupRevitalize("grp_fb", "D", "Y");
  73. }
  74. }
  75. }
  76. //CASE1 4. 현재상태가 F/B반영 경우
  77. if(prcsstatcd == "4"){
  78. groupRevitalize("grp_report", "D", "Y");
  79. if(userAuth == "U"){
  80. groupRevitalize("grp_fb", "D", "Y");
  81. }
  82. if(userAuth == "Q"){
  83. groupRevitalize("grp_fb", "D", "N");
  84. }
  85. }
  86. //CASE1 5. 현재상태가 마감인 경우
  87. if(prcsstatcd == "5"){
  88. groupRevitalize("grp_report", "D", "Y");
  89. groupRevitalize("grp_fb", "D", "Y");
  90. }
  91. }
  92. //CASE2 : 2~4차보고서 저장시
  93. else{
  94. //CASE2 0. 최초등록일경우
  95. if(prcsstatcd == "0"){
  96. var rgstrid = getUserId();
  97. var rgstrhngnm = getUserInfo("usernm");
  98. var rgstrdeptcd = getUserInfo("dutplcecd");
  99. var rgstrdeptnm = getUserInfo("dutplcenm");
  100. var rgstdd = getCurrentDate();
  101. model.setValue("/root/main/cond/rgstrid", rgstrid);
  102. model.setValue("/root/main/cond/rgstrhngnm", rgstrhngnm);
  103. model.setValue("/root/main/cond/rgstrdeptcd", rgstrdeptcd);
  104. model.setValue("/root/main/cond/rgstrdeptnm", rgstrdeptnm);
  105. model.setValue("/root/main/cond/rgstrdd", rgstdd);
  106. groupRevitalize("grp_report", "D", "Y");
  107. btn_save.disabled = false;
  108. btn_tran.disabled = false;
  109. btn_fbreflt.disabled = true;
  110. groupRevitalize("grp_fb", "D", "Y");
  111. }
  112. //CASE2 1. 현재상태가 저장인 경우
  113. if(prcsstatcd == "1"){
  114. groupRevitalize("grp_report", "D", "Y");
  115. btn_save.disabled = false;
  116. btn_tran.disabled = false;
  117. btn_fbreflt.disabled = true;
  118. btn_filedel.disabled = false;
  119. btn_filedown.disabled = false;
  120. btn_search.disabled = false;
  121. groupRevitalize("grp_fb", "D", "Y");
  122. btn_fbreflt.disabled = true;
  123. }
  124. //CASE2 2. 현재상태가 전송인 경우
  125. if(prcsstatcd == "2"){
  126. groupRevitalize("grp_report", "D", "Y");
  127. if(userAuth == "U"){
  128. groupRevitalize("grp_fb", "D", "Y");
  129. }
  130. if(userAuth == "Q"){
  131. groupRevitalize("grp_fb", "D", "N");
  132. }
  133. }
  134. //CASE2 3. 현재상태가 F/B요청 경우
  135. if(prcsstatcd == "3"){
  136. groupRevitalize("grp_fb", "D", "Y");
  137. groupRevitalize("grp_report", "D", "Y");
  138. btn_fbreflt.disabled = false;
  139. btn_search.disabled = false;
  140. btn_filedel.disabled = false;
  141. if(userAuth == "Q"){
  142. groupRevitalize("grp_report", "D", "Y");
  143. //QI팀이라도 등록자, 팀장,간사에 속해있으면 F/B반영을 할수잇다.
  144. var loginID = getUserId();
  145. var rgstID = model.getValue("/root/main/cond/rgstrid");
  146. var chfID = model.getValue("/root/main/cond/chfid");
  147. var staffid = model.getValue("/root/main/cond/staffid");
  148. if(loginID == rgstID || loginID == chfID || loginID == staffid){
  149. btn_fbreflt.disabled = false;
  150. btn_search.disabled = false;
  151. btn_filedel.disabled = false;
  152. }
  153. }
  154. }
  155. //CASE2 4. 현재상태가 F/B반영 경우
  156. if(prcsstatcd == "4"){
  157. groupRevitalize("grp_report", "D", "Y");
  158. if(userAuth == "U"){
  159. groupRevitalize("grp_fb", "D", "Y");
  160. }
  161. if(userAuth == "Q"){
  162. groupRevitalize("grp_fb", "D", "N");
  163. }
  164. }
  165. //CASE2 5. 현재상태가 마감인 경우
  166. if(prcsstatcd == "5"){
  167. groupRevitalize("grp_report", "D", "Y");
  168. groupRevitalize("grp_fb", "D", "Y");
  169. }
  170. btn_skip.disabled = false;
  171. }
  172. }
  173. //첨부파일 유무에따른 버튼활성화 상태 설정
  174. if(model.getValue("/root/main/cond/attfile") == ""){
  175. btn_filedel.disabled = true;
  176. btn_filedown.disabled = true;
  177. btn_search.disabled = false;
  178. }
  179. else{
  180. btn_filedown.disabled = false;
  181. }
  182. //Other이면 조회만 되게끔 설정
  183. if(userAuth == "O"){
  184. groupRevitalize("grp_report", "D", "Y");
  185. groupRevitalize("grp_fb", "D", "Y");
  186. btn_filedown.disabled = false;
  187. }
  188. //보고서 선택 버튼 focus상태 설정
  189. var savePrcsStageCd = model.getValue("/root/main/cond/saveprcsstagecd");
  190. //alert("넘어온거 : "+ prcsstagecd +", 저장된거 : " + savePrcsStageCd);
  191. if(savePrcsStageCd <= prcsstagecd){
  192. savePrcsStageCd = prcsstagecd;
  193. }
  194. /*
  195. for(var a = 1; a <= savePrcsStageCd ; a++){
  196. var btnNm = "btn_report" + a;
  197. document.all(btnNm).visible = true;
  198. }*/
  199. var btnNm = "btn_report" + prcsstagecd;
  200. document.all(btnNm).selected = true;
  201. //테스트 강지훈 특별권한 ㅋㅋ
  202. if(getUserId() == "DEVB07"){
  203. btn_admin.visible = true;
  204. }
  205. //양식 저장경로 가져오기
  206. submit("TRMQK00103");
  207. btn_fileform.disabled = false;
  208. }
  209. /**
  210. * @---------------------------------------------------
  211. * @desc : SMMQK00200_QI활동보고서가 load될때 실행되는 function
  212. * @param :
  213. * @return :
  214. * @---------------------------------------------------
  215. */
  216. function fInitialize(){
  217. //파라메터 받아오기
  218. if(isPopup() == true){
  219. acptno = opener.javascript.getParameter("ano");
  220. prcsstagecd = opener.javascript.getParameter("prcsstagecd");
  221. if(acptno != ""){
  222. model.setValue("/root/main/cond/acptno", acptno);
  223. model.setValue("/root/main/cond/prcsstagecd", prcsstagecd);
  224. }
  225. }
  226. //cap_attfile.attribute("text") = prcsstagecd+"차보고서 파일";
  227. //화면정보 불러오기
  228. fGetCond();
  229. model.refresh();
  230. }
  231. /**
  232. * @---------------------------------------------------
  233. * @desc : user의 권한을 체크한다.
  234. * @param :
  235. * @return : userAuth 유저권한 U:유저 Q:QI O:Other
  236. * @---------------------------------------------------
  237. */
  238. function fchkUser(){
  239. var userAuth = ""
  240. var loginID = getUserId();
  241. var rgstID = model.getValue("/root/main/cond/planrgstrid");
  242. var chfID = model.getValue("/root/main/cond/chfid");
  243. var staffid = model.getValue("/root/main/cond/staffid");
  244. //테스트를위해 생성한 하드코딩
  245. var TestQI = "DEVB03";
  246. //alert(loginID+ ", " + rgstID);
  247. //Test용
  248. //if(loginID == TestQI){
  249. // userAuth = "Q";
  250. //}
  251. //원래이거다 테스트를위해 막아놨음
  252. if(checkUserGroup("UGE_QIO")){
  253. userAuth = "Q";
  254. }
  255. else if(loginID == rgstID || loginID == chfID || loginID == staffid){
  256. userAuth = "U";
  257. }
  258. else if(loginID != rgstID && loginID != chfID && loginID != staffid){
  259. userAuth = "O";
  260. }
  261. return userAuth;
  262. }
  263. /**
  264. * @---------------------------------------------------
  265. * @desc : QI활동 계획서 저장 function
  266. * @param :
  267. * @return :
  268. * @---------------------------------------------------
  269. */
  270. function fSave(){
  271. //필수 입력란 체크
  272. // if(!isRequiredGroup("grp_report")){
  273. // return false;
  274. // }
  275. model.removenode("/root/send/cond/condition");
  276. model.makeNode("/root/send/cond/condition");
  277. copyNodeType("/root/send/cond/condition", "/root/main/cond", "replace");
  278. submit("TXMQK00100");
  279. //이전 파일 저장정보를 지운다
  280. model.removenode("/root/send/cond/attach/file");
  281. model.makeNode("/root/send/cond/attach/file");
  282. fGetCond();
  283. model.refresh();
  284. }
  285. function fSkipPrcss(){
  286. model.removenode("/root/send/cond/condition");
  287. model.makeNode("/root/send/cond/condition");
  288. copyNodeType("/root/send/cond/condition", "/root/main/cond", "replace");
  289. submit("TXMQK00101");
  290. fGetCond();
  291. model.refresh();
  292. }