package com.kingdee.eas.hr.perf.handler; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.kingdee.bos.BOSException; import com.kingdee.bos.Context; import com.kingdee.bos.rabbitmq.guava.Lists; import com.kingdee.eas.common.EASBizException; import com.kingdee.eas.framework.CoreBaseInfo; import com.kingdee.eas.util.app.DbUtil; import com.kingdee.jdbc.rowset.IRowSet; import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsBody; import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsHeader; import com.kingdee.shr.base.syssetting.context.SHRContext; import com.kingdee.shr.base.syssetting.exception.SHRWebException; import com.kingdee.shr.base.syssetting.web.json.JSONUtils; import com.kingdee.shr.compensation.util.CmpStrUtil; import com.kingdee.shr.perfweb.app.base.evalplan.EvaResultSummaryAuditBillFactory; import com.kingdee.shr.perfweb.app.base.evalplan.IEvaResultSummaryAuditBill; import com.kingdee.shr.perfweb.planexecute.handler.EvaresultAuditBillEditHandler; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.ui.ModelMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; /** * @BelongsProject: dataImpExp820 * @BelongsPackage: com.kingdee.eas.hr.perf.handler * @Author: lhbj * @CreateTime: 2025-01-10 19:09 * @Description: TODO * @Version: 1.0 */ public class EvaresultAuditBillEditHandlerEx extends EvaresultAuditBillEditHandler { private static Logger logger = LoggerFactory.getLogger(EvaresultAuditBillEditHandlerEx.class); /** [{"evaResult.pnumber":"0000381","evaResult.pname":"谭梓傲","evaResult.positionName":"物资岗","evaResult.evaObj.perfFile.adminOrgUnit.company.name":"湖南红太阳光电科技有限公司","evaResult.evaObj.perfFile.adminOrgUnit.department.name":"综合管理","evaResult.sumScore":"","evaResult.gradeLevel":"","evaResult.auditSumScore":"86.00","evaResult.auditGradeLevel":"C","evaResult.auditReason":"
正态分布更新结果
","evaResult.reviseSumScore":"86.00","evaResult.reviseGradeLevel":"C","evaResult.reviseReason":"正态分布更新结果","id":"KQukJy27Skiy1rPPghjkJBdK16Q=","evaResult.id":"Ka7FkRQuTAaPlTaLvJSD3IESG3Q=","bill.id":"m85zTeeDSmaAU2QLbYWMUoZLdW4=","evaResult.evaObj.id":"gjX3giS2RKurkJVjPhnwa4GI54s=","reviseGradeLevelSelect":"[{\\"value\\":\\"S\\",\\"alias\\":\\"S\\"},{\\"value\\":\\"A\\",\\"alias\\":\\"A\\"},{\\"value\\":\\"B\\",\\"alias\\":\\"B\\"},{\\"value\\":\\"C\\",\\"alias\\":\\"C\\"},{\\"value\\":\\"D\\",\\"alias\\":\\"D\\"}]","levelScoreKVInfo":"{\\n \\"90.00~100.00\\": \\"S\\",\\n \\"80.00~90.00\\": \\"A\\",\\n \\"70.00~80.00\\": \\"B\\",\\n \\"60.00~70.00\\": \\"C\\",\\n \\"0.00~60.00\\": \\"D\\"\\n}","scoreLowLimit":"0","scoreUpLimit":"100","evaResult.period.id":"q6myAjHaQLK+wnczfdLCJEUaiOU=","evaResult.reviseFlag":"是","evaResult.auditFlag":"否"}] * @param request * @param response * @param modelMap * @throws SHRWebException */ public void verifyBeforeSubmitAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException { String entryData = request.getParameter("entryData"); BatchMessageTipsHeader header = new BatchMessageTipsHeader(); boolean isExists = true; if (!com.kingdee.util.StringUtils.isEmpty(entryData)) { int success = 0; int fail = 0; StringBuilder ids = new StringBuilder(); List allIdList = new ArrayList<>(); try { Context ctx = SHRContext.getInstance().getContext(); //明细数据 JSONArray entryList = JSON.parseArray(entryData); for(int i=0;i messageListExt = new ArrayList<>(); messageListExt.add(pnumber); messageListExt.add(pname); messageListExt.add(positionName); body.addMessageListExt(messageListExt); header.addResult(body); } } catch (BOSException | SQLException var7) { var7.printStackTrace(); } ids.delete(ids.length()-1,ids.length()); header.setBillId(ids.toString()); header.setFailureCount(fail); header.setSuccessCount(success); } this.writeSuccessData(header); } protected void verifyModel(HttpServletRequest request, HttpServletResponse response, CoreBaseInfo model) throws SHRWebException { } public String beforeAuditEvaResut(Context ctx, List ids) throws SHRWebException { List unIdLIst = Lists.newArrayList(); StringBuilder err = new StringBuilder(); try { StringBuffer sql = new StringBuffer(); sql.append(" select ers.fid,ers.FPNAME,ers.FPNUMBER,pp.FPSTARTDATE,ers.CFOrgLevelEveID,pp.FYEAR,pp.FTIMEPERIOD from "); sql.append(" T_EVA_EvaResultSummary ers "); sql.append(" left join T_EVA_PerfPeriod pp on ers.FPERIODID=pp.fid "); sql.append(" where ers.fid in(''"); for (String id : ids) { sql.append(",'").append(id).append("'"); } sql.append(" ) "); IRowSet rsSql = DbUtil.executeQuery(ctx, sql.toString()); while (rsSql.next()){ String id = rsSql.getString("id"); String FPNAME = rsSql.getString("FPNAME"); String FPNUMBER = rsSql.getString("FPNUMBER"); String orgLevelEveID = rsSql.getString("CFOrgLevelEveID"); if(StringUtils.isBlank(orgLevelEveID)) { err.append("员工:"+FPNAME+"("+FPNUMBER+"),无法获取当前组织绩效考核等级"); unIdLIst.add(id); } } if(!unIdLIst.isEmpty()) { ids.removeAll(unIdLIst); err.append("存在无法获取当前组织绩效考核等级的记录"); } }catch (Exception e){ e.printStackTrace(); } return err.toString(); } }