SMMQK00110.xjs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[var acptno = "";
  3. /**
  4. * @---------------------------------------------------
  5. * @desc : SMMQK00100_QI활동계획서가 load될때 실행되는 function
  6. * @param :
  7. * @return :
  8. * @---------------------------------------------------
  9. */
  10. function fInitialize(){
  11. var ano = "";
  12. if(frmf_isPopup() == true){
  13. acptno = opener.frmf_getParameter("ano");
  14. ds_main_cond.setColumn(0, "acptno", acptno);
  15. }
  16. /*+++++++++++++++++++++++권한별 화면 설정+++++++++++++++++++++++*/
  17. groupRevitalize("group2.grp_plan", "D", "N"); //모든 콘트롤 활성화로 초기화
  18. var userAuth = "";
  19. //최초등록일 경우
  20. if(utlf_isNull(acptno)){
  21. ds_main_cond.setColumn(0, "prcsstagecd", "100");
  22. var rgstrid = sysf_getUserId();
  23. var rgstrhngnm = sysf_getUserInfo("usernm");
  24. var rgstrdeptcd = sysf_getUserInfo("dutplcecd");
  25. var rgstrdeptnm = sysf_getUserInfo("dutplcenm");
  26. var rgstdd = utlf_getCurrentDate();
  27. ds_main_cond.setColumn(0, "rgstrid", rgstrid);
  28. ds_main_cond.setColumn(0, "rgstrhngnm", rgstrhngnm);
  29. ds_main_cond.setColumn(0, "rgstrdeptcd", rgstrdeptcd);
  30. ds_main_cond.setColumn(0, "rgstrdeptnm", rgstrdeptnm);
  31. ds_main_cond.setColumn(0, "rgstrdd", rgstdd);
  32. ds_main_cond.setColumn(0, "prizyn", "N"); //포상유무
  33. group2.grp_plan.btn_fbreflt.enable = false;
  34. group2.btn_fbreq.enable = false;
  35. group2.btn_end.enable = false;
  36. }
  37. //조회일 경우
  38. else if(!utlf_isNull(acptno)){
  39. var oParam = {};
  40. oParam.id = "TRMQK00101";
  41. oParam.service = "qiapp.QiActivityMngt";
  42. oParam.method = "reqGetQiActivityMast";
  43. oParam.inds = "req=ds_main_cond";
  44. oParam.outds = "ds_tmp_cond=qiinfo";
  45. oParam.async = false;
  46. //oParam.callback = "cf_TRMQK00101";
  47. tranf_submit(oParam);
  48. if( ds_tmp_cond.rowcount > 0 ){
  49. ds_main_cond.copyRow(0, ds_tmp_cond, 0);
  50. }
  51. var prcsstatcd = ds_main_cond.getColumn(0, "prcsstatcd");
  52. userAuth = fchkUser(); //사용자별 권한정보 가져오기
  53. // alert("prcsstatcd : "+prcsstatcd);
  54. // alert("userAuth : "+userAuth);
  55. //1. 현재상태가 저장인 경우
  56. if(prcsstatcd == "1"){
  57. group2.tar_feedbackcnts.enable = false;
  58. group2.grp_plan.btn_fbreflt.enable = false; //>F/B 반영
  59. group2.btn_fbreq.enable = false; //F/B 요청
  60. group2.btn_end.enable = false; //마감
  61. }
  62. //2. 현재상태가 전송인 경우
  63. if(prcsstatcd == "2"){
  64. groupRevitalize("group2.grp_plan", "D", "Y");
  65. group2.grp_plan.btn_filedown.enable = true;
  66. if(userAuth == "U"){
  67. group2.btn_fbreq.enable = false;
  68. group2.btn_end.enable = false;
  69. }
  70. if(userAuth == "Q"){
  71. group2.btn_fbreq.enable = true;
  72. group2.btn_end.enable = true;
  73. }
  74. }
  75. //3. 현재상태가 F/B요청 경우
  76. if(prcsstatcd == "3"){
  77. if(userAuth == "U"){
  78. group2.grp_plan.btn_save.enable = false;
  79. group2.grp_plan.btn_tran.enable = false;
  80. group2.btn_fbreq.enable = false;
  81. group2.btn_end.enable = false;
  82. }
  83. else if(userAuth == "Q"){
  84. groupRevitalize("group2.grp_plan", "D", "Y");
  85. group2.grp_plan.btn_filedown.enable = true;
  86. group2.btn_fbreq.enable = false;
  87. group2.btn_end.enable = false;
  88. //QI팀이라도 등록자, 팀장,간사에 속해있으면 F/B반영을 할수잇다.
  89. var loginID = sysf_getUserId();
  90. var rgstID = ds_main_cond.getColumn(0, "rgstrid");
  91. var chfID = ds_main_cond.getColumn(0, "chfid");
  92. var staffid = ds_main_cond.getColumn(0, "staffid");
  93. if(loginID == rgstID || loginID == chfID || loginID == staffid){
  94. groupRevitalize("group2.grp_plan", "D", "N");
  95. group2.grp_plan.btn_save.enable = false;
  96. group2.grp_plan.btn_tran.enable = false;
  97. }
  98. }
  99. }
  100. //4. 현재상태가 F/B반영 경우
  101. if(prcsstatcd == "4"){
  102. if(userAuth == "U"){
  103. groupRevitalize("group2.grp_plan", "D", "Y");
  104. group2.grp_plan.btn_filedown.enable = true;
  105. group2.grp_plan.btn_save.enable = false;
  106. group2.grp_plan.btn_tran.enable = false;
  107. group2.grp_plan.btn_fbreflt.enable = false;
  108. group2.btn_fbreq.enable = false;
  109. group2.btn_end.enable = false;
  110. }
  111. else if(userAuth == "Q"){
  112. groupRevitalize("group2.grp_plan", "D", "Y");
  113. group2.grp_plan.btn_filedown.enable = true;
  114. group2.btn_fbreq.enable = true;
  115. group2.btn_end.enable = true;
  116. }
  117. }
  118. //5. 현재상태가 마감인 경우
  119. if(prcsstatcd == "5"){
  120. groupRevitalize("group2.grp_plan", "D", "Y");
  121. group2.grp_plan.btn_filedown.enable = true;
  122. group2.btn_fbreq.enable = false;
  123. group2.btn_end.enable = false;
  124. }
  125. }
  126. //첨부파일 유무에따른 버튼활성화 상태 설정
  127. if(utlf_isNull(ds_main_cond.getColumn(0, "attfile"))){
  128. group2.grp_plan.btn_filedel.enable = false;
  129. group2.grp_plan.btn_filedown.enable = false;
  130. }
  131. //Qi팀 여부에따른 FeedBack입력란 활성화
  132. if(userAuth == "Q" && prcsstatcd != "5" && prcsstatcd != "1" && prcsstatcd != "3"){
  133. group2.tar_feedbackcnts.enable = true;
  134. }
  135. else{
  136. group2.tar_feedbackcnts.enable = false;
  137. }
  138. //Other이면 조회만 되게끔 설정
  139. if(userAuth == "O"){
  140. groupRevitalize("group2.grp_plan", "D", "Y");
  141. group2.btn_fbreq.enable = false;
  142. group2.btn_end.enable = false;
  143. group2.grp_plan.tar_feedbackcnts.enable = false;
  144. group2.grp_plan.btn_filedown.enable = true;
  145. }
  146. if(userAuth == "Q"){
  147. group2.grp_plan.btn_exe.visible = true;
  148. group2.grp_plan.btn_search.enable = true;
  149. group2.grp_plan.btn_filedel.enable = true;
  150. group2.grp_plan.btn_exe.enable = true;
  151. }
  152. //양식 저장경로 가져오기
  153. var oParam = {};
  154. oParam.id = "TRMQK00103";
  155. oParam.service = "qiapp.QiActivityMngt";
  156. oParam.method = "reqGetForm";
  157. oParam.inds = "req=ds_main_cond";
  158. oParam.outds = "ds_hidden_form=form";
  159. oParam.async = false;
  160. //oParam.callback = "cf_TRMQK00103";
  161. tranf_submit(oParam);
  162. group2.grp_plan.btn_fileform.enable = true;
  163. //항상
  164. group2.grp_plan.btn_del.enable = true;
  165. /*+++++++++++++++++++++++권한별 화면 설정 끝+++++++++++++++++++++++*/
  166. lf_mmbfGetDeptCodeComboList(ds_init_dept, "I");
  167. }
  168. /**
  169. * @---------------------------------------------------
  170. * @desc : 팀장, 간사 세부정보 조회 function
  171. * @param : kind : 팀장간사구분
  172. * @return :
  173. * @---------------------------------------------------
  174. */
  175. function getUserPopInfo(kind){
  176. ds_main_tempuserinfo_list.clear();
  177. ds_main_userpopupinfo.setColumn(0, "param", "_OneS_DD");
  178. var objArg = new Object();
  179. objArg.param = ds_main_userpopupinfo.getColumn(0, "param");
  180. var rtnDs = frmf_modal("SPZSU10103","SPZSU10103",objArg,"",1,200,200,"","","","","","M");
  181. ds_main_tempuserinfo_list.copyData(rtnDs);
  182. var emplno = ds_main_tempuserinfo_list.getColumn(0, "userid");
  183. var empInm = ds_main_tempuserinfo_list.getColumn(0, "usernm");
  184. //2017.02.28 팀장 및 간사 소속부서를 근무지부서로 수정
  185. //var empdeptcd = ds_main_tempuserinfo_list.getColumn(0, "posdeptcd");
  186. //var empdeptnm = ds_main_tempuserinfo_list.getColumn(0, "posdeptnm");
  187. var empdeptcd = ds_main_tempuserinfo_list.getColumn(0, "dutplcecd");
  188. var empdeptnm = ds_main_tempuserinfo_list.getColumn(0, "dutplcenm");
  189. ds_send_userinfo.setColumn(0, "userid", emplno);
  190. var oParam = {};
  191. oParam.id = "TRMQK00101";
  192. oParam.service = "qiapp.QiActivityMngt";
  193. oParam.method = "reqGetChfInfo";
  194. oParam.inds = "req=ds_send_userinfo";
  195. oParam.outds = "ds_tmp_userinfo=userinfo";
  196. oParam.async = false;
  197. //oParam.callback = "cf_TRMQK00101";
  198. tranf_submit(oParam);
  199. var empemail = ds_tmp_userinfo.getColumn(0, "email");
  200. var emptel = ds_tmp_userinfo.getColumn(0, "tel");
  201. var empmpphonno = ds_tmp_userinfo.getColumn(0, "mpphonno");
  202. if(kind == "1"){
  203. ds_main_cond.setColumn(0, "chfid", emplno);
  204. ds_main_cond.setColumn(0, "chfhngnm", empInm);
  205. ds_main_cond.setColumn(0, "chfdeptcd", empdeptcd);
  206. ds_main_cond.setColumn(0, "chfdeptnm", empdeptnm);
  207. ds_main_cond.setColumn(0, "chfemail", empemail);
  208. ds_main_cond.setColumn(0, "chfcntctel", emptel);
  209. ds_main_cond.setColumn(0, "chfceltel", empmpphonno);
  210. }
  211. else if(kind == "2"){
  212. ds_main_cond.setColumn(0, "staffid", emplno);
  213. ds_main_cond.setColumn(0, "staffhngnm", empInm);
  214. ds_main_cond.setColumn(0, "staffdeptcd", empdeptcd);
  215. ds_main_cond.setColumn(0, "staffdeptnm", empdeptnm);
  216. ds_main_cond.setColumn(0, "staffemail", empemail);
  217. ds_main_cond.setColumn(0, "staffcntctel", emptel);
  218. ds_main_cond.setColumn(0, "staffceltel", empmpphonno);
  219. }
  220. }
  221. /**
  222. * @---------------------------------------------------
  223. * @desc : QI활동 계획서 저장 function
  224. * @param :
  225. * @return :
  226. * @---------------------------------------------------
  227. */
  228. function fSave(){
  229. /*+++++++++++++++++++++++필수 입력란 체크+++++++++++++++++++++++*/
  230. if(!frmf_isRequiredGroup("group2.grp_plan")){
  231. return false;
  232. }
  233. if(fChkSave() == false ){
  234. return false;
  235. }
  236. /*+++++++++++++++++++++++끝+++++++++++++++++++++++*/
  237. ds_send_cond_condition.copyRow(0, ds_main_cond, 0);
  238. var oParam = {};
  239. oParam.id = "TXMQK00100";
  240. oParam.service = "qiapp.QiActivityMngt";
  241. oParam.method = "reqSetQiActivityPlan";
  242. oParam.inds = "req=ds_send_cond_condition attach=ds_send_cond_attach";
  243. oParam.outds = "ds_temp_cond=acptno";
  244. oParam.async = false;
  245. //oParam.callback = "cf_TXMQK00100";
  246. tranf_submit(oParam);
  247. ds_send_cond_attach.clearData();
  248. ds_send_cond_attach.addRow();
  249. acptno = ds_temp_cond.getColumn(0, "acptno");
  250. ds_main_cond.setColumn(0, "acptno" , acptno);
  251. ds_main_cond.setColumn(0, "prcsstagecd" , "100");
  252. fInitialize();
  253. }
  254. /**
  255. * @---------------------------------------------------
  256. * @desc : Login User 권한 조회
  257. * @param :
  258. * @return : userAuth(사용자권한) U:사용자 Q:QI관리자 O:Other
  259. * @---------------------------------------------------
  260. */
  261. function fchkUser(){
  262. var userAuth = "";
  263. var loginID = sysf_getUserId();
  264. var rgstID = ds_main_cond.getColumn(0, "rgstrid");
  265. var chfID = ds_main_cond.getColumn(0, "chfid");
  266. var staffid = ds_main_cond.getColumn(0, "staffid");
  267. //테스트를위해 생성한 하드코딩
  268. var TestQI = "DEVB03";
  269. //Test 용
  270. //if(loginID == TestQI){
  271. // userAuth = "Q";
  272. //}
  273. //원래이거다 테스트를위해 막아놨음
  274. if(sysf_checkUserGroup("UGE_QIO") || sysf_checkUserGroup("UGE_QIT")){
  275. userAuth = "Q";
  276. }
  277. else if(loginID == rgstID || loginID == chfID || loginID == staffid){
  278. userAuth = "U";
  279. }
  280. else if(loginID != rgstID && loginID != chfID && loginID != staffid){
  281. userAuth = "O";
  282. }
  283. return userAuth;
  284. }
  285. function fChkSave()
  286. {
  287. if (utlf_isNull(ds_main_cond.getColumn(0, "majrdeptnm")))
  288. {
  289. sysf_messageBox("주무부서는","I003");
  290. return false;
  291. }
  292. if (utlf_isNull(ds_main_cond.getColumn(0, "chfhngnm")) || utlf_isNull(ds_main_cond.getColumn(0, "chfdeptnm")))
  293. {
  294. sysf_messageBox("팀장은","I003");
  295. return false;
  296. }
  297. if (utlf_isNull(ds_main_cond.getColumn(0, "staffhngnm")) || utlf_isNull(ds_main_cond.getColumn(0, "staffdeptnm")))
  298. {
  299. sysf_messageBox("간사는","I003");
  300. return false;
  301. }
  302. }
  303. function fDel()
  304. {
  305. var prcsstatcd = ds_main_cond.getColumn(0, "prcsstatcd");
  306. var prcsstagecd = ds_main_cond.getColumn(0, "prcsstagecd");
  307. var planrgstrid = ds_main_cond.getColumn(0, "planrgstrid");
  308. var planrgstrhngnm = ds_main_cond.getColumn(0, "planrgstrhngnm");
  309. var userAuth = "";
  310. userAuth = fchkUser(); //사용자별 권한정보 가져오기
  311. if (userAuth != "Q"){
  312. if (prcsstatcd != "1") {
  313. sysf_messageBox("삭제할 수 없는 상태입니다","I999");
  314. return false;
  315. }
  316. if (planrgstrid != sysf_getUserInfo("userid")) {
  317. sysf_messageBox("삭제할 수 있는 사용자가 아닙니다. 등록자:"+planrgstrhngnm,"I999");
  318. return false;
  319. }
  320. }
  321. if ( sysf_messageBox ( "삭제 하시겠습니까?","Q") != "6" )
  322. return false;
  323. ds_send_cond_condition.copyRow(0, ds_main_cond, 0);
  324. var oParam = {};
  325. oParam.id = "TXMQK00200";
  326. oParam.service = "qiapp.QiActivityMngt";
  327. oParam.method = "reqDelQiActivityPlan";
  328. oParam.inds = "req=ds_send_cond_condition attach=ds_send_cond_attach";
  329. oParam.outds = "ds_hidden_cnt=cnt";
  330. oParam.async = false;
  331. //oParam.callback = "cf_TXMQK00200";
  332. tranf_submit(oParam);
  333. var delcnt = ds_hidden_cnt.getColumn(0, "delcnt");
  334. if (delcnt > 0){
  335. sysf_messageBox("정상","I002");
  336. if(frmf_isPopup() == true){
  337. this.close();
  338. }else{
  339. this.reload();
  340. }
  341. }
  342. else {
  343. sysf_messageBox("삭제오류","");
  344. }
  345. }
  346. ]]></Script>