SMMQK00210.xjs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[var acptno = "";
  3. /**
  4. * @---------------------------------------------------
  5. * @desc : SMMQK00200_QI활동보고서 내용 가져오기
  6. * @param : acptno 접수번호
  7. * @return :
  8. * @---------------------------------------------------
  9. */
  10. function fGetCond() {
  11. //alert(acptno);
  12. var userAuth = "";
  13. acptno = ds_main_cond.getColumn(0, "acptno");
  14. sysf_trace("acptno222 : " + acptno)
  15. if (!utlf_isNull(acptno)) {
  16. //submit("TRMQK00100");
  17. var oParam = {};
  18. oParam.id = "TRMQK00101";
  19. oParam.service = "qiapp.QiActivityMngt";
  20. oParam.method = "reqGetQiActivityMast";
  21. oParam.inds = "req=ds_main_cond";
  22. oParam.outds = "ds_tmp_cond=qiinfo";
  23. oParam.async = false;
  24. tranf_submit(oParam);
  25. ds_main_cond.copyData(ds_tmp_cond);
  26. var prcsstatcd = ds_main_cond.getColumn(0, "prcsstatcd");
  27. userAuth = fchkUser(); //사용자별 권한정보 가져오기
  28. //TEST를 위해 저장
  29. dsf_makeValue(ds_hidden, "userauth", "string", userAuth);
  30. //단계
  31. var prcsstagecd = ds_main_cond.getColumn(0, "prcsstagecd");
  32. //CASE1 : 1차보고서만 지표입력 가능
  33. if (prcsstagecd == "5") {
  34. //CASE1 0. 최초등록일경우
  35. if (prcsstatcd == "0") {
  36. var rgstrid = sysf_getUserId();
  37. var rgstrhngnm = sysf_getUserInfo("usernm");
  38. var rgstrdeptcd = sysf_getUserInfo("dutplcecd");
  39. var rgstrdeptnm = sysf_getUserInfo("dutplcenm");
  40. var rgstdd = utlf_getCurrentDate();
  41. ds_main_cond.setColumn(0, "rgstrid", rgstrid);
  42. ds_main_cond.setColumn(0, "rgstrhngnm", rgstrhngnm);
  43. ds_main_cond.setColumn(0, "rgstrdeptcd", rgstrdeptcd);
  44. ds_main_cond.setColumn(0, "rgstrdeptnm", rgstrdeptnm);
  45. ds_main_cond.setColumn(0, "rgstrdd", rgstdd);
  46. groupRevitalize("group5.grp_report", "D", "N");
  47. groupRevitalize("grp_fb", "D", "Y");
  48. group5.grp_report.btn_fbreflt.enable = false;
  49. }
  50. //CASE1 1. 현재상태가 저장인 경우
  51. if (prcsstatcd == "1") {
  52. groupRevitalize("group5.grp_report", "D", "N");
  53. groupRevitalize("grp_fb", "D", "Y");
  54. group5.grp_report.btn_fbreflt.enable = false;
  55. }
  56. //CASE1 2. 현재상태가 전송인 경우
  57. if (prcsstatcd == "2") {
  58. groupRevitalize("group5.grp_report", "D", "Y");
  59. if (userAuth == "U") {
  60. groupRevitalize("grp_fb", "D", "Y");
  61. }
  62. if (userAuth == "Q") {
  63. groupRevitalize("grp_fb", "D", "N");
  64. }
  65. }
  66. //CASE1 3. 현재상태가 F/B요청 경우
  67. if (prcsstatcd == "3") {
  68. groupRevitalize("grp_fb", "D", "Y");
  69. group5.grp_report.btn_save.enable = false;
  70. group5.grp_report.btn_tran.enable = false;
  71. if (userAuth == "Q") {
  72. groupRevitalize("group5.grp_report", "D", "Y");
  73. //QI팀이라도 등록자, 팀장,간사에 속해있으면 F/B반영을 할수잇다.
  74. var loginID = sysf_getUserId();
  75. var rgstID = ds_main_cond.getColumn(0, "rgstrid");
  76. var chfID = ds_main_cond.getColumn(0, "chfid");
  77. var staffid = ds_main_cond.getColumn(0, "staffid");
  78. if (loginID == rgstID || loginID == chfID || loginID == staffid) {
  79. groupRevitalize("group5.grp_report", "D", "N");
  80. group5.grp_report.btn_save.enable = false;
  81. group5.grp_report.btn_tran.enable = false;
  82. groupRevitalize("grp_fb", "D", "Y");
  83. }
  84. }
  85. }
  86. //CASE1 4. 현재상태가 F/B반영 경우
  87. if (prcsstatcd == "4") {
  88. groupRevitalize("group5.grp_report", "D", "Y");
  89. if (userAuth == "U") {
  90. groupRevitalize("grp_fb", "D", "Y");
  91. }
  92. if (userAuth == "Q") {
  93. groupRevitalize("grp_fb", "D", "N");
  94. }
  95. }
  96. //CASE1 5. 현재상태가 마감인 경우
  97. if (prcsstatcd == "5") {
  98. groupRevitalize("group5.grp_report", "D", "Y");
  99. groupRevitalize("grp_fb", "D", "Y");
  100. }
  101. }
  102. //CASE2 : 2~4차보고서 저장시
  103. else {
  104. //CASE2 0. 최초등록일경우
  105. if (prcsstatcd == "0") {
  106. var rgstrid = sysf_getUserId();
  107. var rgstrhngnm = sysf_getUserInfo("usernm");
  108. var rgstrdeptcd = sysf_getUserInfo("dutplcecd");
  109. var rgstrdeptnm = sysf_getUserInfo("dutplcenm");
  110. var rgstdd = utlf_getCurrentDate();
  111. ds_main_cond.setColumn(0, "rgstrid", rgstrid);
  112. ds_main_cond.setColumn(0, "rgstrhngnm", rgstrhngnm);
  113. ds_main_cond.setColumn(0, "rgstrdeptcd", rgstrdeptcd);
  114. ds_main_cond.setColumn(0, "rgstrdeptnm", rgstrdeptnm);
  115. ds_main_cond.setColumn(0, "rgstrdd", rgstdd);
  116. groupRevitalize("group5.grp_report", "D", "Y");
  117. group5.grp_report.btn_save.enable = true;
  118. group5.grp_report.btn_tran.enable = true;
  119. group5.grp_report.btn_fbreflt.enable = false;
  120. groupRevitalize("grp_fb", "D", "Y");
  121. }
  122. //CASE2 1. 현재상태가 저장인 경우
  123. if (prcsstatcd == "1") {
  124. groupRevitalize("group5.grp_report", "D", "Y");
  125. group5.grp_report.btn_save.enable = true;
  126. group5.grp_report.btn_tran.enable = true;
  127. group5.grp_report.btn_fbreflt.enable = false;
  128. group5.grp_report.btn_filedel.enable = true;
  129. group5.grp_report.btn_filedown.enable = true;
  130. group5.grp_report.btn_search.enable = true;
  131. groupRevitalize("grp_fb", "D", "Y");
  132. group5.grp_report.btn_fbreflt.enable = false;
  133. }
  134. //CASE2 2. 현재상태가 전송인 경우
  135. if (prcsstatcd == "2") {
  136. groupRevitalize("group5.grp_report", "D", "Y");
  137. if (userAuth == "U") {
  138. groupRevitalize("grp_fb", "D", "Y");
  139. }
  140. if (userAuth == "Q") {
  141. groupRevitalize("grp_fb", "D", "N");
  142. }
  143. }
  144. //CASE2 3. 현재상태가 F/B요청 경우
  145. if (prcsstatcd == "3") {
  146. groupRevitalize("grp_fb", "D", "Y");
  147. groupRevitalize("group5.grp_report", "D", "Y");
  148. group5.grp_report.btn_fbreflt.enable = true;
  149. group5.grp_report.btn_search.enable = true;
  150. group5.grp_report.btn_filedel.enable = true;
  151. if (userAuth == "Q") {
  152. groupRevitalize("group5.grp_report", "D", "Y");
  153. //QI팀이라도 등록자, 팀장,간사에 속해있으면 F/B반영을 할수잇다.
  154. var loginID = getUserId();
  155. var rgstID = ds_main_cond.getColumn(0, "rgstrid");
  156. var chfID = ds_main_cond.getColumn(0, "chfid");
  157. var staffid = ds_main_cond.getColumn(0, "staffid");
  158. if (loginID == rgstID || loginID == chfID || loginID == staffid) {
  159. group5.grp_report.btn_fbreflt.enable = true;
  160. group5.grp_report.btn_search.enable = true;
  161. group5.grp_report.btn_filedel.enable = true;
  162. }
  163. }
  164. }
  165. //CASE2 4. 현재상태가 F/B반영 경우
  166. if (prcsstatcd == "4") {
  167. groupRevitalize("group5.grp_report", "D", "Y");
  168. if (userAuth == "U") {
  169. groupRevitalize("grp_fb", "D", "Y");
  170. }
  171. if (userAuth == "Q") {
  172. groupRevitalize("grp_fb", "D", "N");
  173. }
  174. }
  175. //CASE2 5. 현재상태가 마감인 경우
  176. if (prcsstatcd == "5") {
  177. groupRevitalize("group5.grp_report", "D", "Y");
  178. groupRevitalize("grp_fb", "D", "Y");
  179. }
  180. group5.grp_report.btn_skip.enable = true;
  181. }
  182. }
  183. //첨부파일 유무에따른 버튼활성화 상태 설정
  184. if (utlf_isNull(ds_main_cond.getColumn(0, "attfile"))) {
  185. group5.grp_report.btn_filedel.enable = false;
  186. group5.grp_report.btn_filedown.enable = false;
  187. group5.grp_report.btn_search.enable = true;
  188. } else {
  189. group5.grp_report.btn_filedown.enable = true;
  190. }
  191. //Other이면 조회만 되게끔 설정
  192. if (userAuth == "O") {
  193. groupRevitalize("group5.grp_report", "D", "Y");
  194. groupRevitalize("grp_fb", "D", "Y");
  195. group5.grp_report.btn_filedown.enable = true;
  196. }
  197. //보고서 선택 버튼 focus상태 설정
  198. var savePrcsStageCd = ds_main_cond.getColumn(0, "saveprcsstagecd");
  199. //alert("넘어온거 : "+ prcsstagecd +", 저장된거 : " + savePrcsStageCd);
  200. if (savePrcsStageCd <= prcsstagecd) {
  201. savePrcsStageCd = prcsstagecd;
  202. }
  203. /*
  204. for(var a = 1; a <= savePrcsStageCd ; a++){
  205. var btnNm = "btn_report" + a;
  206. document.all(btnNm).visible = true;
  207. }*/
  208. //var btnNm = "btn_report" + prcsstagecd;
  209. //document.all(btnNm).selected = true;
  210. if(prcsstagecd == "10"){
  211. Tab00.tabindex = 0;
  212. }
  213. else if(prcsstagecd == "20"){
  214. Tab00.tabindex = 1;
  215. }
  216. //테스트 강지훈 특별권한 ㅋㅋ
  217. if (sysf_getUserId() == "DEVB07") {
  218. group5.btn_admin.visible = true;
  219. }
  220. //양식 저장경로 가져오기
  221. //submit("TRMQK00103");
  222. var oParam = {};
  223. oParam.id = "TRMQK00103";
  224. oParam.service = "qiapp.QiActivityMngt";
  225. oParam.method = "reqGetForm";
  226. oParam.inds = "req=ds_main_cond";
  227. oParam.outds = "ds_hidden_form=form";
  228. oParam.async = false;
  229. tranf_submit(oParam);
  230. group5.grp_report.btn_fileform.enable = true;
  231. }
  232. /**
  233. * @---------------------------------------------------
  234. * @desc : SMMQK00200_QI활동보고서가 load될때 실행되는 function
  235. * @param :
  236. * @return :
  237. * @---------------------------------------------------
  238. */
  239. function fInitialize() {
  240. ds_main_cond.setColumn(0, "flag", "Q");
  241. ds_send_mail.setColumn(0, "subject", "질 향상 활동관련 Feedback 요청 건");
  242. ds_send_mail.setColumn(0, "msg", "Feedback 요청이 완료되었으니 내용 확인 후 수정바랍니다");
  243. //파라메터 받아오기
  244. if (frmf_isPopup() == true) {
  245. acptno = opener.frmf_getParameter("ano");
  246. sysf_trace("acptno : " + acptno)
  247. prcsstagecd = opener.frmf_getParameter("prcsstagecd");
  248. sysf_trace("prcsstagecd : " + prcsstagecd)
  249. if (!utlf_isNull(acptno)) {
  250. ds_main_cond.setColumn(0, "acptno", acptno);
  251. ds_main_cond.setColumn(0, "prcsstagecd", prcsstagecd);
  252. }
  253. }
  254. //cap_attfile.attribute("text") = prcsstagecd+"차보고서 파일";
  255. //화면정보 불러오기
  256. fGetCond();
  257. }
  258. /**
  259. * @---------------------------------------------------
  260. * @desc : user의 권한을 체크한다.
  261. * @param :
  262. * @return : userAuth 유저권한 U:유저 Q:QI O:Other
  263. * @---------------------------------------------------
  264. */
  265. function fchkUser() {
  266. var userAuth = ""
  267. var loginID = sysf_getUserId();
  268. var rgstID = ds_main_cond.getColumn(0, "planrgstrid");
  269. var chfID = ds_main_cond.getColumn(0, "chfid");
  270. var staffid = ds_main_cond.getColumn(0, "staffid");
  271. if (sysf_checkUserGroup("UGE_QIO")) {
  272. userAuth = "Q";
  273. } else if (loginID == rgstID || loginID == chfID || loginID == staffid) {
  274. userAuth = "U";
  275. } else if (loginID != rgstID && loginID != chfID && loginID != staffid) {
  276. userAuth = "O";
  277. }
  278. return userAuth;
  279. }
  280. /**
  281. * @---------------------------------------------------
  282. * @desc : QI활동 계획서 저장 function
  283. * @param :
  284. * @return :
  285. * @---------------------------------------------------
  286. */
  287. function fSave() {
  288. //필수 입력란 체크
  289. // if(!isRequiredGroup("grp_report")){
  290. // return false;
  291. // }
  292. dsf_copyColInfo(ds_send_cond_condition, ds_main_cond);
  293. if(ds_send_cond_condition.rowcount == 0){
  294. ds_send_cond_condition.addRow();
  295. }
  296. ds_send_cond_condition.copyRow(0, ds_main_cond, 0);
  297. var oParam = {};
  298. oParam.id = "TXMQK00100";
  299. oParam.service = "qiapp.QiActivityMngt";
  300. oParam.method = "reqSetQiActivityPlan";
  301. oParam.inds = "req=ds_send_cond_condition attach=ds_send_cond_attach";
  302. oParam.outds = "ds_temp_cond=acptno";
  303. oParam.async = false;
  304. tranf_submit(oParam);
  305. //이전 파일 저장정보를 지운다
  306. ds_send_cond_attach.clearData();
  307. ds_send_cond_attach.addRow();
  308. fGetCond();
  309. }
  310. function fSkipPrcss() {
  311. ds_send_cond_condition.clearData();
  312. ds_send_cond_condition.copyData(ds_main_cond);
  313. var oParam = {};
  314. oParam.id = "TXMQK00101";
  315. oParam.service = "qiapp.QiActivityMngt";
  316. oParam.method = "reqSetSkipQiActivityPlan";
  317. oParam.inds = "req=ds_send_cond_condition attach=ds_send_cond_attach";
  318. oParam.outds = "ds_hidden=cnt";
  319. oParam.async = false;
  320. tranf_submit(oParam);
  321. fGetCond();
  322. }]]></Script>