SMMQK00100.xjs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429
  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"); trace(acptno);
  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", "0");
  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. //2019.02.28_본원추가
  37. ds_save_chk.setColumn(0,"initchk","Y");
  38. }
  39. //조회일 경우
  40. else if(!utlf_isNull(acptno)){
  41. var oParam = {};
  42. oParam.id = "TRMQK00101";
  43. oParam.service = "qiapp.QiActivityMngt";
  44. oParam.method = "reqGetQiActivityMast";
  45. oParam.inds = "req=ds_main_cond";
  46. oParam.outds = "ds_tmp_cond=qiinfo";
  47. oParam.async = false;
  48. //oParam.callback = "cf_TRMQK00101";
  49. tranf_submit(oParam);
  50. if( ds_tmp_cond.rowcount > 0 ){
  51. ds_main_cond.copyRow(0, ds_tmp_cond, 0);
  52. }
  53. var prcsstatcd = ds_main_cond.getColumn(0, "prcsstatcd");
  54. userAuth = fchkUser(); //사용자별 권한정보 가져오기
  55. //1. 현재상태가 저장인 경우
  56. if(prcsstatcd == "1"){
  57. group2.tar_feedbackcnts.enable = false;
  58. group2.grp_plan.btn_fbreflt.enable = false;
  59. group2.btn_fbreq.enable = false;
  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. //2019.02.28_본원추가
  126. ds_save_chk.setColumn(0,"initchk","N");
  127. }
  128. //첨부파일 유무에따른 버튼활성화 상태 설정
  129. if(utlf_isNull(ds_main_cond.getColumn(0, "attfile"))){
  130. group2.grp_plan.btn_filedel.enable = false;
  131. group2.grp_plan.btn_filedown.enable = false;
  132. }
  133. //Qi팀 여부에따른 FeedBack입력란 활성화
  134. if(userAuth == "Q" && prcsstatcd != "5" && prcsstatcd != "1" && prcsstatcd != "3"){
  135. group2.tar_feedbackcnts.enable = true;
  136. }
  137. else{
  138. group2.tar_feedbackcnts.enable = false;
  139. }
  140. //Other이면 조회만 되게끔 설정
  141. if(userAuth == "O"){
  142. groupRevitalize("group2.grp_plan", "D", "Y");
  143. group2.btn_fbreq.enable = false;
  144. group2.btn_end.enable = false;
  145. group2.tar_feedbackcnts.enable = false;
  146. group2.grp_plan.btn_filedown.enable = true;
  147. }
  148. var instcd = sysf_getUserInfo("dutplceinstcd");
  149. if(instcd =="032"){
  150. if(userAuth == "Q"){
  151. groupRevitalize("group2.grp_plan", "D", "N");
  152. group2.btn_fbreq.enable = true;
  153. group2.btn_end.enable = true;
  154. group2.tar_feedbackcnts.enable = true;
  155. }
  156. }
  157. //양식 저장경로 가져오기
  158. var oParam = {};
  159. oParam.id = "TRMQK00103";
  160. oParam.service = "qiapp.QiActivityMngt";
  161. oParam.method = "reqGetForm";
  162. oParam.inds = "req=ds_main_cond";
  163. oParam.outds = "ds_hidden_form=form";
  164. oParam.async = false;
  165. //oParam.callback = "cf_TRMQK00103";
  166. tranf_submit(oParam);
  167. group2.grp_plan.btn_fileform.enable = true;
  168. //항상
  169. group2.grp_plan.btn_del.enable = true;
  170. /*+++++++++++++++++++++++권한별 화면 설정 끝+++++++++++++++++++++++*/
  171. lf_mmbfGetDeptCodeComboList(ds_init_dept, "I");
  172. }
  173. /**
  174. * @---------------------------------------------------
  175. * @desc : 팀장, 간사 세부정보 조회 function
  176. * @param : kind : 팀장간사구분
  177. * @return :
  178. * @---------------------------------------------------
  179. */
  180. function getUserPopInfo(kind){
  181. ds_main_tempuserinfo_list.clear();
  182. ds_main_userpopupinfo.setColumn(0, "param", "_OneS_DD");
  183. var objArg = new Object();
  184. objArg.param = ds_main_userpopupinfo.getColumn(0, "param");
  185. var rtnDs = frmf_modal("SPZSU10103","SPZSU10103",objArg,"",1,200,200,"","","","","","M");
  186. //modal("SPZSU10103_사용자부서선택조회", "", "200", "200", "SPZSU10103","/root/main/userpopupinfo","/root/main/temp");
  187. ds_main_tempuserinfo_list.copyData(rtnDs);
  188. var emplno = ds_main_tempuserinfo_list.getColumn(0, "userid");
  189. var empInm = ds_main_tempuserinfo_list.getColumn(0, "usernm");
  190. //2017.02.28 팀장 및 간사 소속부서를 근무지부서로 수정
  191. //var empdeptcd = ds_main_tempuserinfo_list.getColumn(0, "posdeptcd");
  192. //var empdeptnm = ds_main_tempuserinfo_list.getColumn(0, "posdeptnm");
  193. var empdeptcd = ds_main_tempuserinfo_list.getColumn(0, "dutplcecd");
  194. var empdeptnm = ds_main_tempuserinfo_list.getColumn(0, "dutplcenm");
  195. ds_send_userinfo.setColumn(0, "userid", emplno);
  196. var oParam = {};
  197. oParam.id = "TRMQK00101";
  198. oParam.service = "qiapp.QiActivityMngt";
  199. oParam.method = "reqGetChfInfo";
  200. oParam.inds = "req=ds_send_userinfo";
  201. oParam.outds = "ds_tmp_userinfo=userinfo";
  202. oParam.async = false;
  203. //oParam.callback = "cf_TRMQK00101";
  204. tranf_submit(oParam);
  205. var empemail = ds_tmp_userinfo.getColumn(0, "email");
  206. var emptel = ds_tmp_userinfo.getColumn(0, "tel");
  207. var empmpphonno = ds_tmp_userinfo.getColumn(0, "mpphonno");
  208. if(kind == "1"){
  209. ds_main_cond.setColumn(0, "chfid", emplno);
  210. ds_main_cond.setColumn(0, "chfhngnm", empInm);
  211. ds_main_cond.setColumn(0, "chfdeptcd", empdeptcd);
  212. ds_main_cond.setColumn(0, "chfdeptnm", empdeptnm);
  213. ds_main_cond.setColumn(0, "chfemail", empemail);
  214. ds_main_cond.setColumn(0, "chfcntctel", emptel);
  215. ds_main_cond.setColumn(0, "chfceltel", empmpphonno);
  216. }
  217. else if(kind == "2"){
  218. ds_main_cond.setColumn(0, "staffid", emplno);
  219. ds_main_cond.setColumn(0, "staffhngnm", empInm);
  220. ds_main_cond.setColumn(0, "staffdeptcd", empdeptcd);
  221. ds_main_cond.setColumn(0, "staffdeptnm", empdeptnm);
  222. ds_main_cond.setColumn(0, "staffemail", empemail);
  223. ds_main_cond.setColumn(0, "staffcntctel", emptel);
  224. ds_main_cond.setColumn(0, "staffceltel", empmpphonno);
  225. }
  226. }
  227. /**
  228. * @---------------------------------------------------
  229. * @desc : QI활동 계획서 저장 function
  230. * @param :
  231. * @return :
  232. * @---------------------------------------------------
  233. */
  234. function fSave(){
  235. /*+++++++++++++++++++++++필수 입력란 체크+++++++++++++++++++++++*/
  236. if(!frmf_isRequiredGroup("group2.grp_plan")){
  237. return false;
  238. }
  239. if(fChkSave() == false ){
  240. return false;
  241. }
  242. /*+++++++++++++++++++++++끝+++++++++++++++++++++++*/
  243. ds_send_cond_condition.copyRow(0, ds_main_cond, 0);
  244. var oParam = {};
  245. oParam.id = "TXMQK00100";
  246. oParam.service = "qiapp.QiActivityMngt";
  247. oParam.method = "reqSetQiActivityPlan";
  248. oParam.inds = "req=ds_send_cond_condition attach=ds_send_cond_attach";
  249. oParam.outds = "ds_temp_cond=acptno";
  250. oParam.async = false;
  251. //oParam.callback = "cf_TXMQK00100";
  252. tranf_submit(oParam);
  253. ds_send_cond_attach.clearData();
  254. ds_send_cond_attach.addRow();
  255. acptno = ds_temp_cond.getColumn(0, "acptno");
  256. ds_main_cond.setColumn(0, "acptno" , acptno);
  257. ds_main_cond.setColumn(0, "prcsstagecd" , "0");
  258. var instcd = sysf_getUserInfo("dutplceinstcd");
  259. if(instcd =="031"){
  260. if(ds_save_chk.getColumn(0, "initchk") == "Y"){
  261. sysf_messageBox("QI 계획서 작성 시 목록이 신규생성 되오니‘QI 활동목록 및 보고서’ 항목에서 수정바랍니다.", "I");
  262. this.close();
  263. }
  264. }
  265. fInitialize();
  266. }
  267. /**
  268. * @---------------------------------------------------
  269. * @desc : Login User 권한 조회
  270. * @param :
  271. * @return : userAuth(사용자권한) U:사용자 Q:QI관리자 O:Other
  272. * @---------------------------------------------------
  273. */
  274. function fchkUser(){
  275. var userAuth = ""
  276. var loginID = sysf_getUserId(); //로그인ID
  277. var dutplcecd = sysf_getUserInfo("dutplcecd");
  278. var rgstrdeptcd = ds_main_cond.getColumn(0, "rgstrdeptcd"); //등록부서
  279. var rgstID = ds_main_cond.getColumn(0, "rgstrid"); //등록자ID
  280. var chfID = ds_main_cond.getColumn(0, "chfid"); //팀장ID
  281. var staffid = ds_main_cond.getColumn(0, "staffid"); //간사ID
  282. if(sysf_checkUserGroup("UGE_QIO")){
  283. userAuth = "Q";
  284. }
  285. else if(loginID == rgstID || loginID == chfID || loginID == staffid || dutplcecd == rgstrdeptcd ){
  286. userAuth = "U";
  287. }
  288. else if(loginID != rgstID && loginID != chfID && loginID != staffid){
  289. userAuth = "O";
  290. }
  291. return userAuth;
  292. }
  293. function fChkSave()
  294. {
  295. if (utlf_isNull(ds_main_cond.getColumn(0, "majrdeptnm")))
  296. {
  297. sysf_messageBox("주무부서는","I003");
  298. return false;
  299. }
  300. if (utlf_isNull(ds_main_cond.getColumn(0, "chfhngnm")) || utlf_isNull(ds_main_cond.getColumn(0, "chfdeptnm")))
  301. {
  302. sysf_messageBox("팀장은","I003");
  303. return false;
  304. }
  305. if (utlf_isNull(ds_main_cond.getColumn(0, "staffhngnm")) || utlf_isNull(ds_main_cond.getColumn(0, "staffdeptnm")))
  306. {
  307. sysf_messageBox("간사는","I003");
  308. return false;
  309. }
  310. }
  311. function fDel()
  312. {
  313. var prcsstatcd = ds_main_cond.getColumn(0, "prcsstatcd");
  314. var prcsstagecd = ds_main_cond.getColumn(0, "prcsstagecd");
  315. var planrgstrid = ds_main_cond.getColumn(0, "planrgstrid");
  316. var planrgstrhngnm = ds_main_cond.getColumn(0, "planrgstrhngnm");
  317. var userAuth = "";
  318. userAuth = fchkUser(); //사용자별 권한정보 가져오기
  319. if (userAuth != "Q"){
  320. if (prcsstatcd != "1") {
  321. sysf_messageBox("삭제할 수 없는 상태입니다","I999");
  322. return false;
  323. }
  324. if (planrgstrid != sysf_getUserInfo("userid")) {
  325. sysf_messageBox("삭제할 수 있는 사용자가 아닙니다. 등록자:"+planrgstrhngnm,"I999");
  326. return false;
  327. }
  328. }
  329. if ( sysf_messageBox ( "삭제 하시겠습니까?","Q") != "6" )
  330. return false;
  331. ds_send_cond_condition.copyRow(0, ds_main_cond, 0);
  332. var oParam = {};
  333. oParam.id = "TXMQK00200";
  334. oParam.service = "qiapp.QiActivityMngt";
  335. oParam.method = "reqDelQiActivityPlan";
  336. oParam.inds = "req=ds_send_cond_condition attach=ds_send_cond_attach";
  337. oParam.outds = "ds_hidden_cnt=cnt";
  338. oParam.async = false;
  339. //oParam.callback = "cf_TXMQK00200";
  340. tranf_submit(oParam);
  341. var delcnt = ds_hidden_cnt.getColumn(0, "delcnt");
  342. if (delcnt > 0){
  343. sysf_messageBox("정상","I002");
  344. if(frmf_isPopup() == true){
  345. this.close();
  346. }else{
  347. this.reload();
  348. }
  349. }
  350. else {
  351. sysf_messageBox("삭제오류","");
  352. }
  353. }
  354. ]]></Script>