|
@@ -20,9 +20,17 @@ import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsHeader;
|
|
|
import com.kingdee.shr.base.syssetting.context.SHRContext;
|
|
import com.kingdee.shr.base.syssetting.context.SHRContext;
|
|
|
import com.kingdee.shr.base.syssetting.exception.SHRWebException;
|
|
import com.kingdee.shr.base.syssetting.exception.SHRWebException;
|
|
|
import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
|
|
import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
|
|
|
|
|
+import com.kingdee.shr.perfweb.app.base.evalplan.EvaResultSumLogSourceEnum;
|
|
|
import com.kingdee.shr.perfweb.app.exception.SHRPerfWebBizException;
|
|
import com.kingdee.shr.perfweb.app.exception.SHRPerfWebBizException;
|
|
|
|
|
+import com.kingdee.shr.perfweb.app.resource.SHRPerfWebResource;
|
|
|
|
|
+import com.kingdee.shr.perfweb.exception.SHRPerfWebException;
|
|
|
import com.kingdee.shr.perfweb.planexecute.handler.EvaresultAuditBillEntryListHandler;
|
|
import com.kingdee.shr.perfweb.planexecute.handler.EvaresultAuditBillEntryListHandler;
|
|
|
|
|
+import com.kingdee.shr.perfweb.util.BOSWorkFlowUtil;
|
|
|
|
|
+import com.kingdee.shr.perfweb.util.EvaResultSummaryBillUtil;
|
|
|
|
|
+import com.kingdee.shr.perfweb.util.SHRPerfWebResourceUtil;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
+import org.slf4j.Logger;
|
|
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.ui.ModelMap;
|
|
import org.springframework.ui.ModelMap;
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
@@ -30,6 +38,7 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
import java.sql.SQLException;
|
|
import java.sql.SQLException;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* description: EvaresultAuditBillEntryListHandler <br>
|
|
* description: EvaresultAuditBillEntryListHandler <br>
|
|
@@ -38,9 +47,43 @@ import java.util.*;
|
|
|
* version: 1.0 <br>
|
|
* version: 1.0 <br>
|
|
|
*/
|
|
*/
|
|
|
public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntryListHandler {
|
|
public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntryListHandler {
|
|
|
|
|
+ private static Logger logger = LoggerFactory.getLogger(EvaresultAuditBillEntryListHandlerEx.class);
|
|
|
|
|
+ @Override
|
|
|
|
|
+ protected void setInitData(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap, Map<String, Object> initData) throws SHRWebException {
|
|
|
|
|
+ super.setInitData(request, response, modelMap, initData);
|
|
|
|
|
+ try {
|
|
|
|
|
+ initData.put("performanceLevel", this.getPerformanceLevelByLevelAction(request, response, modelMap));
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ public Map<String, Map<String, Object>> getPerformanceLevelByLevelAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws ShrWebBizException {
|
|
|
|
|
|
|
|
|
|
+ Map<String, Map<String, Object>> result = Maps.newHashMap();
|
|
|
|
|
+ try {
|
|
|
|
|
+ Context ctx = SHRContext.getInstance().getContext();
|
|
|
|
|
+ String sql = "select CFLEVEL,CFCOEFFICIENT,CFMAXCOEFFICIENT,CFMINCOEFFICIENT from CT_PER_PerformanceLevel ";
|
|
|
|
|
+ IRowSet rs = DbUtil.executeQuery(ctx, sql.toString());
|
|
|
|
|
+ while (rs.next()) {
|
|
|
|
|
+ Map<String, Object> map = Maps.newHashMap();
|
|
|
|
|
+ String CFLEVEL = rs.getString("CFLEVEL");
|
|
|
|
|
+ BigDecimal CFCOEFFICIENT = rs.getBigDecimal("CFCOEFFICIENT");
|
|
|
|
|
+ BigDecimal CFMAXCOEFFICIENT = rs.getBigDecimal("CFMAXCOEFFICIENT");
|
|
|
|
|
+ BigDecimal CFMINCOEFFICIENT = rs.getBigDecimal("CFMINCOEFFICIENT");
|
|
|
|
|
+ map.put("level", CFLEVEL);
|
|
|
|
|
+ map.put("coefficient", CFCOEFFICIENT);
|
|
|
|
|
+ map.put("maxcoefficient", CFMAXCOEFFICIENT);
|
|
|
|
|
+ map.put("mincoefficient", CFMINCOEFFICIENT);
|
|
|
|
|
+ result.put(CFLEVEL, map);
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ throw new ShrWebBizException(e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ return result;
|
|
|
|
|
+ }
|
|
|
/**
|
|
/**
|
|
|
- [{"evaResult.pnumber":"0000381","evaResult.pname":"谭梓傲","evaResult.positionName":"物资岗","evaResult.evaObj.perfFile.adminOrgUnit.company.name":"湖南红太阳光电科技有限公司","evaResult.evaObj.perfFile.adminOrgUnit.department.name":"综合管理","evaResult.sumScore":"<span></span>","evaResult.gradeLevel":"","evaResult.auditSumScore":"<span value=\\"86\\">86.00</span>","evaResult.auditGradeLevel":"C","evaResult.auditReason":"<div class=\\"cell-height scrollbarthin\\">正态分布更新结果</div>","evaResult.reviseSumScore":"<span value=\\"86\\">86.00</span>","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":"否"}]
|
|
|
|
|
|
|
+ [{"evaResult.pnumber":"0000381","evaResult.pname":"璋��鍌�","evaResult.positionName":"鐗╄祫宀�","evaResult.evaObj.perfFile.adminOrgUnit.company.name":"婀栧崡绾㈠お闃冲厜鐢电�鎶€鏈夐檺鍏�徃","evaResult.evaObj.perfFile.adminOrgUnit.department.name":"缁煎悎绠$悊","evaResult.sumScore":"<span></span>","evaResult.gradeLevel":"","evaResult.auditSumScore":"<span value=\\"86\\">86.00</span>","evaResult.auditGradeLevel":"C","evaResult.auditReason":"<div class=\\"cell-height scrollbarthin\\">姝f€佸垎甯冩洿鏂扮粨鏋�</div>","evaResult.reviseSumScore":"<span value=\\"86\\">86.00</span>","evaResult.reviseGradeLevel":"C","evaResult.reviseReason":"姝f€佸垎甯冩洿鏂扮粨鏋�","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 request
|
|
|
* @param response
|
|
* @param response
|
|
|
* @param modelMap
|
|
* @param modelMap
|
|
@@ -57,7 +100,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
List<String> allIdList = new ArrayList<>();
|
|
List<String> allIdList = new ArrayList<>();
|
|
|
try {
|
|
try {
|
|
|
Context ctx = SHRContext.getInstance().getContext();
|
|
Context ctx = SHRContext.getInstance().getContext();
|
|
|
- //明细数据
|
|
|
|
|
|
|
+ //鏄庣粏鏁版嵁
|
|
|
JSONArray entryList = JSON.parseArray(entryData);
|
|
JSONArray entryList = JSON.parseArray(entryData);
|
|
|
for(int i=0;i<entryList.size();i++) {
|
|
for(int i=0;i<entryList.size();i++) {
|
|
|
JSONObject object = entryList.getJSONObject(i);
|
|
JSONObject object = entryList.getJSONObject(i);
|
|
@@ -69,7 +112,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
String pname = object.getString("evaResult.pname");
|
|
String pname = object.getString("evaResult.pname");
|
|
|
String positionName = object.getString("evaResult.positionName");
|
|
String positionName = object.getString("evaResult.positionName");
|
|
|
String evaResult = object.getString("evaResult.id");
|
|
String evaResult = object.getString("evaResult.id");
|
|
|
- //修改后等级
|
|
|
|
|
|
|
+ //淇�敼鍚庣瓑绾�
|
|
|
String auditGradeLevel = object.getString("evaResult.auditGradeLevel");
|
|
String auditGradeLevel = object.getString("evaResult.auditGradeLevel");
|
|
|
if(StringUtils.isBlank(auditGradeLevel)){
|
|
if(StringUtils.isBlank(auditGradeLevel)){
|
|
|
auditGradeLevel= object.getString("evaResult.gradeLevel");
|
|
auditGradeLevel= object.getString("evaResult.gradeLevel");
|
|
@@ -78,12 +121,12 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
body.setId(id);
|
|
body.setId(id);
|
|
|
ids.append(id).append(",");
|
|
ids.append(id).append(",");
|
|
|
allIdList.add(id);
|
|
allIdList.add(id);
|
|
|
- //获取跨部门协作绩效等级
|
|
|
|
|
|
|
+ //鑾峰彇璺ㄩ儴闂ㄥ崗浣滅哗鏁堢瓑绾�
|
|
|
String sql = "select CFDEPGRADELEVEL from T_EVA_EvaResultSummary where fid = ?";
|
|
String sql = "select CFDEPGRADELEVEL from T_EVA_EvaResultSummary where fid = ?";
|
|
|
IRowSet rs = DbUtil.executeQuery(ctx, sql, new String[]{evaResult});
|
|
IRowSet rs = DbUtil.executeQuery(ctx, sql, new String[]{evaResult});
|
|
|
- //当跨部门协作绩效等级为C、D等级的,当期员工绩效不得为高绩效(S、A等级)
|
|
|
|
|
|
|
+ //褰撹法閮ㄩ棬鍗忎綔缁╂晥绛夌骇涓篊銆丏绛夌骇鐨勶紝褰撴湡鍛樺伐缁╂晥涓嶅緱涓洪珮缁╂晥锛圫銆丄绛夌骇锛�
|
|
|
if (rs.next()){
|
|
if (rs.next()){
|
|
|
- //跨部门协作绩效等级
|
|
|
|
|
|
|
+ //璺ㄩ儴闂ㄥ崗浣滅哗鏁堢瓑绾�
|
|
|
String depgradelevel = rs.getString("CFDEPGRADELEVEL");
|
|
String depgradelevel = rs.getString("CFDEPGRADELEVEL");
|
|
|
if(StringUtils.isNotBlank(depgradelevel)) {
|
|
if(StringUtils.isNotBlank(depgradelevel)) {
|
|
|
switch (depgradelevel) {
|
|
switch (depgradelevel) {
|
|
@@ -93,29 +136,29 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
;
|
|
;
|
|
|
case "B":
|
|
case "B":
|
|
|
isSuccess = true;
|
|
isSuccess = true;
|
|
|
- msg = "校验通过";
|
|
|
|
|
|
|
+ msg = "鏍¢獙閫氳繃";
|
|
|
success += 1;
|
|
success += 1;
|
|
|
break;
|
|
break;
|
|
|
case "C":
|
|
case "C":
|
|
|
case "D":
|
|
case "D":
|
|
|
if ("S".equals(auditGradeLevel) || "A".equals(auditGradeLevel)) {
|
|
if ("S".equals(auditGradeLevel) || "A".equals(auditGradeLevel)) {
|
|
|
isSuccess = false;
|
|
isSuccess = false;
|
|
|
- msg = "当跨部门协作绩效等级为C、D等级的,当期员工绩效不得为高绩效(S、A等级)";
|
|
|
|
|
|
|
+ msg = "褰撹法閮ㄩ棬鍗忎綔缁╂晥绛夌骇涓篊銆丏绛夌骇鐨勶紝褰撴湡鍛樺伐缁╂晥涓嶅緱涓洪珮缁╂晥锛圫銆丄绛夌骇锛�";
|
|
|
fail += 1;
|
|
fail += 1;
|
|
|
} else {
|
|
} else {
|
|
|
isSuccess = true;
|
|
isSuccess = true;
|
|
|
- msg = "校验通过";
|
|
|
|
|
|
|
+ msg = "鏍¢獙閫氳繃";
|
|
|
success += 1;
|
|
success += 1;
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
}else {
|
|
}else {
|
|
|
- msg="没有当跨部门协作绩效等级,请先检查跨部门协作绩效等级";
|
|
|
|
|
|
|
+ msg="娌℃湁褰撹法閮ㄩ棬鍗忎綔缁╂晥绛夌骇锛岃�鍏堟�鏌ヨ法閮ㄩ棬鍗忎綔缁╂晥绛夌骇";
|
|
|
isSuccess=true;
|
|
isSuccess=true;
|
|
|
success+=1;
|
|
success+=1;
|
|
|
}
|
|
}
|
|
|
}else {
|
|
}else {
|
|
|
- msg="操作失败,数据异常";
|
|
|
|
|
|
|
+ msg="鎿嶄綔澶辫触锛屾暟鎹�紓甯�";
|
|
|
isSuccess=false;
|
|
isSuccess=false;
|
|
|
fail+=1;
|
|
fail+=1;
|
|
|
}
|
|
}
|
|
@@ -149,17 +192,17 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 获取人员项目正态分布规则
|
|
|
|
|
|
|
+ * 鑾峰彇浜哄憳椤圭洰姝f€佸垎甯冭�鍒�
|
|
|
*
|
|
*
|
|
|
* @param ctx
|
|
* @param ctx
|
|
|
- * @param idList 非必填
|
|
|
|
|
- * @param batchMessage 非必填
|
|
|
|
|
|
|
+ * @param idList 闈炲繀濉�
|
|
|
|
|
+ * @param batchMessage 闈炲繀濉�
|
|
|
* @return
|
|
* @return
|
|
|
* @throws BOSException
|
|
* @throws BOSException
|
|
|
* @throws SQLException
|
|
* @throws SQLException
|
|
|
*/
|
|
*/
|
|
|
public Map<String, Map<String, BigDecimal>> getProjectPerformPro(Context ctx, List<String> idList, Map<String, String> batchMessage) throws BOSException, SQLException {
|
|
public Map<String, Map<String, BigDecimal>> getProjectPerformPro(Context ctx, List<String> idList, Map<String, String> batchMessage) throws BOSException, SQLException {
|
|
|
- //获取正态分布规则
|
|
|
|
|
|
|
+ //鑾峰彇姝f€佸垎甯冭�鍒�
|
|
|
Map<String, Map<String, BigDecimal>> orgLevelMap = Maps.newHashMap();
|
|
Map<String, Map<String, BigDecimal>> orgLevelMap = Maps.newHashMap();
|
|
|
PerformProTeamCollection proCollection = PerformProTeamFactory.getLocalInstance(ctx).getPerformProTeamCollection(" where status=1 ");
|
|
PerformProTeamCollection proCollection = PerformProTeamFactory.getLocalInstance(ctx).getPerformProTeamCollection(" where status=1 ");
|
|
|
if (proCollection.size() == 1) {
|
|
if (proCollection.size() == 1) {
|
|
@@ -183,30 +226,30 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
} else if (proCollection.size() > 1) {
|
|
} else if (proCollection.size() > 1) {
|
|
|
if (null != batchMessage && null != idList) {
|
|
if (null != batchMessage && null != idList) {
|
|
|
for (String key : idList) {
|
|
for (String key : idList) {
|
|
|
- batchMessage.put(key, "存在多个正态分布规则,请检查!");
|
|
|
|
|
|
|
+ batchMessage.put(key, "瀛樺湪澶氫釜姝f€佸垎甯冭�鍒欙紝璇锋�鏌ワ紒");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
if (null != batchMessage && null != idList) {
|
|
if (null != batchMessage && null != idList) {
|
|
|
for (String key : idList) {
|
|
for (String key : idList) {
|
|
|
- batchMessage.put(key, "不存在正态分布规则,请检查!");
|
|
|
|
|
|
|
+ batchMessage.put(key, "涓嶅瓨鍦ㄦ�鎬佸垎甯冭�鍒欙紝璇锋�鏌ワ紒");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return orgLevelMap;
|
|
return orgLevelMap;
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
|
- * 获取人员组织正态分布规则
|
|
|
|
|
|
|
+ * 鑾峰彇浜哄憳缁勭粐姝f€佸垎甯冭�鍒�
|
|
|
*
|
|
*
|
|
|
* @param ctx
|
|
* @param ctx
|
|
|
- * @param idList 非必填
|
|
|
|
|
- * @param batchMessage 非必填
|
|
|
|
|
|
|
+ * @param idList 闈炲繀濉�
|
|
|
|
|
+ * @param batchMessage 闈炲繀濉�
|
|
|
* @return
|
|
* @return
|
|
|
* @throws BOSException
|
|
* @throws BOSException
|
|
|
* @throws SQLException
|
|
* @throws SQLException
|
|
|
*/
|
|
*/
|
|
|
public Map<String, Map<String, BigDecimal>> getPersonPerformPro(Context ctx, List<String> idList, Map<String, String> batchMessage) throws BOSException, SQLException {
|
|
public Map<String, Map<String, BigDecimal>> getPersonPerformPro(Context ctx, List<String> idList, Map<String, String> batchMessage) throws BOSException, SQLException {
|
|
|
- //获取正态分布规则
|
|
|
|
|
|
|
+ //鑾峰彇姝f€佸垎甯冭�鍒�
|
|
|
Map<String, Map<String, BigDecimal>> orgLevelMap = Maps.newHashMap();
|
|
Map<String, Map<String, BigDecimal>> orgLevelMap = Maps.newHashMap();
|
|
|
PersonPerformProCollection proCollection = PersonPerformProFactory.getLocalInstance(ctx).getPersonPerformProCollection(" where state=1 ");
|
|
PersonPerformProCollection proCollection = PersonPerformProFactory.getLocalInstance(ctx).getPersonPerformProCollection(" where state=1 ");
|
|
|
if (proCollection.size() == 1) {
|
|
if (proCollection.size() == 1) {
|
|
@@ -230,13 +273,13 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
} else if (proCollection.size() > 1) {
|
|
} else if (proCollection.size() > 1) {
|
|
|
if (null != batchMessage && null != idList) {
|
|
if (null != batchMessage && null != idList) {
|
|
|
for (String key : idList) {
|
|
for (String key : idList) {
|
|
|
- batchMessage.put(key, "存在多个正态分布规则,请检查!");
|
|
|
|
|
|
|
+ batchMessage.put(key, "瀛樺湪澶氫釜姝f€佸垎甯冭�鍒欙紝璇锋�鏌ワ紒");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
if (null != batchMessage && null != idList) {
|
|
if (null != batchMessage && null != idList) {
|
|
|
for (String key : idList) {
|
|
for (String key : idList) {
|
|
|
- batchMessage.put(key, "不存在正态分布规则,请检查!");
|
|
|
|
|
|
|
+ batchMessage.put(key, "涓嶅瓨鍦ㄦ�鎬佸垎甯冭�鍒欙紝璇锋�鏌ワ紒");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -244,7 +287,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 获取人员的等级组织分组
|
|
|
|
|
|
|
+ * 鑾峰彇浜哄憳鐨勭瓑绾х粍缁囧垎缁�
|
|
|
*
|
|
*
|
|
|
* @param ctx
|
|
* @param ctx
|
|
|
* @param entryList
|
|
* @param entryList
|
|
@@ -260,7 +303,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
JSONObject object = entryList.getJSONObject(i);
|
|
JSONObject object = entryList.getJSONObject(i);
|
|
|
String id =object.getString("id");
|
|
String id =object.getString("id");
|
|
|
String evaResult = object.getString("evaResult.id");
|
|
String evaResult = object.getString("evaResult.id");
|
|
|
- //修改后等级
|
|
|
|
|
|
|
+ //淇�敼鍚庣瓑绾�
|
|
|
String auditGradeLevel = object.getString("evaResult.auditGradeLevel");
|
|
String auditGradeLevel = object.getString("evaResult.auditGradeLevel");
|
|
|
if(StringUtils.isBlank(auditGradeLevel)){
|
|
if(StringUtils.isBlank(auditGradeLevel)){
|
|
|
auditGradeLevel= object.getString("evaResult.gradeLevel");
|
|
auditGradeLevel= object.getString("evaResult.gradeLevel");
|
|
@@ -277,7 +320,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
String id =object.getString("id");
|
|
String id =object.getString("id");
|
|
|
|
|
|
|
|
String evaResult = object.getString("evaResult.id");
|
|
String evaResult = object.getString("evaResult.id");
|
|
|
- //修改后等级
|
|
|
|
|
|
|
+ //淇�敼鍚庣瓑绾�
|
|
|
String auditGradeLevel = object.getString("evaResult.auditGradeLevel");
|
|
String auditGradeLevel = object.getString("evaResult.auditGradeLevel");
|
|
|
if(StringUtils.isBlank(auditGradeLevel)){
|
|
if(StringUtils.isBlank(auditGradeLevel)){
|
|
|
auditGradeLevel= object.getString("evaResult.gradeLevel");
|
|
auditGradeLevel= object.getString("evaResult.gradeLevel");
|
|
@@ -294,7 +337,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 根据上季度的组织等级,校验当前周期,当前考核计划,所选员工的所属组织的员工绩效等级分布校验
|
|
|
|
|
|
|
+ * 鏍规嵁涓婂�搴︾殑缁勭粐绛夌骇锛屾牎楠屽綋鍓嶅懆鏈燂紝褰撳墠鑰冩牳璁″垝锛屾墍閫夊憳宸ョ殑鎵€灞炵粍缁囩殑鍛樺伐缁╂晥绛夌骇鍒嗗竷鏍¢獙
|
|
|
*
|
|
*
|
|
|
* @param request
|
|
* @param request
|
|
|
* @param response
|
|
* @param response
|
|
@@ -317,7 +360,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
for (String id : ids.split(",")) {
|
|
for (String id : ids.split(",")) {
|
|
|
idList.add(id);
|
|
idList.add(id);
|
|
|
}
|
|
}
|
|
|
- //明细数据
|
|
|
|
|
|
|
+ //鏄庣粏鏁版嵁
|
|
|
JSONArray entryList = JSON.parseArray(entryData);
|
|
JSONArray entryList = JSON.parseArray(entryData);
|
|
|
StringBuilder planSql = new StringBuilder();
|
|
StringBuilder planSql = new StringBuilder();
|
|
|
planSql.append("select fid,CFPerobjectIdId from T_EVA_PerfPlan where fid=? and CFPerobjectIdId is not null ");
|
|
planSql.append("select fid,CFPerobjectIdId from T_EVA_PerfPlan where fid=? and CFPerobjectIdId is not null ");
|
|
@@ -339,9 +382,9 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
idSet.remove(entry.getKey());
|
|
idSet.remove(entry.getKey());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- //addBatchMessageSuccessTips(idSet,"验证成功",batchMessageTipsHeader);
|
|
|
|
|
|
|
+ //addBatchMessageSuccessTips(idSet,"楠岃瘉鎴愬姛",batchMessageTipsHeader);
|
|
|
}
|
|
}
|
|
|
- this.setSuccessMessage("验证成功");
|
|
|
|
|
|
|
+ this.setSuccessMessage("楠岃瘉鎴愬姛");
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
|
throw new ShrWebBizException(e);
|
|
throw new ShrWebBizException(e);
|
|
@@ -354,12 +397,12 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
for (int i = 0; i < idList.size(); i++) {
|
|
for (int i = 0; i < idList.size(); i++) {
|
|
|
selParamId.append(",?");
|
|
selParamId.append(",?");
|
|
|
}
|
|
}
|
|
|
- //获取正态分布规则
|
|
|
|
|
|
|
+ //鑾峰彇姝f€佸垎甯冭�鍒�
|
|
|
Map<String, Map<String, BigDecimal>> personPerformMap = this.getProjectPerformPro(ctx, idList, batchMessage);
|
|
Map<String, Map<String, BigDecimal>> personPerformMap = this.getProjectPerformPro(ctx, idList, batchMessage);
|
|
|
if (null != personPerformMap && personPerformMap.size() > 0) {
|
|
if (null != personPerformMap && personPerformMap.size() > 0) {
|
|
|
- //获取组织分组人数
|
|
|
|
|
|
|
+ //鑾峰彇缁勭粐鍒嗙粍浜烘暟
|
|
|
//Map<String, Map<String, String>> orgLevelMap = this.getProjectLevelCountMap(ctx, period, planId,selParamId, idList);
|
|
//Map<String, Map<String, String>> orgLevelMap = this.getProjectLevelCountMap(ctx, period, planId,selParamId, idList);
|
|
|
- //获取人员等级分组
|
|
|
|
|
|
|
+ //鑾峰彇浜哄憳绛夌骇鍒嗙粍
|
|
|
Map<String, Map<String, Object>> personLevelMap = this.getPersonLevelLensMap(ctx,entryList);
|
|
Map<String, Map<String, Object>> personLevelMap = this.getPersonLevelLensMap(ctx,entryList);
|
|
|
|
|
|
|
|
|
|
|
|
@@ -368,14 +411,14 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
JSONObject object = entryList.getJSONObject(i);
|
|
JSONObject object = entryList.getJSONObject(i);
|
|
|
String fid =object.getString("id");
|
|
String fid =object.getString("id");
|
|
|
String evaResult = object.getString("evaResult.id");
|
|
String evaResult = object.getString("evaResult.id");
|
|
|
- //修改后等级
|
|
|
|
|
|
|
+ //淇�敼鍚庣瓑绾�
|
|
|
String auditGradeLevel = object.getString("evaResult.auditGradeLevel");
|
|
String auditGradeLevel = object.getString("evaResult.auditGradeLevel");
|
|
|
if(StringUtils.isBlank(auditGradeLevel)){
|
|
if(StringUtils.isBlank(auditGradeLevel)){
|
|
|
auditGradeLevel= object.getString("evaResult.gradeLevel");
|
|
auditGradeLevel= object.getString("evaResult.gradeLevel");
|
|
|
}
|
|
}
|
|
|
String revLevel = auditGradeLevel;
|
|
String revLevel = auditGradeLevel;
|
|
|
if (StrUtil.isBlank(auditGradeLevel)) {
|
|
if (StrUtil.isBlank(auditGradeLevel)) {
|
|
|
- batchMessage.put(fid, "绩效等级为空,请维护");
|
|
|
|
|
|
|
+ batchMessage.put(fid, "缁╂晥绛夌骇涓虹┖,璇风淮鎶�");
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
StringBuilder sel = new StringBuilder();
|
|
StringBuilder sel = new StringBuilder();
|
|
@@ -389,42 +432,42 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
sel.append("') ");
|
|
sel.append("') ");
|
|
|
IRowSet rs = DbUtil.executeQuery(ctx, sel.toString(), idList.toArray());
|
|
IRowSet rs = DbUtil.executeQuery(ctx, sel.toString(), idList.toArray());
|
|
|
if (!rs.next()){
|
|
if (!rs.next()){
|
|
|
- batchMessage.put(fid, "绩效等级为空,请维护");
|
|
|
|
|
|
|
+ batchMessage.put(fid, "缁╂晥绛夌骇涓虹┖,璇风淮鎶�");
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
String CFPROJECTNAME = rs.getString("CFPROJECTNAME");
|
|
String CFPROJECTNAME = rs.getString("CFPROJECTNAME");
|
|
|
|
|
|
|
|
if (StrUtil.isBlank(revLevel)) {
|
|
if (StrUtil.isBlank(revLevel)) {
|
|
|
- //String msg = String.format("%s绩效等级为空", CFPROJECTNAME);
|
|
|
|
|
- batchMessage.put(fid, "绩效等级为空,请维护");
|
|
|
|
|
|
|
+ //String msg = String.format("%s缁╂晥绛夌骇涓虹┖", CFPROJECTNAME);
|
|
|
|
|
+ batchMessage.put(fid, "缁╂晥绛夌骇涓虹┖,璇风淮鎶�");
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //项目绩效等级
|
|
|
|
|
|
|
+ //椤圭洰缁╂晥绛夌骇
|
|
|
String projectLevel = rs.getString("CFProjectLevel");
|
|
String projectLevel = rs.getString("CFProjectLevel");
|
|
|
if (StrUtil.isBlank(projectLevel)) {
|
|
if (StrUtil.isBlank(projectLevel)) {
|
|
|
- String msg = String.format("%s项目绩效等级为空", CFPROJECTNAME);
|
|
|
|
|
|
|
+ String msg = String.format("%s椤圭洰缁╂晥绛夌骇涓虹┖", CFPROJECTNAME);
|
|
|
batchMessage.put(fid, msg);
|
|
batchMessage.put(fid, msg);
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
- //该组织的组织绩效等级的正态分布
|
|
|
|
|
|
|
+ //璇ョ粍缁囩殑缁勭粐缁╂晥绛夌骇鐨勬�鎬佸垎甯�
|
|
|
Map<String, BigDecimal> personPerform = personPerformMap.get(projectLevel);
|
|
Map<String, BigDecimal> personPerform = personPerformMap.get(projectLevel);
|
|
|
if (null == personPerform) {
|
|
if (null == personPerform) {
|
|
|
- String msg = String.format("没有找到%s项目绩效等级%s的正态分布规则", CFPROJECTNAME, projectLevel);
|
|
|
|
|
|
|
+ String msg = String.format("娌℃湁鎵惧埌%s椤圭洰缁╂晥绛夌骇%s鐨勬�鎬佸垎甯冭�鍒�", CFPROJECTNAME, projectLevel);
|
|
|
batchMessage.put(fid, msg);
|
|
batchMessage.put(fid, msg);
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
- //获取该组织下的人员总数
|
|
|
|
|
|
|
+ //鑾峰彇璇ョ粍缁囦笅鐨勪汉鍛樻€绘暟
|
|
|
//Map<String, String> orgMap = orgLevelMap.get(key);
|
|
//Map<String, String> orgMap = orgLevelMap.get(key);
|
|
|
- //获取该组织下的人员各个绩效等级分组汇总
|
|
|
|
|
|
|
+ //鑾峰彇璇ョ粍缁囦笅鐨勪汉鍛樺悇涓�哗鏁堢瓑绾у垎缁勬眹鎬�
|
|
|
// String keyRevLevel = FADMINORGUNITID + FPERIODID + FEVAPLANID + revLevel;
|
|
// String keyRevLevel = FADMINORGUNITID + FPERIODID + FEVAPLANID + revLevel;
|
|
|
// Map<String, String> personMap = personLevelMap.get(keyRevLevel);
|
|
// Map<String, String> personMap = personLevelMap.get(keyRevLevel);
|
|
|
Map<String, BigDecimal> leveList = Maps.newHashMap();
|
|
Map<String, BigDecimal> leveList = Maps.newHashMap();
|
|
|
|
|
|
|
|
- //获取该组织下的人员总数
|
|
|
|
|
|
|
+ //鑾峰彇璇ョ粍缁囦笅鐨勪汉鍛樻€绘暟
|
|
|
//Map<String, String> orgMap = orgLevelMap.get(key);
|
|
//Map<String, String> orgMap = orgLevelMap.get(key);
|
|
|
|
|
|
|
|
- //获取等级D人数
|
|
|
|
|
|
|
+ //鑾峰彇绛夌骇D浜烘暟
|
|
|
String keyRevLevelD = "D";
|
|
String keyRevLevelD = "D";
|
|
|
Map<String, Object> personMapD = personLevelMap.get(keyRevLevelD);
|
|
Map<String, Object> personMapD = personLevelMap.get(keyRevLevelD);
|
|
|
BigDecimal dLens = BigDecimal.ZERO;
|
|
BigDecimal dLens = BigDecimal.ZERO;
|
|
@@ -432,7 +475,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
dLens = (BigDecimal) personMapD.get("lens");
|
|
dLens = (BigDecimal) personMapD.get("lens");
|
|
|
leveList.put("D", dLens);
|
|
leveList.put("D", dLens);
|
|
|
}
|
|
}
|
|
|
- //获取等级C人数
|
|
|
|
|
|
|
+ //鑾峰彇绛夌骇C浜烘暟
|
|
|
String keyRevLevelC = "C";
|
|
String keyRevLevelC = "C";
|
|
|
Map<String, Object> personMapC = personLevelMap.get(keyRevLevelC);
|
|
Map<String, Object> personMapC = personLevelMap.get(keyRevLevelC);
|
|
|
BigDecimal cLens = BigDecimal.ZERO;
|
|
BigDecimal cLens = BigDecimal.ZERO;
|
|
@@ -440,7 +483,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
cLens = (BigDecimal) personMapC.get("lens");
|
|
cLens = (BigDecimal) personMapC.get("lens");
|
|
|
leveList.put("C", cLens);
|
|
leveList.put("C", cLens);
|
|
|
}
|
|
}
|
|
|
- //获取等级B人数
|
|
|
|
|
|
|
+ //鑾峰彇绛夌骇B浜烘暟
|
|
|
String keyRevLevelB = "B";
|
|
String keyRevLevelB = "B";
|
|
|
Map<String, Object> personMapB = personLevelMap.get(keyRevLevelB);
|
|
Map<String, Object> personMapB = personLevelMap.get(keyRevLevelB);
|
|
|
BigDecimal bLens = BigDecimal.ZERO;
|
|
BigDecimal bLens = BigDecimal.ZERO;
|
|
@@ -448,7 +491,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
bLens = (BigDecimal) personMapB.get("lens");
|
|
bLens = (BigDecimal) personMapB.get("lens");
|
|
|
leveList.put("B", bLens);
|
|
leveList.put("B", bLens);
|
|
|
}
|
|
}
|
|
|
- //获取等级A人数
|
|
|
|
|
|
|
+ //鑾峰彇绛夌骇A浜烘暟
|
|
|
String keyRevLevelA = "A";
|
|
String keyRevLevelA = "A";
|
|
|
Map<String, Object> personMapA = personLevelMap.get(keyRevLevelA);
|
|
Map<String, Object> personMapA = personLevelMap.get(keyRevLevelA);
|
|
|
BigDecimal aLens = BigDecimal.ZERO;
|
|
BigDecimal aLens = BigDecimal.ZERO;
|
|
@@ -456,7 +499,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
aLens = (BigDecimal) personMapA.get("lens");
|
|
aLens = (BigDecimal) personMapA.get("lens");
|
|
|
leveList.put("A", aLens);
|
|
leveList.put("A", aLens);
|
|
|
}
|
|
}
|
|
|
- //获取等级S人数
|
|
|
|
|
|
|
+ //鑾峰彇绛夌骇S浜烘暟
|
|
|
String keyRevLevelS = "S";
|
|
String keyRevLevelS = "S";
|
|
|
Map<String, Object> personMapS = personLevelMap.get(keyRevLevelS);
|
|
Map<String, Object> personMapS = personLevelMap.get(keyRevLevelS);
|
|
|
BigDecimal sLens = BigDecimal.ZERO;
|
|
BigDecimal sLens = BigDecimal.ZERO;
|
|
@@ -465,12 +508,12 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
leveList.put("S", sLens);
|
|
leveList.put("S", sLens);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //总人数
|
|
|
|
|
|
|
+ //鎬讳汉鏁�
|
|
|
BigDecimal alls = new BigDecimal(idList.size());
|
|
BigDecimal alls = new BigDecimal(idList.size());
|
|
|
|
|
|
|
|
- //当前等级正态分布比例
|
|
|
|
|
|
|
+ //褰撳墠绛夌骇姝f€佸垎甯冩瘮渚�
|
|
|
BigDecimal scale = personPerform.get(revLevel);
|
|
BigDecimal scale = personPerform.get(revLevel);
|
|
|
- //创建每个等级的人数列表
|
|
|
|
|
|
|
+ //鍒涘缓姣忎釜绛夌骇鐨勪汉鏁板垪琛�
|
|
|
Map<String, BigDecimal> bigsList = Maps.newHashMap();
|
|
Map<String, BigDecimal> bigsList = Maps.newHashMap();
|
|
|
BigDecimal bigS = ((personPerform.get("S").divide(big100, BigDecimal.ROUND_HALF_UP, BigDecimal.ROUND_HALF_UP)).multiply(alls).setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
BigDecimal bigS = ((personPerform.get("S").divide(big100, BigDecimal.ROUND_HALF_UP, BigDecimal.ROUND_HALF_UP)).multiply(alls).setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
|
bigsList.put("S", bigS);
|
|
bigsList.put("S", bigS);
|
|
@@ -483,9 +526,9 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
BigDecimal bigD = ((personPerform.get("D").divide(big100, BigDecimal.ROUND_HALF_UP, BigDecimal.ROUND_HALF_UP)).multiply(alls).setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
BigDecimal bigD = ((personPerform.get("D").divide(big100, BigDecimal.ROUND_HALF_UP, BigDecimal.ROUND_HALF_UP)).multiply(alls).setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
|
bigsList.put("D", bigD);
|
|
bigsList.put("D", bigD);
|
|
|
|
|
|
|
|
- //已占用数
|
|
|
|
|
|
|
+ //宸插崰鐢ㄦ暟
|
|
|
BigDecimal lens = BigDecimal.ZERO;
|
|
BigDecimal lens = BigDecimal.ZERO;
|
|
|
- //进行额度加减
|
|
|
|
|
|
|
+ //杩涜�棰濆害鍔犲噺
|
|
|
|
|
|
|
|
BigDecimal personSize = BigDecimal.ZERO;
|
|
BigDecimal personSize = BigDecimal.ZERO;
|
|
|
BigDecimal personMaxSize = BigDecimal.ZERO;
|
|
BigDecimal personMaxSize = BigDecimal.ZERO;
|
|
@@ -501,7 +544,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
} else {
|
|
} else {
|
|
|
personMaxSize = personMaxSize.add((bigA).subtract(aLens));
|
|
personMaxSize = personMaxSize.add((bigA).subtract(aLens));
|
|
|
}
|
|
}
|
|
|
- ldrs.add("A最多%A人,");
|
|
|
|
|
|
|
+ ldrs.add("A鏈€澶�%A浜猴紝");
|
|
|
//bigsList.remove("A");
|
|
//bigsList.remove("A");
|
|
|
case "S":
|
|
case "S":
|
|
|
personSize = personSize.add(bigS).subtract(sLens);
|
|
personSize = personSize.add(bigS).subtract(sLens);
|
|
@@ -511,7 +554,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
} else {
|
|
} else {
|
|
|
personMaxSize = personMaxSize.add((bigS).subtract(sLens));
|
|
personMaxSize = personMaxSize.add((bigS).subtract(sLens));
|
|
|
}
|
|
}
|
|
|
- ldrs.add("S最多%S人,");
|
|
|
|
|
|
|
+ ldrs.add("S鏈€澶�%S浜猴紝");
|
|
|
//bigsList.remove("S");
|
|
//bigsList.remove("S");
|
|
|
case "B":
|
|
case "B":
|
|
|
case "C":
|
|
case "C":
|
|
@@ -520,7 +563,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
} else {
|
|
} else {
|
|
|
personMinSize = personMinSize.add((bigC).subtract(cLens));
|
|
personMinSize = personMinSize.add((bigC).subtract(cLens));
|
|
|
}
|
|
}
|
|
|
- ldrcd.put("C","C最少"+(personMinSize.compareTo(BigDecimal.ZERO) > 0?personMinSize.toPlainString():'0')+"人,");
|
|
|
|
|
|
|
+ ldrcd.put("C","C鏈€灏�"+(personMinSize.compareTo(BigDecimal.ZERO) > 0?personMinSize.toPlainString():'0')+"浜猴紝");
|
|
|
//bigsList.remove("C");
|
|
//bigsList.remove("C");
|
|
|
case "D":
|
|
case "D":
|
|
|
if ("D".equals(revLevel)) {
|
|
if ("D".equals(revLevel)) {
|
|
@@ -528,9 +571,9 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
} else {
|
|
} else {
|
|
|
personMinSize = personMinSize.add((bigD).subtract(dLens));
|
|
personMinSize = personMinSize.add((bigD).subtract(dLens));
|
|
|
}
|
|
}
|
|
|
- ldrcd.put("D","D最少"+(personMinSize.compareTo(BigDecimal.ZERO) > 0?personMinSize.toPlainString():'0')+"人,");
|
|
|
|
|
|
|
+ ldrcd.put("D","D鏈€灏�"+(personMinSize.compareTo(BigDecimal.ZERO) > 0?personMinSize.toPlainString():'0')+"浜猴紝");
|
|
|
}
|
|
}
|
|
|
- String ld = "当前周期绩效等级为%l的人数为%maxs人,";
|
|
|
|
|
|
|
+ String ld = "褰撳墠鍛ㄦ湡缁╂晥绛夌骇涓�%l鐨勪汉鏁颁负%maxs浜�,";
|
|
|
if (personMinSize.compareTo(BigDecimal.ZERO) > 0 || personSize.compareTo(BigDecimal.ZERO) < 0) {
|
|
if (personMinSize.compareTo(BigDecimal.ZERO) > 0 || personSize.compareTo(BigDecimal.ZERO) < 0) {
|
|
|
if(ldrs.size()>0) {
|
|
if(ldrs.size()>0) {
|
|
|
String ldrstr = ldrs.get(0);
|
|
String ldrstr = ldrs.get(0);
|
|
@@ -545,7 +588,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
String ldr= entry.getValue();
|
|
String ldr= entry.getValue();
|
|
|
ld += ldr;
|
|
ld += ldr;
|
|
|
}
|
|
}
|
|
|
- ld += "请修正后重新审核.";
|
|
|
|
|
|
|
+ ld += "璇蜂慨姝e悗閲嶆柊瀹℃牳.";
|
|
|
batchMessage.put(fid, ld);
|
|
batchMessage.put(fid, ld);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -554,7 +597,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
return batchMessage;
|
|
return batchMessage;
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
|
- * 结果直接审核、结果工作流审核,绩效等级分布比例校验人数由整个绩效考核计划的人数改为按选择的人数进行分布比例校验。
|
|
|
|
|
|
|
+ * 缁撴灉鐩存帴瀹℃牳銆佺粨鏋滃伐浣滄祦瀹℃牳锛岀哗鏁堢瓑绾у垎甯冩瘮渚嬫牎楠屼汉鏁扮敱鏁翠釜缁╂晥鑰冩牳璁″垝鐨勪汉鏁版敼涓烘寜閫夋嫨鐨勪汉鏁拌繘琛屽垎甯冩瘮渚嬫牎楠屻€�
|
|
|
*
|
|
*
|
|
|
* @param ctx
|
|
* @param ctx
|
|
|
* @param period
|
|
* @param period
|
|
@@ -570,12 +613,12 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
for (int i = 0; i < idList.size(); i++) {
|
|
for (int i = 0; i < idList.size(); i++) {
|
|
|
selParamId.append(",?");
|
|
selParamId.append(",?");
|
|
|
}
|
|
}
|
|
|
- //获取正态分布规则
|
|
|
|
|
|
|
+ //鑾峰彇姝f€佸垎甯冭�鍒�
|
|
|
Map<String, Map<String, BigDecimal>> personPerformMap = this.getPersonPerformPro(ctx, idList, batchMessage);
|
|
Map<String, Map<String, BigDecimal>> personPerformMap = this.getPersonPerformPro(ctx, idList, batchMessage);
|
|
|
if (null != personPerformMap && personPerformMap.size() > 0) {
|
|
if (null != personPerformMap && personPerformMap.size() > 0) {
|
|
|
- //获取组织分组人数
|
|
|
|
|
|
|
+ //鑾峰彇缁勭粐鍒嗙粍浜烘暟
|
|
|
//Map<String, Map<String, String>> orgLevelMap = this.getOrgLevelCountMap(ctx, period, planId);
|
|
//Map<String, Map<String, String>> orgLevelMap = this.getOrgLevelCountMap(ctx, period, planId);
|
|
|
- //获取人员等级分组
|
|
|
|
|
|
|
+ //鑾峰彇浜哄憳绛夌骇鍒嗙粍
|
|
|
Map<String, Map<String, Object>> personLevelMap = this.getPersonLevelLensMap(ctx, entryList);
|
|
Map<String, Map<String, Object>> personLevelMap = this.getPersonLevelLensMap(ctx, entryList);
|
|
|
|
|
|
|
|
BigDecimal big100 = new BigDecimal(100);
|
|
BigDecimal big100 = new BigDecimal(100);
|
|
@@ -583,13 +626,13 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
JSONObject object = entryList.getJSONObject(i);
|
|
JSONObject object = entryList.getJSONObject(i);
|
|
|
String fid = object.getString("id");
|
|
String fid = object.getString("id");
|
|
|
String evaResult = object.getString("evaResult.id");
|
|
String evaResult = object.getString("evaResult.id");
|
|
|
- //修改后等级
|
|
|
|
|
|
|
+ //淇�敼鍚庣瓑绾�
|
|
|
String auditGradeLevel = object.getString("evaResult.auditGradeLevel");
|
|
String auditGradeLevel = object.getString("evaResult.auditGradeLevel");
|
|
|
if(StringUtils.isBlank(auditGradeLevel)){
|
|
if(StringUtils.isBlank(auditGradeLevel)){
|
|
|
auditGradeLevel= object.getString("evaResult.gradeLevel");
|
|
auditGradeLevel= object.getString("evaResult.gradeLevel");
|
|
|
}
|
|
}
|
|
|
if (StrUtil.isBlank(auditGradeLevel)) {
|
|
if (StrUtil.isBlank(auditGradeLevel)) {
|
|
|
- batchMessage.put(fid, "绩效等级为空,请维护");
|
|
|
|
|
|
|
+ batchMessage.put(fid, "缁╂晥绛夌骇涓虹┖,璇风淮鎶�");
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
StringBuilder sel = new StringBuilder();
|
|
StringBuilder sel = new StringBuilder();
|
|
@@ -601,27 +644,27 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
IRowSet rs = DbUtil.executeQuery(ctx, sel.toString());
|
|
IRowSet rs = DbUtil.executeQuery(ctx, sel.toString());
|
|
|
String orgLevel="";
|
|
String orgLevel="";
|
|
|
String FADMINORGNAME ="";
|
|
String FADMINORGNAME ="";
|
|
|
- //上季度组织绩效等级
|
|
|
|
|
|
|
+ //涓婂�搴︾粍缁囩哗鏁堢瓑绾�
|
|
|
if (rs.next()){
|
|
if (rs.next()){
|
|
|
orgLevel = rs.getString("CFOrgLevel");
|
|
orgLevel = rs.getString("CFOrgLevel");
|
|
|
FADMINORGNAME = rs.getString("FADMINORGNAME");
|
|
FADMINORGNAME = rs.getString("FADMINORGNAME");
|
|
|
if (StringUtils.isBlank(orgLevel)) {
|
|
if (StringUtils.isBlank(orgLevel)) {
|
|
|
- String msg = String.format("%s上季度组织绩效等级为空", FADMINORGNAME);
|
|
|
|
|
|
|
+ String msg = String.format("%s涓婂�搴︾粍缁囩哗鏁堢瓑绾т负绌�", FADMINORGNAME);
|
|
|
batchMessage.put(fid, msg);
|
|
batchMessage.put(fid, msg);
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- //该组织的组织绩效等级的正态分布
|
|
|
|
|
|
|
+ //璇ョ粍缁囩殑缁勭粐缁╂晥绛夌骇鐨勬�鎬佸垎甯�
|
|
|
Map<String, BigDecimal> personPerform = personPerformMap.get(orgLevel);
|
|
Map<String, BigDecimal> personPerform = personPerformMap.get(orgLevel);
|
|
|
if (null == personPerform) {
|
|
if (null == personPerform) {
|
|
|
- String msg = String.format("没有找到%s上季度组织绩效等级%s的正态分布规则", FADMINORGNAME, orgLevel);
|
|
|
|
|
|
|
+ String msg = String.format("娌℃湁鎵惧埌%s涓婂�搴︾粍缁囩哗鏁堢瓑绾�%s鐨勬�鎬佸垎甯冭�鍒�", FADMINORGNAME, orgLevel);
|
|
|
batchMessage.put(fid, msg);
|
|
batchMessage.put(fid, msg);
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
- //获取该组织下的人员总数
|
|
|
|
|
|
|
+ //鑾峰彇璇ョ粍缁囦笅鐨勪汉鍛樻€绘暟
|
|
|
//Map<String, String> orgMap = orgLevelMap.get(key);
|
|
//Map<String, String> orgMap = orgLevelMap.get(key);
|
|
|
Map<String, BigDecimal> leveList = Maps.newHashMap();
|
|
Map<String, BigDecimal> leveList = Maps.newHashMap();
|
|
|
- //获取等级D人数
|
|
|
|
|
|
|
+ //鑾峰彇绛夌骇D浜烘暟
|
|
|
String keyRevLevelD = "D";
|
|
String keyRevLevelD = "D";
|
|
|
Map<String, Object> personMapD = personLevelMap.get(keyRevLevelD);
|
|
Map<String, Object> personMapD = personLevelMap.get(keyRevLevelD);
|
|
|
BigDecimal dLens = BigDecimal.ZERO;
|
|
BigDecimal dLens = BigDecimal.ZERO;
|
|
@@ -629,7 +672,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
dLens = (BigDecimal) personMapD.get("lens");
|
|
dLens = (BigDecimal) personMapD.get("lens");
|
|
|
leveList.put("D", dLens);
|
|
leveList.put("D", dLens);
|
|
|
}
|
|
}
|
|
|
- //获取等级C人数
|
|
|
|
|
|
|
+ //鑾峰彇绛夌骇C浜烘暟
|
|
|
String keyRevLevelC = "C";
|
|
String keyRevLevelC = "C";
|
|
|
Map<String, Object> personMapC = personLevelMap.get(keyRevLevelC);
|
|
Map<String, Object> personMapC = personLevelMap.get(keyRevLevelC);
|
|
|
BigDecimal cLens = BigDecimal.ZERO;
|
|
BigDecimal cLens = BigDecimal.ZERO;
|
|
@@ -637,7 +680,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
cLens = (BigDecimal) personMapC.get("lens");
|
|
cLens = (BigDecimal) personMapC.get("lens");
|
|
|
leveList.put("C", cLens);
|
|
leveList.put("C", cLens);
|
|
|
}
|
|
}
|
|
|
- //获取等级B人数
|
|
|
|
|
|
|
+ //鑾峰彇绛夌骇B浜烘暟
|
|
|
String keyRevLevelB = "B";
|
|
String keyRevLevelB = "B";
|
|
|
Map<String, Object> personMapB = personLevelMap.get(keyRevLevelB);
|
|
Map<String, Object> personMapB = personLevelMap.get(keyRevLevelB);
|
|
|
BigDecimal bLens = BigDecimal.ZERO;
|
|
BigDecimal bLens = BigDecimal.ZERO;
|
|
@@ -645,7 +688,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
bLens = (BigDecimal) personMapB.get("lens");
|
|
bLens = (BigDecimal) personMapB.get("lens");
|
|
|
leveList.put("B", bLens);
|
|
leveList.put("B", bLens);
|
|
|
}
|
|
}
|
|
|
- //获取等级A人数
|
|
|
|
|
|
|
+ //鑾峰彇绛夌骇A浜烘暟
|
|
|
String keyRevLevelA = "A";
|
|
String keyRevLevelA = "A";
|
|
|
Map<String, Object> personMapA = personLevelMap.get(keyRevLevelA);
|
|
Map<String, Object> personMapA = personLevelMap.get(keyRevLevelA);
|
|
|
BigDecimal aLens = BigDecimal.ZERO;
|
|
BigDecimal aLens = BigDecimal.ZERO;
|
|
@@ -653,7 +696,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
aLens = (BigDecimal) personMapA.get("lens");
|
|
aLens = (BigDecimal) personMapA.get("lens");
|
|
|
leveList.put("A", aLens);
|
|
leveList.put("A", aLens);
|
|
|
}
|
|
}
|
|
|
- //获取等级S人数
|
|
|
|
|
|
|
+ //鑾峰彇绛夌骇S浜烘暟
|
|
|
String keyRevLevelS = "S";
|
|
String keyRevLevelS = "S";
|
|
|
Map<String, Object> personMapS = personLevelMap.get(keyRevLevelS);
|
|
Map<String, Object> personMapS = personLevelMap.get(keyRevLevelS);
|
|
|
BigDecimal sLens = BigDecimal.ZERO;
|
|
BigDecimal sLens = BigDecimal.ZERO;
|
|
@@ -662,12 +705,12 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
leveList.put("S", sLens);
|
|
leveList.put("S", sLens);
|
|
|
}
|
|
}
|
|
|
System.out.println("leveList:"+leveList);
|
|
System.out.println("leveList:"+leveList);
|
|
|
- //总人数
|
|
|
|
|
|
|
+ //鎬讳汉鏁�
|
|
|
BigDecimal alls = new BigDecimal(idList.size());
|
|
BigDecimal alls = new BigDecimal(idList.size());
|
|
|
|
|
|
|
|
- //当前等级正态分布比例
|
|
|
|
|
|
|
+ //褰撳墠绛夌骇姝f€佸垎甯冩瘮渚�
|
|
|
BigDecimal scale = personPerform.get(auditGradeLevel);
|
|
BigDecimal scale = personPerform.get(auditGradeLevel);
|
|
|
- //创建每个等级的人数列表
|
|
|
|
|
|
|
+ //鍒涘缓姣忎釜绛夌骇鐨勪汉鏁板垪琛�
|
|
|
Map<String, BigDecimal> bigsList = Maps.newHashMap();
|
|
Map<String, BigDecimal> bigsList = Maps.newHashMap();
|
|
|
BigDecimal bigS = ((personPerform.get("S").divide(big100, BigDecimal.ROUND_HALF_UP, BigDecimal.ROUND_HALF_UP)).multiply(alls).setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
BigDecimal bigS = ((personPerform.get("S").divide(big100, BigDecimal.ROUND_HALF_UP, BigDecimal.ROUND_HALF_UP)).multiply(alls).setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
|
bigsList.put("S", bigS);
|
|
bigsList.put("S", bigS);
|
|
@@ -680,9 +723,9 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
BigDecimal bigD = ((personPerform.get("D").divide(big100, BigDecimal.ROUND_HALF_UP, BigDecimal.ROUND_HALF_UP)).multiply(alls).setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
BigDecimal bigD = ((personPerform.get("D").divide(big100, BigDecimal.ROUND_HALF_UP, BigDecimal.ROUND_HALF_UP)).multiply(alls).setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
|
bigsList.put("D", bigD);
|
|
bigsList.put("D", bigD);
|
|
|
System.out.println("bigsList:"+bigsList);
|
|
System.out.println("bigsList:"+bigsList);
|
|
|
- //已占用数
|
|
|
|
|
|
|
+ //宸插崰鐢ㄦ暟
|
|
|
BigDecimal lens = BigDecimal.ZERO;
|
|
BigDecimal lens = BigDecimal.ZERO;
|
|
|
- //进行额度加减
|
|
|
|
|
|
|
+ //杩涜�棰濆害鍔犲噺
|
|
|
//if ("S".equals(revLevel) || "A".equals(revLevel)||"B".equals(revLevel) || "C".equals(revLevel) || "D".equals(revLevel)) {
|
|
//if ("S".equals(revLevel) || "A".equals(revLevel)||"B".equals(revLevel) || "C".equals(revLevel) || "D".equals(revLevel)) {
|
|
|
BigDecimal personSize = BigDecimal.ZERO;
|
|
BigDecimal personSize = BigDecimal.ZERO;
|
|
|
BigDecimal personMaxSize = BigDecimal.ZERO;
|
|
BigDecimal personMaxSize = BigDecimal.ZERO;
|
|
@@ -698,7 +741,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
} else {
|
|
} else {
|
|
|
personMaxSize = personMaxSize.add((bigA).subtract(aLens));
|
|
personMaxSize = personMaxSize.add((bigA).subtract(aLens));
|
|
|
}
|
|
}
|
|
|
- ldrs.add("A最多%A人,");
|
|
|
|
|
|
|
+ ldrs.add("A鏈€澶�%A浜猴紝");
|
|
|
//bigsList.remove("A");
|
|
//bigsList.remove("A");
|
|
|
case "S":
|
|
case "S":
|
|
|
personSize = personSize.add(bigS).subtract(sLens);
|
|
personSize = personSize.add(bigS).subtract(sLens);
|
|
@@ -708,7 +751,7 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
} else {
|
|
} else {
|
|
|
personMaxSize = personMaxSize.add((bigS).subtract(sLens));
|
|
personMaxSize = personMaxSize.add((bigS).subtract(sLens));
|
|
|
}
|
|
}
|
|
|
- ldrs.add("S最多%S人,");
|
|
|
|
|
|
|
+ ldrs.add("S鏈€澶�%S浜猴紝");
|
|
|
//bigsList.remove("S");
|
|
//bigsList.remove("S");
|
|
|
case "B":
|
|
case "B":
|
|
|
case "C":
|
|
case "C":
|
|
@@ -717,20 +760,20 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
} else {
|
|
} else {
|
|
|
personMinSize = personMinSize.add((bigC).subtract(cLens));
|
|
personMinSize = personMinSize.add((bigC).subtract(cLens));
|
|
|
}
|
|
}
|
|
|
- ldrcd.put("C","C最少"+(personMinSize.compareTo(BigDecimal.ZERO) > 0?personMinSize.toPlainString():'0')+"人,");
|
|
|
|
|
|
|
+ ldrcd.put("C","C鏈€灏�"+(personMinSize.compareTo(BigDecimal.ZERO) > 0?personMinSize.toPlainString():'0')+"浜猴紝");
|
|
|
//bigsList.remove("C");
|
|
//bigsList.remove("C");
|
|
|
case "D":
|
|
case "D":
|
|
|
// if (bigD.compareTo(dLens) > 0) {
|
|
// if (bigD.compareTo(dLens) > 0) {
|
|
|
-// ldrcd.add("D最少" + bigD.toPlainString() + "人,");
|
|
|
|
|
|
|
+// ldrcd.add("D鏈€灏�" + bigD.toPlainString() + "浜猴紝");
|
|
|
// }
|
|
// }
|
|
|
if ("D".equals(auditGradeLevel)) {
|
|
if ("D".equals(auditGradeLevel)) {
|
|
|
personMinSize = personMinSize.add((bigD));
|
|
personMinSize = personMinSize.add((bigD));
|
|
|
} else {
|
|
} else {
|
|
|
personMinSize = personMinSize.add((bigD).subtract(dLens));
|
|
personMinSize = personMinSize.add((bigD).subtract(dLens));
|
|
|
}
|
|
}
|
|
|
- ldrcd.put("D","D最少"+(personMinSize.compareTo(BigDecimal.ZERO) > 0?personMinSize.toPlainString():'0')+"人,");
|
|
|
|
|
|
|
+ ldrcd.put("D","D鏈€灏�"+(personMinSize.compareTo(BigDecimal.ZERO) > 0?personMinSize.toPlainString():'0')+"浜猴紝");
|
|
|
}
|
|
}
|
|
|
- String ld = "当前周期绩效等级为%l的人数为%maxs人,";
|
|
|
|
|
|
|
+ String ld = "褰撳墠鍛ㄦ湡缁╂晥绛夌骇涓�%l鐨勪汉鏁颁负%maxs浜�,";
|
|
|
if (personMinSize.compareTo(BigDecimal.ZERO) > 0 || personSize.compareTo(BigDecimal.ZERO) < 0) {
|
|
if (personMinSize.compareTo(BigDecimal.ZERO) > 0 || personSize.compareTo(BigDecimal.ZERO) < 0) {
|
|
|
if(ldrs.size()>0){
|
|
if(ldrs.size()>0){
|
|
|
String ldrstr = ldrs.get(0);
|
|
String ldrstr = ldrs.get(0);
|
|
@@ -745,11 +788,101 @@ public class EvaresultAuditBillEntryListHandlerEx extends EvaresultAuditBillEntr
|
|
|
String ldr= entry.getValue();
|
|
String ldr= entry.getValue();
|
|
|
ld += ldr;
|
|
ld += ldr;
|
|
|
}
|
|
}
|
|
|
- ld += "请修正后重新审核.";
|
|
|
|
|
|
|
+ ld += "璇蜂慨姝e悗閲嶆柊瀹℃牳.";
|
|
|
batchMessage.put(fid, ld);
|
|
batchMessage.put(fid, ld);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return batchMessage;
|
|
return batchMessage;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ public void batchSaveReviseDataAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap, BatchMessageTipsHeader batchMessageTipsHeader) throws SHRWebException {
|
|
|
|
|
+
|
|
|
|
|
+ Context ctx = SHRContext.getInstance().getContext();
|
|
|
|
|
+ String assignmentID = request.getParameter("assignmentID");
|
|
|
|
|
+ String billId = request.getParameter("billId");
|
|
|
|
|
+ if (!StringUtils.isEmpty(assignmentID) && !StringUtils.isEmpty(billId)) {
|
|
|
|
|
+ List evaResultIds = (List)Arrays.stream(billId.split(",")).collect(Collectors.toList());
|
|
|
|
|
+ try {
|
|
|
|
|
+ Map<String, Object> auditingNode = BOSWorkFlowUtil.isAuditingNode(ctx, assignmentID);
|
|
|
|
|
+ if (!"1".equals(auditingNode.get("isAuditing"))) {
|
|
|
|
|
+ logger.error("current node is not auditing -- {}", StringUtils.defaultString(assignmentID));
|
|
|
|
|
+ addBatchMessageTips(evaResultIds, SHRPerfWebResourceUtil.getRes(SHRPerfWebResource.CANNOTREVISESCOREBYNOTAUDITING, ctx), batchMessageTipsHeader);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception var17) {
|
|
|
|
|
+ logger.error("", var17);
|
|
|
|
|
+ throw new ShrWebBizException(SHRPerfWebResourceUtil.getRes(SHRPerfWebResource.CANNOTREVISESCOREBYNOTAUDITING, ctx));
|
|
|
|
|
+ }
|
|
|
|
|
+ String datas = request.getParameter("datas");
|
|
|
|
|
+ if (!StringUtils.isEmpty(datas)) {
|
|
|
|
|
+ List<HashMap> reviseDataList = JSONArray.parseArray(datas, HashMap.class);
|
|
|
|
|
+ Iterator var11 = reviseDataList.iterator();
|
|
|
|
|
+
|
|
|
|
|
+ while(var11.hasNext()) {
|
|
|
|
|
+ HashMap map = (HashMap)var11.next();
|
|
|
|
|
+ String id = (String)map.get("id");
|
|
|
|
|
+ String id_id = (String)map.get("id_id");
|
|
|
|
|
+ try {
|
|
|
|
|
+ request.setAttribute("toRevisedId", id);
|
|
|
|
|
+ request.setAttribute("reviseScore", map.get("reviseSumScore"));
|
|
|
|
|
+ request.setAttribute("reviseLevel", map.get("reviseGradeLevel"));
|
|
|
|
|
+ request.setAttribute("reviseReason", map.get("reviseReason"));
|
|
|
|
|
+ Map<String, Object> saveReturnData = EvaResultSummaryBillUtil.saveReviseData(ctx, request, response, false, EvaResultSumLogSourceEnum.AUDITING);
|
|
|
|
|
+ if ("500".equals(saveReturnData.get("result"))) {
|
|
|
|
|
+ addBatchMessageTip(id, SHRPerfWebResourceUtil.getRes(SHRPerfWebResource.SAVEFAILED, ctx), batchMessageTipsHeader);
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (SHRPerfWebException var15) {
|
|
|
|
|
+ logger.error("saveReviseData is error", var15);
|
|
|
|
|
+ addBatchMessageTip(id, var15.getMessage(), batchMessageTipsHeader);
|
|
|
|
|
+ } catch (Exception var16) {
|
|
|
|
|
+ logger.error("saveReviseData is error", var16);
|
|
|
|
|
+ addBatchMessageTip(id, SHRPerfWebResourceUtil.getRes(SHRPerfWebResource.SAVEFAILED, ctx), batchMessageTipsHeader);
|
|
|
|
|
+ }
|
|
|
|
|
+ try {
|
|
|
|
|
+ request.setAttribute("toRevisedId", id);
|
|
|
|
|
+ request.setAttribute("reviseScore", map.get("reviseSumScore"));
|
|
|
|
|
+ request.setAttribute("reviseLevel", map.get("reviseGradeLevel"));
|
|
|
|
|
+ request.setAttribute("reviseReason", map.get("reviseReason"));
|
|
|
|
|
+ request.setAttribute("perCoefficient", map.get("perCoefficient"));
|
|
|
|
|
+ String coefficient = "0";
|
|
|
|
|
+ String perCoefficient = "0";
|
|
|
|
|
+ String perMaxCoefficient = "0";
|
|
|
|
|
+ String perMinCoefficient = "0";
|
|
|
|
|
+ if(map.get("coefficient") instanceof BigDecimal){
|
|
|
|
|
+ coefficient = ((BigDecimal) map.get("coefficient")).toPlainString();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ coefficient = map.get("coefficient").toString();
|
|
|
|
|
+ }
|
|
|
|
|
+ if(map.get("perCoefficient") instanceof BigDecimal){
|
|
|
|
|
+ perCoefficient = ((BigDecimal) map.get("perCoefficient")).toPlainString();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ perCoefficient = map.get("perCoefficient").toString();
|
|
|
|
|
+ }
|
|
|
|
|
+ if(map.get("perMaxCoefficient") instanceof BigDecimal){
|
|
|
|
|
+ perMaxCoefficient = ((BigDecimal) map.get("perMaxCoefficient")).toPlainString();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ perMaxCoefficient = map.get("perMaxCoefficient").toString();
|
|
|
|
|
+ }
|
|
|
|
|
+ if(map.get("perMinCoefficient") instanceof BigDecimal){
|
|
|
|
|
+ perMinCoefficient = ((BigDecimal) map.get("perMinCoefficient")).toPlainString();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ perMinCoefficient = map.get("perMinCoefficient").toString();
|
|
|
|
|
+ }
|
|
|
|
|
+ if(null!=perCoefficient) {
|
|
|
|
|
+ DbUtil.execute(ctx, "update T_EVA_EvaResultSummary set CFPERMAXCOEFFICIENT='"+perMaxCoefficient
|
|
|
|
|
+ +"', CFPerMinCoefficient='"+perMinCoefficient +"', CFperCoefficient='" + perCoefficient
|
|
|
|
|
+ +"', CFcoefficient='"+coefficient+"' where fid = '" + id + "'");
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception var16) {
|
|
|
|
|
+ logger.error("saveReviseData is error", var16);
|
|
|
|
|
+ //addBatchMessageTip(id, SHRPerfWebResourceUtil.getRes(SHRPerfWebResource.SAVEFAILED, ctx), batchMessageTipsHeader);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ } else {
|
|
|
|
|
+ logger.error("assignmentID is null or billId is null");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|