package com.kingdee.shr.perfweb.util; import com.google.common.base.Strings; import com.kingdee.bos.Context; import com.kingdee.bos.util.BOSUuid; import com.kingdee.eas.basedata.person.PersonInfo; import com.kingdee.eas.framework.CoreBaseCollection; import com.kingdee.eas.framework.CoreBaseInfo; import com.kingdee.eas.util.app.ContextUtil; import com.kingdee.eas.util.app.DbUtil; import com.kingdee.jdbc.rowset.IRowSet; import com.kingdee.shr.perfweb.app.base.evalplan.*; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.math.BigDecimal; /** * description: EvaResultSumRevisionLogService
* date: 25/11/2025 下午 4:20
* author: lhbj
* version: 1.0
*/ public class EvaResultSumRevisionLogService { private static final Logger logger = LoggerFactory.getLogger(EvaResultSumRevisionLogService.class); public EvaResultSumRevisionLogService() { } /** * revisePerson 修订人 对象 CFRevisePersonID * revisePersonName 修订人 字符串 CFRevisePersonName * afterPerfLevel 修订后绩效系数 数字 CFAfterPerfLevel * beforePerfLevel 修订前绩效系数 数字 CFBeforePerfLevel * * @param ctx * @param sourceEnum * @param evaResultSummaryInfo * @param beforeReviseSumScore * @param beforeReviseGradeLevel */ public void generatedEvaResultSumRevisionLog(Context ctx, EvaResultSumLogSourceEnum sourceEnum, EvaResultSummaryInfo evaResultSummaryInfo, String beforeReviseSumScore, String beforeReviseGradeLevel) { try { IEvaResultSumRevisionLog localInstance = EvaResultSumRevisionLogFactory.getLocalInstance(ctx); EvaResultSumRevisionLogInfo info = new EvaResultSumRevisionLogInfo(); info.setEvaResultSummary(evaResultSummaryInfo); info.setBeforeReviseGradeLevel(beforeReviseGradeLevel); info.setAfterReviseGradeLevel(evaResultSummaryInfo.getString("reviseGradeLevel")); info.setSourceEnum(sourceEnum); info.setReviseReason(evaResultSummaryInfo.getString("reviseReason")); BigDecimal b; if (!Strings.isNullOrEmpty(beforeReviseSumScore)) { b = new BigDecimal(beforeReviseSumScore); info.setBeforeReviseSumScore(b.setScale(2, 4).doubleValue()); } if (!StringUtils.isEmpty(evaResultSummaryInfo.getString("reviseSumScore"))) { b = new BigDecimal(evaResultSummaryInfo.getString("reviseSumScore")); info.setAfterReviseSumScore(b.setScale(2, 4).doubleValue()); } EvaResultSummaryInfo old = GetEntityInfoUtils.getEvaResultSummaryInfoById(ctx, evaResultSummaryInfo.getId().toString()); BigDecimal afterPerfLevel = (evaResultSummaryInfo.getBigDecimal("auditPerCoefficient") == null ? evaResultSummaryInfo.getBigDecimal("perCoefficient") : evaResultSummaryInfo.getBigDecimal("auditPerCoefficient")); info.put("beforePerfLevel", evaResultSummaryInfo.getBigDecimal("reviseBfCoefficient")); info.put("afterPerfLevel", afterPerfLevel); PersonInfo revisePerson = (PersonInfo) ctx.get("revisePerson"); revisePerson = (null == revisePerson ? ContextUtil.getCurrentUserInfo(ctx).getPerson() : revisePerson); String revisePersonName = (String) ctx.get("revisePersonName"); revisePersonName = (null == revisePersonName ? ContextUtil.getCurrentUserInfo(ctx).getName() : revisePersonName); info.put("revisePerson", revisePerson); info.put("revisePersonName", revisePersonName); if (EvaResultSumLogSourceEnum.AUDITING.equals(sourceEnum)) { String assignment = evaResultSummaryInfo.getString("assignmentID"); if (StringUtils.isNotBlank(assignment)) { String sel = "select fid,CFoldPerfLevel from T_EVA_EvaResultSumRevisionLog where CFREVISEPERSONID=? and CFASSIGNMENT=? and FEVARESULTSUMMARYID=?"; IRowSet rs = DbUtil.executeQuery(ctx,sel,new Object[]{revisePerson.getId().toString(),assignment,evaResultSummaryInfo.getId().toString()}); info.put("assignment", assignment); if(rs.next()) { BOSUuid id = BOSUuid.read(rs.getString("fid")); BigDecimal decimal =rs.getBigDecimal("CFoldPerfLevel"); info.setId(id); info.put("beforePerfLevel", decimal); localInstance.save(info); }else { info.put("oldPerfLevel", evaResultSummaryInfo.getBigDecimal("reviseBfCoefficient")); localInstance.addnew(info); } }else { localInstance.addnew(info); } } else { localInstance.addnew(info); } } catch (Exception var9) { logger.error(var9.toString()); var9.printStackTrace(); } } public void generatedEvaResultSumRevisionLog(Context ctx, EvaResultSumLogSourceEnum sourceEnum, OrgEvaResultSummaryInfo evaResultSummaryInfo, String beforeReviseSumScore, String beforeReviseGradeLevel) { try { IEvaResultSumRevisionLog localInstance = EvaResultSumRevisionLogFactory.getLocalInstance(ctx); EvaResultSumRevisionLogInfo info = new EvaResultSumRevisionLogInfo(); info.setOrgEvaResultSummary(evaResultSummaryInfo); info.setBeforeReviseGradeLevel(beforeReviseGradeLevel); info.setAfterReviseGradeLevel(evaResultSummaryInfo.getString("reviseGradeLevel")); info.setSourceEnum(sourceEnum); info.setReviseReason(evaResultSummaryInfo.getString("reviseReason")); BigDecimal b; if (!Strings.isNullOrEmpty(beforeReviseSumScore)) { b = new BigDecimal(beforeReviseSumScore); info.setBeforeReviseSumScore(b.setScale(2, 4).doubleValue()); } if (!StringUtils.isEmpty(evaResultSummaryInfo.getString("reviseSumScore"))) { b = new BigDecimal(evaResultSummaryInfo.getString("reviseSumScore")); info.setAfterReviseSumScore(b.setScale(2, 4).doubleValue()); } PersonInfo revisePerson = (PersonInfo) ctx.get("revisePerson"); revisePerson = (null == revisePerson ? ContextUtil.getCurrentUserInfo(ctx).getPerson() : revisePerson); String revisePersonName = (String) ctx.get("revisePersonName"); revisePersonName = (null == revisePersonName ? ContextUtil.getCurrentUserInfo(ctx).getName() : revisePersonName); info.put("revisePerson", revisePerson); info.put("revisePersonName", revisePersonName); localInstance.addnew(info); } catch (Exception var9) { logger.error(var9.toString()); } } public void generatedEvaResultSumRevisionLog(Context ctx, CoreBaseCollection coreBaseCollection) { try { IEvaResultSumRevisionLog localInstance = null; if (ctx == null) { localInstance = EvaResultSumRevisionLogFactory.getRemoteInstance(); } else { localInstance = EvaResultSumRevisionLogFactory.getLocalInstance(ctx); } if (coreBaseCollection != null) { localInstance.addnew(coreBaseCollection); } } catch (Exception var4) { logger.error(var4.toString()); } } public CoreBaseCollection packageResultSumRevisionLog(EvaResultSumLogSourceEnum sourceEnum, CoreBaseCollection oldSummaryCollection, CoreBaseCollection currentSummaryCollection, boolean isOrg) { CoreBaseCollection resultSumRevisionLogCollection = new CoreBaseCollection(); for (int i = 0; i < oldSummaryCollection.size(); ++i) { EvaResultSumRevisionLogInfo logInfo = new EvaResultSumRevisionLogInfo(); CoreBaseInfo oldInfo = oldSummaryCollection.get(i); CoreBaseInfo currentInfo = currentSummaryCollection.get(oldInfo.get("id").toString()); if (isOrg) { logInfo.setOrgEvaResultSummary((OrgEvaResultSummaryInfo) oldInfo); } else { logInfo.setEvaResultSummary((EvaResultSummaryInfo) oldInfo); } if (oldInfo.get("reviseSumScore") == null) { logInfo.put("beforeReviseSumScore", oldInfo.get("sumScore")); logInfo.put("beforeReviseGradeLevel", oldInfo.get("gradeLevel")); } else { logInfo.put("beforeReviseSumScore", oldInfo.get("reviseSumScore")); logInfo.put("beforeReviseGradeLevel", oldInfo.get("reviseGradeLevel")); } logInfo.put("afterReviseSumScore", currentInfo.get("reviseSumScore")); logInfo.setAfterReviseGradeLevel((String) currentInfo.get("reviseGradeLevel")); logInfo.setReviseReason((String) currentInfo.get("reviseReason")); logInfo.setSourceEnum(sourceEnum); resultSumRevisionLogCollection.add(logInfo); } return resultSumRevisionLogCollection; } }