| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- package com.kingdee.eas.hr.perf.osf;
- import com.google.common.collect.Maps;
- import com.kingdee.bos.BOSException;
- import com.kingdee.bos.Context;
- import com.kingdee.bos.bsf.service.app.IHRMsfService;
- import com.kingdee.bos.rabbitmq.guava.Lists;
- import com.kingdee.eas.common.EASBizException;
- import com.kingdee.eas.hr.perf.handler.AreaBaseConfig;
- import com.kingdee.eas.hr.perf.handler.EvaResultSummaryManagerListHandlerExEx;
- import com.kingdee.eas.util.app.DbUtil;
- import com.kingdee.jdbc.rowset.IRowSet;
- import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsHeader;
- import org.apache.commons.lang3.StringUtils;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- /**
- * 考核结果管理列表新增显示“整体评价评语”(取最终等级的整体评价评语)
- * description: WholeCommentOSFService <br>
- * date: 2025/6/18 15:32 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
- public class WholeCommentOSFService implements IHRMsfService {
- @Override
- public Object process(Context context, Map<String, Object> map) throws EASBizException, BOSException {
- try {
- System.out.println("WholeCommentOSFService:wholeComment");
- this.wholeComment(context,map);
- } catch (Exception e) {
- e.printStackTrace();
- throw new BOSException(e);
- }
- try {
- EvaResultSummaryManagerListHandlerExEx exEx = new EvaResultSummaryManagerListHandlerExEx();
- //获取上季度组织等级批量
- try {
- List<String> idList = Lists.newArrayList();
- StringBuffer sql = new StringBuffer();
- sql.append(" select ers.fid from ");
- sql.append(" T_EVA_EvaResultSummary ers ");
- sql.append(" left join T_EVA_PerfPeriod pp on ers.FPERIODID=pp.fid ");
- sql.append(" where ers.FBILLSTATE in (0,1,2) ");
- System.out.println("WholeCommentOSFService:bindDep:sql:"+sql);
- IRowSet rs = DbUtil.executeQuery(context, sql.toString());
- while (rs.next()){
- idList.add(rs.getString("fid"));
- }
- System.out.println("WholeCommentOSFService:bindDep:idList:"+idList);
- exEx.bindDep(context, StringUtils.join(idList,","));
- } catch (Exception e) {
- e.printStackTrace();
- }
- try {
- List<String> idList = Lists.newArrayList();
- StringBuffer sql = new StringBuffer();
- sql.append(" select ers.fid from ");
- sql.append(" T_EVA_EvaResultSummary ers ");
- sql.append(" left join T_EVA_PerfPeriod pp on ers.FPERIODID=pp.fid ");
- sql.append(" where ers.FBILLSTATE in (0,1,2) ");
- System.out.println("WholeCommentOSFService:bindProject:sql:"+sql);
- IRowSet rs = DbUtil.executeQuery(context, sql.toString());
- while (rs.next()){
- idList.add(rs.getString("fid"));
- }
- System.out.println("WholeCommentOSFService:bindProject:idList:"+idList);
- exEx.bindProject(context, StringUtils.join(idList,","));
- } catch (Exception e) {
- e.printStackTrace();
- }
- //获取绩效系数
- try {
- Map<String,List<String>> maps = Maps.newHashMap();
- StringBuilder sqlsel = new StringBuilder();
- sqlsel.append(" select fid,FPeriodID,FEvaPlanID from T_EVA_EvaResultSummary where FBILLSTATE in (0,1,2) ");
- System.out.println("WholeCommentOSFService:performanceLevel:sqlsel:"+sqlsel);
- IRowSet rs = DbUtil.executeQuery(context, sqlsel.toString());
- while (rs.next()) {
- String fid = rs.getString("fid");
- String FPeriodID = rs.getString("FPeriodID");
- String FEvaPlanID = rs.getString("FEvaPlanID");
- String key = FEvaPlanID+","+FPeriodID;
- List<String> ids =maps.get(key);
- if(null==ids){
- ids=Lists.newArrayList();
- maps.put(key,ids);
- }
- ids.add(fid);
- }
- System.out.println("WholeCommentOSFService:performanceLevel:maps:"+maps);
- for (Map.Entry<String,List<String>> entry : maps.entrySet()){
- List<String> idList = entry.getValue();
- String[] keys = entry.getKey().split(",");
- String planId=keys[0];
- String period=keys[1];
- exEx.performanceLevel(context,idList,planId,period, new BatchMessageTipsHeader());
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return "ok";
- }
- public Object wholeComment(Context context, Map<String, Object> map) throws Exception {
- try {
- Set<String> areaBases = AreaBaseConfig.getAreaBases(context);
- 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 FAREABASEID in('' ");
- for (String abid : areaBases) {
- sql1.append(",'");
- sql1.append(abid);
- sql1.append("'");
- }
- sql1.append(" ) ");
- 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 FAREABASEID in('' ");
- for (String abid : areaBases) {
- sql1.append(",'");
- sql1.append(abid);
- sql1.append("'");
- }
- sql1.append(" ) ");
- sql1.append(" ) ");
- System.out.println("WholeCommentOSFService:wholeComment:sql1:"+sql1);
- 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 ");
- sql1.append(" AND FAREABASEID in('' ");
- for (String abid : areaBases) {
- sql1.append(",'");
- sql1.append(abid);
- sql1.append("'");
- }
- sql1.append(" ) ");
- 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 ");
- sql1.append(" AND FAREABASEID in('' ");
- for (String abid : areaBases) {
- sql1.append(",'");
- sql1.append(abid);
- sql1.append("'");
- }
- sql1.append(" ) ");
- sql2.append(" ) ");
- System.out.println("WholeCommentOSFService:wholeComment:sql2:"+sql2);
- DbUtil.execute(context, sql2.toString());
- } catch (Exception e) {
- e.printStackTrace();
- throw e;
- }
- return "ok";
- }
- }
|