EvaResultSumRevisionLogService.java 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. package com.kingdee.shr.perfweb.util;
  2. import com.google.common.base.Strings;
  3. import com.kingdee.bos.Context;
  4. import com.kingdee.bos.util.BOSUuid;
  5. import com.kingdee.eas.basedata.person.PersonInfo;
  6. import com.kingdee.eas.framework.CoreBaseCollection;
  7. import com.kingdee.eas.framework.CoreBaseInfo;
  8. import com.kingdee.eas.util.app.ContextUtil;
  9. import com.kingdee.eas.util.app.DbUtil;
  10. import com.kingdee.jdbc.rowset.IRowSet;
  11. import com.kingdee.shr.perfweb.app.base.evalplan.*;
  12. import org.apache.commons.lang3.StringUtils;
  13. import org.slf4j.Logger;
  14. import org.slf4j.LoggerFactory;
  15. import java.math.BigDecimal;
  16. /**
  17. * description: EvaResultSumRevisionLogService <br>
  18. * date: 25/11/2025 下午 4:20 <br>
  19. * author: lhbj <br>
  20. * version: 1.0 <br>
  21. */
  22. public class EvaResultSumRevisionLogService {
  23. private static final Logger logger = LoggerFactory.getLogger(EvaResultSumRevisionLogService.class);
  24. public EvaResultSumRevisionLogService() {
  25. }
  26. /**
  27. * revisePerson 修订人 对象 CFRevisePersonID
  28. * revisePersonName 修订人 字符串 CFRevisePersonName
  29. * afterPerfLevel 修订后绩效系数 数字 CFAfterPerfLevel
  30. * beforePerfLevel 修订前绩效系数 数字 CFBeforePerfLevel
  31. *
  32. * @param ctx
  33. * @param sourceEnum
  34. * @param evaResultSummaryInfo
  35. * @param beforeReviseSumScore
  36. * @param beforeReviseGradeLevel
  37. */
  38. public void generatedEvaResultSumRevisionLog(Context ctx, EvaResultSumLogSourceEnum sourceEnum, EvaResultSummaryInfo evaResultSummaryInfo, String beforeReviseSumScore, String beforeReviseGradeLevel) {
  39. try {
  40. IEvaResultSumRevisionLog localInstance = EvaResultSumRevisionLogFactory.getLocalInstance(ctx);
  41. EvaResultSumRevisionLogInfo info = new EvaResultSumRevisionLogInfo();
  42. info.setEvaResultSummary(evaResultSummaryInfo);
  43. info.setBeforeReviseGradeLevel(beforeReviseGradeLevel);
  44. info.setAfterReviseGradeLevel(evaResultSummaryInfo.getString("reviseGradeLevel"));
  45. info.setSourceEnum(sourceEnum);
  46. info.setReviseReason(evaResultSummaryInfo.getString("reviseReason"));
  47. BigDecimal b;
  48. if (!Strings.isNullOrEmpty(beforeReviseSumScore)) {
  49. b = new BigDecimal(beforeReviseSumScore);
  50. info.setBeforeReviseSumScore(b.setScale(2, 4).doubleValue());
  51. }
  52. if (!StringUtils.isEmpty(evaResultSummaryInfo.getString("reviseSumScore"))) {
  53. b = new BigDecimal(evaResultSummaryInfo.getString("reviseSumScore"));
  54. info.setAfterReviseSumScore(b.setScale(2, 4).doubleValue());
  55. }
  56. EvaResultSummaryInfo old = GetEntityInfoUtils.getEvaResultSummaryInfoById(ctx, evaResultSummaryInfo.getId().toString());
  57. BigDecimal afterPerfLevel = (evaResultSummaryInfo.getBigDecimal("auditPerCoefficient") == null ?
  58. evaResultSummaryInfo.getBigDecimal("perCoefficient") : evaResultSummaryInfo.getBigDecimal("auditPerCoefficient"));
  59. info.put("beforePerfLevel", evaResultSummaryInfo.getBigDecimal("reviseBfCoefficient"));
  60. info.put("afterPerfLevel", afterPerfLevel);
  61. PersonInfo revisePerson = (PersonInfo) ctx.get("revisePerson");
  62. revisePerson = (null == revisePerson ? ContextUtil.getCurrentUserInfo(ctx).getPerson() : revisePerson);
  63. String revisePersonName = (String) ctx.get("revisePersonName");
  64. revisePersonName = (null == revisePersonName ? ContextUtil.getCurrentUserInfo(ctx).getName() : revisePersonName);
  65. info.put("revisePerson", revisePerson);
  66. info.put("revisePersonName", revisePersonName);
  67. if (EvaResultSumLogSourceEnum.AUDITING.equals(sourceEnum)) {
  68. String assignment = evaResultSummaryInfo.getString("assignmentID");
  69. if (StringUtils.isNotBlank(assignment)) {
  70. String sel = "select fid,CFoldPerfLevel from T_EVA_EvaResultSumRevisionLog where CFREVISEPERSONID=? and CFASSIGNMENT=? and FEVARESULTSUMMARYID=?";
  71. IRowSet rs = DbUtil.executeQuery(ctx,sel,new Object[]{revisePerson.getId().toString(),assignment,evaResultSummaryInfo.getId().toString()});
  72. info.put("assignment", assignment);
  73. if(rs.next()) {
  74. BOSUuid id = BOSUuid.read(rs.getString("fid"));
  75. BigDecimal decimal =rs.getBigDecimal("CFoldPerfLevel");
  76. info.setId(id);
  77. info.put("beforePerfLevel", decimal);
  78. localInstance.save(info);
  79. }else {
  80. info.put("oldPerfLevel", evaResultSummaryInfo.getBigDecimal("reviseBfCoefficient"));
  81. localInstance.addnew(info);
  82. }
  83. }else {
  84. localInstance.addnew(info);
  85. }
  86. } else {
  87. localInstance.addnew(info);
  88. }
  89. } catch (Exception var9) {
  90. logger.error(var9.toString());
  91. var9.printStackTrace();
  92. }
  93. }
  94. public void generatedEvaResultSumRevisionLog(Context ctx, EvaResultSumLogSourceEnum sourceEnum, OrgEvaResultSummaryInfo evaResultSummaryInfo, String beforeReviseSumScore, String beforeReviseGradeLevel) {
  95. try {
  96. IEvaResultSumRevisionLog localInstance = EvaResultSumRevisionLogFactory.getLocalInstance(ctx);
  97. EvaResultSumRevisionLogInfo info = new EvaResultSumRevisionLogInfo();
  98. info.setOrgEvaResultSummary(evaResultSummaryInfo);
  99. info.setBeforeReviseGradeLevel(beforeReviseGradeLevel);
  100. info.setAfterReviseGradeLevel(evaResultSummaryInfo.getString("reviseGradeLevel"));
  101. info.setSourceEnum(sourceEnum);
  102. info.setReviseReason(evaResultSummaryInfo.getString("reviseReason"));
  103. BigDecimal b;
  104. if (!Strings.isNullOrEmpty(beforeReviseSumScore)) {
  105. b = new BigDecimal(beforeReviseSumScore);
  106. info.setBeforeReviseSumScore(b.setScale(2, 4).doubleValue());
  107. }
  108. if (!StringUtils.isEmpty(evaResultSummaryInfo.getString("reviseSumScore"))) {
  109. b = new BigDecimal(evaResultSummaryInfo.getString("reviseSumScore"));
  110. info.setAfterReviseSumScore(b.setScale(2, 4).doubleValue());
  111. }
  112. PersonInfo revisePerson = (PersonInfo) ctx.get("revisePerson");
  113. revisePerson = (null == revisePerson ? ContextUtil.getCurrentUserInfo(ctx).getPerson() : revisePerson);
  114. String revisePersonName = (String) ctx.get("revisePersonName");
  115. revisePersonName = (null == revisePersonName ? ContextUtil.getCurrentUserInfo(ctx).getName() : revisePersonName);
  116. info.put("revisePerson", revisePerson);
  117. info.put("revisePersonName", revisePersonName);
  118. localInstance.addnew(info);
  119. } catch (Exception var9) {
  120. logger.error(var9.toString());
  121. }
  122. }
  123. public void generatedEvaResultSumRevisionLog(Context ctx, CoreBaseCollection coreBaseCollection) {
  124. try {
  125. IEvaResultSumRevisionLog localInstance = null;
  126. if (ctx == null) {
  127. localInstance = EvaResultSumRevisionLogFactory.getRemoteInstance();
  128. } else {
  129. localInstance = EvaResultSumRevisionLogFactory.getLocalInstance(ctx);
  130. }
  131. if (coreBaseCollection != null) {
  132. localInstance.addnew(coreBaseCollection);
  133. }
  134. } catch (Exception var4) {
  135. logger.error(var4.toString());
  136. }
  137. }
  138. public CoreBaseCollection packageResultSumRevisionLog(EvaResultSumLogSourceEnum sourceEnum, CoreBaseCollection oldSummaryCollection, CoreBaseCollection currentSummaryCollection, boolean isOrg) {
  139. CoreBaseCollection resultSumRevisionLogCollection = new CoreBaseCollection();
  140. for (int i = 0; i < oldSummaryCollection.size(); ++i) {
  141. EvaResultSumRevisionLogInfo logInfo = new EvaResultSumRevisionLogInfo();
  142. CoreBaseInfo oldInfo = oldSummaryCollection.get(i);
  143. CoreBaseInfo currentInfo = currentSummaryCollection.get(oldInfo.get("id").toString());
  144. if (isOrg) {
  145. logInfo.setOrgEvaResultSummary((OrgEvaResultSummaryInfo) oldInfo);
  146. } else {
  147. logInfo.setEvaResultSummary((EvaResultSummaryInfo) oldInfo);
  148. }
  149. if (oldInfo.get("reviseSumScore") == null) {
  150. logInfo.put("beforeReviseSumScore", oldInfo.get("sumScore"));
  151. logInfo.put("beforeReviseGradeLevel", oldInfo.get("gradeLevel"));
  152. } else {
  153. logInfo.put("beforeReviseSumScore", oldInfo.get("reviseSumScore"));
  154. logInfo.put("beforeReviseGradeLevel", oldInfo.get("reviseGradeLevel"));
  155. }
  156. logInfo.put("afterReviseSumScore", currentInfo.get("reviseSumScore"));
  157. logInfo.setAfterReviseGradeLevel((String) currentInfo.get("reviseGradeLevel"));
  158. logInfo.setReviseReason((String) currentInfo.get("reviseReason"));
  159. logInfo.setSourceEnum(sourceEnum);
  160. resultSumRevisionLogCollection.add(logInfo);
  161. }
  162. return resultSumRevisionLogCollection;
  163. }
  164. }