|
|
@@ -98,21 +98,42 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
|
|
|
wizard.addWizardStepsListener(this);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
public void afterBindData(EventObject e) {
|
|
|
- sortEntry();
|
|
|
+// sortEntry();
|
|
|
+ this.getView().updateView(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
// 该单据不需要审批,默认为暂存状态
|
|
|
this.getModel().setValue(FormConstant.STATUS, StatusEnum.A.toString());
|
|
|
String step = ConvertUtil.toStr(this.getModel().getValue(PerfRankMgmtConstant.NCKD_STEP));
|
|
|
- if("1".equals(step)){
|
|
|
+ String cacheStep = this.getView().getPageCache().get(PerfRankMgmtConstant.NCKD_STEP);
|
|
|
+ if("1".equals(step) || ("1".equals(cacheStep))){
|
|
|
+ if("1".equals(cacheStep)){
|
|
|
+ this.getModel().setValue(PerfRankMgmtConstant.NCKD_STEP, 1);
|
|
|
+ this.getView().updateView(PerfRankMgmtConstant.NCKD_STEP);
|
|
|
+ this.getView().getPageCache().put(PerfRankMgmtConstant.NCKD_STEP,null);
|
|
|
+ this.getView().updateView(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
+ /*DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
+ for (int i = 0; i < dynamicObjectCollection.size(); i++) {
|
|
|
+ boolean isRanking = dynamicObjectCollection.get(i).getBoolean(PerfRankMgmtConstant.NCKD_ISRANKING);
|
|
|
+ if(!isRanking){
|
|
|
+ this.getModel().setValue(PerfRankMgmtConstant.NCKD_ISRANKING,true,i);
|
|
|
+ this.getView().updateView(PerfRankMgmtConstant.NCKD_ISRANKING,i);
|
|
|
+ this.getModel().setValue(PerfRankMgmtConstant.NCKD_ISRANKING,false,i);
|
|
|
+ this.getView().updateView(PerfRankMgmtConstant.NCKD_ISRANKING,i);
|
|
|
+ }
|
|
|
+ }*/
|
|
|
+ DynamicObjectCollection entryEntityCols = this.getModel().getDataEntity(true).getDynamicObjectCollection(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
+ entryEntityCols.removeIf(obj -> obj.getBoolean(PerfRankMgmtConstant.NCKD_ISRANKING));
|
|
|
+ }
|
|
|
setStepStatus(0,Steps.FINISH);
|
|
|
setStepStatus(1,Steps.PROCESS);
|
|
|
|
|
|
+ //步骤为:导入考核结果时只显示参与排名的人员
|
|
|
+// applyRankingFilter(true);
|
|
|
+
|
|
|
importResultStep();
|
|
|
|
|
|
- //步骤为:导入考核结果时只显示参与排名的人员
|
|
|
- applyRankingFilter(true);
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -284,7 +305,7 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
|
|
|
}
|
|
|
} else if(Arrays.asList(FormConstant.SAVE_OP, FormConstant.SUBMIT_OP).contains(itemKey)){
|
|
|
//保存或提交先计算一遍
|
|
|
- calcRankCount();
|
|
|
+ calcRankCount();
|
|
|
} else if(FormConstant.DELETEENTRY_OP.equalsIgnoreCase(itemKey)){
|
|
|
//校验人员考评,若考评周期已结束,则禁止删除。
|
|
|
EntryGrid entryGrid = getView().getControl(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
@@ -299,8 +320,10 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
|
|
|
DynamicObjectCollection entryEntity = this.getModel().getEntryEntity(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
DynamicObject rowData = entryEntity.get(rowIndex);
|
|
|
DynamicObject person = rowData.getDynamicObject(FormConstant.NCKD_PERSON);
|
|
|
- long personId = person.getLong(FormConstant.ID_KEY);
|
|
|
- personIds.add(personId);
|
|
|
+ if(person != null) {
|
|
|
+ long personId = person.getLong(FormConstant.ID_KEY);
|
|
|
+ personIds.add(personId);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if(!personIds.isEmpty()){
|
|
|
@@ -391,7 +414,7 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
|
|
|
if (evt.getResult() == MessageBoxResult.Yes) {
|
|
|
DynamicObjectCollection entryEntities = getModel().getEntryEntity(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
entryEntities.clear();
|
|
|
- getModel().updateEntryCache(entryEntities);
|
|
|
+// getModel().updateEntryCache(entryEntities);
|
|
|
getView().updateView(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
}
|
|
|
}
|
|
|
@@ -508,7 +531,7 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
|
|
|
entryCol.set(PerfRankMgmtConstant.NCKD_POSTALLOWANCE, hasAllowance);
|
|
|
|
|
|
}
|
|
|
- this.getModel().updateEntryCache(entryEntityCols);
|
|
|
+// this.getModel().updateEntryCache(entryEntityCols);
|
|
|
this.getView().updateView(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
this.getView().showSuccessNotification("名单获取完成");
|
|
|
} else {
|
|
|
@@ -520,14 +543,19 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
|
|
|
if(afterDoOperationEventArgs.getOperationResult() != null && afterDoOperationEventArgs.getOperationResult().isSuccess()){
|
|
|
String wizadap = this.getView().getPageCache().get(FormConstant.NCKD_WIZARDAP);
|
|
|
if(StringUtils.isBlank(wizadap) || "0".equals(wizadap)){
|
|
|
-
|
|
|
- setStepStatus(0,Steps.FINISH);
|
|
|
+/* setStepStatus(0,Steps.FINISH);
|
|
|
setStepStatus(1,Steps.PROCESS);
|
|
|
//控制显示隐藏
|
|
|
importResultStep();
|
|
|
- applyRankingFilter(true);
|
|
|
+ this.getView().updateView(PerfRankMgmtConstant.NCKD_STEP);*/
|
|
|
+ this.getView().getPageCache().put(PerfRankMgmtConstant.NCKD_STEP, "1");
|
|
|
this.getView().invokeOperation(FormConstant.REFRESH_OP);
|
|
|
|
|
|
+/* //控制显示隐藏
|
|
|
+ importResultStep();
|
|
|
+ applyRankingFilter(true);*/
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}else {
|
|
|
this.getView().showSuccessNotification("同步考核周期成功。");
|
|
|
@@ -545,13 +573,11 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
|
|
|
this.getModel().setValue(PerfRankMgmtConstant.NCKD_STEP,1);
|
|
|
this.getView().setVisible(false, FormConstant.NUMBER_KEY, PerfRankMgmtConstant.NCKD_GETRANKLIST,"nckd_advconbaritemap2","nckd_advconbaritemap3");
|
|
|
this.getView().setVisible(true, PerfRankMgmtConstant.NCKD_TOPRANKS, PerfRankMgmtConstant.NCKD_ALLOWANCERANKS, PerfRankMgmtConstant.NCKD_FAILS, PerfRankMgmtConstant.NCKD_BASICS, PerfRankMgmtConstant.NCKD_EXCELLENTS, "nckd_advconbaritemap6","nckd_advconbaritemap");
|
|
|
- DynamicObjectCollection entryEntity = this.getModel().getEntryEntity(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
+ DynamicObjectCollection entryEntity = this.getModel().getDataEntity(true).getDynamicObjectCollection(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
for (int i = 0; i < entryEntity.size(); i++) {
|
|
|
this.getView().setEnable(Boolean.FALSE, i, FormConstant.NCKD_PERSON);
|
|
|
this.getView().setEnable(Boolean.FALSE, i, PerfRankMgmtConstant.NCKD_ISRANKING);
|
|
|
}
|
|
|
- this.getModel().updateEntryCache(entryEntity);
|
|
|
- this.getView().updateView(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -559,7 +585,7 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
|
|
|
this.getModel().setValue(PerfRankMgmtConstant.NCKD_STEP,0);
|
|
|
this.getView().setVisible(true, FormConstant.NUMBER_KEY, PerfRankMgmtConstant.NCKD_GETRANKLIST,"nckd_advconbaritemap2","nckd_advconbaritemap3");
|
|
|
this.getView().setVisible(false, PerfRankMgmtConstant.NCKD_TOPRANKS, PerfRankMgmtConstant.NCKD_ALLOWANCERANKS, PerfRankMgmtConstant.NCKD_FAILS, PerfRankMgmtConstant.NCKD_BASICS, PerfRankMgmtConstant.NCKD_EXCELLENTS, "nckd_advconbaritemap6","nckd_advconbaritemap");
|
|
|
- DynamicObjectCollection entryEntity = this.getModel().getEntryEntity(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
+ DynamicObjectCollection entryEntity = this.getModel().getDataEntity(true).getDynamicObjectCollection(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
for (int i = 0; i < entryEntity.size(); i++) {
|
|
|
this.getView().setEnable(Boolean.TRUE, i, FormConstant.NCKD_PERSON);
|
|
|
this.getView().setEnable(Boolean.TRUE, i, PerfRankMgmtConstant.NCKD_ISRANKING);
|
|
|
@@ -661,7 +687,6 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
|
|
|
private void sortEntry(){
|
|
|
DynamicObjectCollection entryEntityCols = this.getModel().getDataEntity(true).getDynamicObjectCollection(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
if(!entryEntityCols.isEmpty()) {
|
|
|
- int allowanceRank = entryEntityCols.get(0).getInt(PerfRankMgmtConstant.NCKD_ALLOWANCERANK);
|
|
|
entryEntityCols.sort((o1, o2) -> {
|
|
|
// 先按 NCKD_TOPRANK 排序,空值或 0 视为最大值(排在最后)
|
|
|
Integer topRank1 = o1.getInt(PerfRankMgmtConstant.NCKD_TOPRANK);
|
|
|
@@ -698,8 +723,8 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
|
|
|
Boolean isRanking2 = o2.getBoolean(PerfRankMgmtConstant.NCKD_ISRANKING);
|
|
|
return Boolean.compare(isRanking2, isRanking1);
|
|
|
});
|
|
|
- this.getModel().updateEntryCache(entryEntityCols);
|
|
|
- this.getView().updateView(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
+/* this.getModel().updateEntryCache(entryEntityCols);
|
|
|
+ this.getView().updateView(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);*/
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -711,7 +736,11 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
|
|
|
*/
|
|
|
private void calcRankCount(){
|
|
|
DynamicObjectCollection entryEntity = this.getModel().getEntryEntity(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
-
|
|
|
+ Object value = this.getModel().getValue(PerfRankMgmtConstant.NCKD_TOPRANKS);
|
|
|
+ if(value != null && ConvertUtil.toInt( value) > 0){
|
|
|
+ //有值了就不计算
|
|
|
+ return;
|
|
|
+ }
|
|
|
int totalRankCount = 0;
|
|
|
int allowanceRankCount = 0;
|
|
|
int failCount = 0;
|
|
|
@@ -795,10 +824,9 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
|
|
|
if(stepEvent.getValue() == 0){
|
|
|
generatePersonList();
|
|
|
setStepStatus(0, Steps.PROCESS);
|
|
|
- this.getView().updateView(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
|
|
|
//步骤为:导入考核结果时只显示参与排名的人员
|
|
|
- applyRankingFilter(false);
|
|
|
+// applyRankingFilter(false);
|
|
|
|
|
|
}else{
|
|
|
//校验有没有保存
|
|
|
@@ -809,10 +837,9 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
|
|
|
}else {
|
|
|
importResultStep();
|
|
|
setStepStatus(1, Steps.PROCESS);
|
|
|
- this.getView().updateView(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
|
|
|
//步骤为:导入考核结果时只显示参与排名的人员
|
|
|
- applyRankingFilter(true);
|
|
|
+// applyRankingFilter(true);
|
|
|
}
|
|
|
}
|
|
|
this.getView().updateView(PerfRankMgmtConstant.NCKD_STEP);
|
|
|
@@ -847,6 +874,7 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
|
|
|
filterRowList.add(new SimpleFilterRow("(", CompareTypeEnum.IN.getId(), "nckd_isranking", ")", "", value));
|
|
|
//分录过滤
|
|
|
entryGrid.getGridDataByDefaultFilterRow(filterRowList);
|
|
|
+ this.getView().updateView(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
|
|
|
}
|
|
|
|
|
|
}
|