ExamineZQJDEditHandler.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. package com.kingdee.eas.custom.performancenew.handler;
  2. import com.kingdee.bos.BOSException;
  3. import com.kingdee.bos.Context;
  4. import com.kingdee.bos.ctrl.swing.StringUtils;
  5. import com.kingdee.bos.metadata.entity.SelectorItemCollection;
  6. import com.kingdee.eas.common.EASBizException;
  7. import com.kingdee.eas.custom.performancenew.*;
  8. import com.kingdee.eas.custom.performancenew.app.periodStatusEnum;
  9. import com.kingdee.shr.base.syssetting.context.SHRContext;
  10. import com.kingdee.shr.base.syssetting.web.handler.EditHandler;
  11. import com.kingdee.shr.base.syssetting.web.json.JSONUtils;
  12. import org.springframework.ui.ModelMap;
  13. import javax.servlet.http.HttpServletRequest;
  14. import javax.servlet.http.HttpServletResponse;
  15. /**
  16. * @author qingwu
  17. * @date 2024/4/11
  18. * @apiNote 周期季度
  19. */
  20. public class ExamineZQJDEditHandler extends EditHandler {
  21. private Context ctx = SHRContext.getInstance().getContext();
  22. /**
  23. * 锁定周期
  24. *
  25. * @param request
  26. * @param response
  27. * @param modelMap
  28. */
  29. public void periodLockAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws BOSException, EASBizException {
  30. String billId = request.getParameter("billId");
  31. IExamineGradePerson iExamineGradePerson = ExamineGradePersonFactory.getLocalInstance(ctx);
  32. ExamineGradePersonCollection examineGradePersonCollection = iExamineGradePerson.getExamineGradePersonCollection("where id = '" + billId + "'");
  33. if (examineGradePersonCollection.size() > 0) {
  34. SelectorItemCollection sic = new SelectorItemCollection();
  35. ExamineGradePersonInfo examineGradePersonInfo = examineGradePersonCollection.get(0);
  36. examineGradePersonInfo.setPeriodStatus(periodStatusEnum.periodLock);
  37. sic.add("periodStatus");
  38. iExamineGradePerson.updatePartial(examineGradePersonInfo, sic);
  39. }
  40. }
  41. /**
  42. * 解除周期
  43. *
  44. * @param request
  45. * @param response
  46. * @param modelMap
  47. */
  48. public void periodUnlockAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws BOSException, EASBizException {
  49. String billId = request.getParameter("billId");
  50. IExamineGradePerson iExamineGradePerson = ExamineGradePersonFactory.getLocalInstance(ctx);
  51. ExamineGradePersonCollection examineGradePersonCollection = iExamineGradePerson.getExamineGradePersonCollection("where id = '" + billId + "'");
  52. if (examineGradePersonCollection.size() > 0) {
  53. SelectorItemCollection sic = new SelectorItemCollection();
  54. ExamineGradePersonInfo examineGradePersonInfo = examineGradePersonCollection.get(0);
  55. examineGradePersonInfo.setPeriodStatus(periodStatusEnum.periodRelieve);
  56. sic.add("periodStatus");
  57. iExamineGradePerson.updatePartial(examineGradePersonInfo, sic);
  58. }
  59. }
  60. /**
  61. * 启动排序
  62. */
  63. public void startOrderAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) {
  64. try {
  65. //组织绩效与个人绩效分布对应关系
  66. IPersonRelationOrg iPersonRelationOrg = PersonRelationOrgFactory.getLocalInstance(ctx);
  67. PersonRelationOrgCollection personRelationOrgCollection = iPersonRelationOrg.getPersonRelationOrgCollection();
  68. if (personRelationOrgCollection.size() > 0) {
  69. for (int i = 0; i < personRelationOrgCollection.size(); i++) {
  70. PersonRelationOrgInfo personRelationOrgInfo = personRelationOrgCollection.get(i);
  71. //判断数据是否完整性,累积比例是否等于100
  72. int sum = getCumulativeSum(personRelationOrgInfo);
  73. if(sum>100){
  74. }else{
  75. }
  76. }
  77. }
  78. } catch (BOSException e) {
  79. e.printStackTrace();
  80. throw new RuntimeException(e);
  81. }
  82. }
  83. /**
  84. * 累加比例累积和
  85. */
  86. public int getCumulativeSum(PersonRelationOrgInfo personRelationOrgInfo) {
  87. int sum = 0;
  88. sum += personRelationOrgInfo.getMeritA();
  89. sum += personRelationOrgInfo.getMeritBplus();
  90. sum += personRelationOrgInfo.getMeritB();
  91. sum += personRelationOrgInfo.getMeritBminus();
  92. sum += personRelationOrgInfo.getMeritC();
  93. sum += personRelationOrgInfo.getMeritD();
  94. return sum;
  95. }
  96. /**
  97. * 校验是否存在该年度
  98. *
  99. * @param request
  100. * @param response
  101. * @param modelMap
  102. * @return
  103. */
  104. public void getExistsYearAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) {
  105. String year = request.getParameter("year");
  106. String periodType = request.getParameter("periodType");
  107. String quarter = request.getParameter("quarter");
  108. if (periodType.equals("季度")) {
  109. getExistsMonthAction(request, response, modelMap);
  110. }
  111. if (!StringUtils.isEmpty(year)) {
  112. try {
  113. IExamineGradePerson iExamineGradePerson = ExamineGradePersonFactory.getLocalInstance(ctx);
  114. Boolean exists = iExamineGradePerson.exists("where year = '" + year + "' and periodType='1'");
  115. JSONUtils.SUCCESS(exists);
  116. } catch (Exception e) {
  117. throw new RuntimeException(e);
  118. }
  119. }
  120. }
  121. /**
  122. * 校验是该年度是否存在该季度或月度
  123. *
  124. * @param request
  125. * @param response
  126. * @param modelMap
  127. * @return
  128. */
  129. public void getExistsMonthAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) {
  130. String year = request.getParameter("year");
  131. String periodType = request.getParameter("periodType");
  132. String quarter = request.getParameter("quarter");
  133. if (!StringUtils.isEmpty(year)) {
  134. try {
  135. IExamineGradePerson iExamineGradePerson = ExamineGradePersonFactory.getLocalInstance(ctx);
  136. Boolean exists = iExamineGradePerson.exists("where year = '" + year + "' and quarter='" + quarter + "'");
  137. JSONUtils.SUCCESS(exists);
  138. } catch (Exception e) {
  139. throw new RuntimeException(e);
  140. }
  141. }
  142. }
  143. }