package com.kingdee.eas.hr.perf.osf;
import com.kingdee.bos.BOSException;
import com.kingdee.bos.Context;
import com.kingdee.bos.bsf.service.app.IHRMsfService;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.eas.util.app.DbUtil;
import java.util.Map;
/**
* 考核结果管理列表新增显示“整体评价评语”(取最终等级的整体评价评语)
* description: WholeCommentOSFService
* date: 2025/6/18 15:32
* author: lhbj
* version: 1.0
*/
public class WholeCommentOSFService implements IHRMsfService {
@Override
public Object process(Context context, Map map) throws EASBizException, BOSException {
try {
String sql =
"UPDATE T_EVA_EvaResultSummary SET CFWholeComment = (select to_char(wc.FCOMMENT) FCOMMENT from T_EVA_GradeTaskNodeInst gtni left join T_EVA_WFNodeDef wnf on wnf.fid = gtni.FWFNODEID left join T_PEF_WholeComment wc on wc.FGRADETASKNODEINSTID=gtni.fid where wnf.FISFINALGRADE=1 and wc.FCOMMENT is not null and T_EVA_EvaResultSummary.FEVAOBJID = gtni.FEVAOBJID) WHERE EXISTS (select to_char(wc.FCOMMENT) FCOMMENT from T_EVA_GradeTaskNodeInst gtni left join T_EVA_WFNodeDef wnf on wnf.fid = gtni.FWFNODEID left join T_PEF_WholeComment wc on wc.FGRADETASKNODEINSTID=gtni.fid where wnf.FISFINALGRADE=1 and wc.FCOMMENT is not null and T_EVA_EvaResultSummary.FEVAOBJID = gtni.FEVAOBJID)";
DbUtil.execute(context, sql);
StringBuilder sql1 = new StringBuilder();
sql1.append(" /*dialect*/UPDATE T_EVA_EvaResultSummary ");
sql1.append(" SET T_EVA_EvaResultSummary.cfdepGradeLevel = ( ");
sql1.append(" SELECT ith.FEXTEND3 ");
sql1.append(" FROM T_EVA_IndicatorTarget it ");
sql1.append(" LEFT JOIN T_EVA_IndicatorExtendHelper ith ON it.FEXTENDID = ith.fid ");
sql1.append(" WHERE ith.FEXTEND3 IS NOT NULL ");
sql1.append(" AND it.FNAME_L2 LIKE '%跨部门协作%' ");
sql1.append(" AND T_EVA_EvaResultSummary.FEVAOBJID = it.FEVAOBJID ");
sql1.append(" ) ");
sql1.append(" WHERE T_EVA_EvaResultSummary.FEVAOBJID IN ( ");
sql1.append(" SELECT it.FEVAOBJID ");
sql1.append(" FROM T_EVA_IndicatorTarget it ");
sql1.append(" LEFT JOIN T_EVA_IndicatorExtendHelper ith ON it.FEXTENDID = ith.fid ");
sql1.append(" WHERE ith.FEXTEND3 IS NOT NULL ");
sql1.append(" AND it.FNAME_L2 LIKE '%跨部门协作%' ");
sql1.append(" ) ");
DbUtil.execute(context, sql1.toString());
StringBuilder sql2 = new StringBuilder();
sql2.append(" /*dialect*/UPDATE T_EVA_EvaResultSummary ");
sql2.append(" SET T_EVA_EvaResultSummary.cfoldSumScore = ( ");
sql2.append(" SELECT it.FSCORE ");
sql2.append(" FROM T_EVA_IndicatorTarget it ");
sql2.append(" LEFT JOIN T_EVA_IndicatorExtendHelper ith ON it.FEXTENDID = ith.fid ");
sql2.append(" WHERE ith.FEXTEND3 IS NOT NULL ");
sql2.append(" AND it.FNAME_L2 LIKE '%跨部门协作%' ");
sql2.append(" AND T_EVA_EvaResultSummary.FEVAOBJID = it.FEVAOBJID ");
sql2.append(" ) ");
sql2.append(" WHERE T_EVA_EvaResultSummary.FEVAOBJID IN ( ");
sql2.append(" SELECT it.FEVAOBJID ");
sql2.append(" FROM T_EVA_IndicatorTarget it ");
sql2.append(" LEFT JOIN T_EVA_IndicatorExtendHelper ith ON it.FEXTENDID = ith.fid ");
sql2.append(" WHERE ith.FEXTEND3 IS NOT NULL ");
sql2.append(" AND it.FNAME_L2 LIKE '%跨部门协作%' ");
sql2.append(" ) ");
DbUtil.execute(context, sql2.toString());
} catch (Exception e) {
e.printStackTrace();
throw e;
}
return "ok";
}
}