|
|
@@ -916,8 +916,20 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
}
|
|
|
|
|
|
private void dealRecListParam(CoreDrillTaskRecPageDto request) {
|
|
|
+
|
|
|
//App的查询, App 默认下穿
|
|
|
request.setCheckSub(true);
|
|
|
+ if(ObjectUtil.isNotEmpty(request.getRecStatus())){
|
|
|
+ if(isUnRecStatus(request.getRecStatus()))
|
|
|
+ {
|
|
|
+ request.setUnRecStatus(request.getRecStatus());
|
|
|
+ request.setRecStatus(null);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ request.setUnRecStatus(0);
|
|
|
+ }
|
|
|
+ }
|
|
|
//App端的时间按季度查询
|
|
|
request.setStartTime(DateUtil.beginOfMonth(request.getStartTime()));
|
|
|
request.setEndTime(DateUtil.endOfMonth(request.getEndTime()));
|
|
|
@@ -952,15 +964,18 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
|
|
|
public int doRecTask(CoreDrillTaskDoRec request) {
|
|
|
+ // 6 不推荐(保留普通案例)、7 不推荐(保留行社优秀案例)、8 不推荐(保留地区优秀案例)
|
|
|
CoreDrillTask drillTask = getById(request.getDrillTaskId());
|
|
|
if (drillTask == null) {
|
|
|
throw new SystemException("获取预案演练数据失败!");
|
|
|
}
|
|
|
- //当前推荐状态为null或者小于前端传过来的推荐状态,说明是取消推荐操作
|
|
|
- if (request.getRecStatus() == null || drillTask.getRecStatus() > request.getRecStatus()) {
|
|
|
+
|
|
|
+ //当前推荐状态为6、7、8(不推荐)或者小于前端传过来的推荐状态,说明是取消推荐操作
|
|
|
+ if (isUnRecStatus(request.getRecStatus()) || drillTask.getRecStatus() > request.getRecStatus()) {
|
|
|
//取消推荐
|
|
|
int recStatus = checkRecStatus(drillTask, request.getRecStatus());
|
|
|
- return coreDrillTaskMapper.updateStatusById(request.getDrillTaskId(), recStatus);
|
|
|
+
|
|
|
+ return coreDrillTaskMapper.updateStatusById(request.getDrillTaskId(), recStatus,request.getRecStatus());
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -970,33 +985,60 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
return 1;
|
|
|
}
|
|
|
//判断是否越级推荐
|
|
|
- if (ObjectUtil.notEqual(drillTask.getRecStatus(), request.getRecStatus() - 1) && ObjectUtil.notEqual(drillTask.getRecStatus(), request.getRecStatus() - 2)) {
|
|
|
+ if (request.getRecStatus()<DrillRecStatus.UNREC_NORMAL_CASE.getCode() && ObjectUtil.notEqual(drillTask.getRecStatus(), request.getRecStatus() - 1) && ObjectUtil.notEqual(drillTask.getRecStatus(), request.getRecStatus() - 2)) {
|
|
|
throw new SystemException("推荐状态异常!");
|
|
|
}
|
|
|
if (ObjectUtil.notEqual(DrillDoStatus.DONE.getCode(), drillTask.getStatus())) {
|
|
|
throw new SystemException("该预案演练任务未完成或已逾期!");
|
|
|
}
|
|
|
- return coreDrillTaskMapper.updateStatusById(request.getDrillTaskId(), request.getRecStatus());
|
|
|
+ return coreDrillTaskMapper.updateStatusById(request.getDrillTaskId(), request.getRecStatus(),0);
|
|
|
}
|
|
|
|
|
|
+ private boolean isUnRecStatus(Integer recStatus)
|
|
|
+ {
|
|
|
+ if(recStatus.equals(DrillRecStatus.UNREC_NORMAL_CASE.getCode())
|
|
|
+ || recStatus.equals(DrillRecStatus.UNREC_HS_EXCELLENT_CASE.getCode())
|
|
|
+ || recStatus.equals(DrillRecStatus.UNREC_REGION_EXCELLENT_CASE.getCode()))
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
private int checkRecStatus(CoreDrillTask drillTask, Integer recStatus) {
|
|
|
|
|
|
- if (recStatus != null && drillTask.getRecStatus() > recStatus) {
|
|
|
+ // -1 为不推荐
|
|
|
+ if (!isUnRecStatus(recStatus) && drillTask.getRecStatus() > recStatus) {
|
|
|
return recStatus;
|
|
|
}
|
|
|
- //前端传null,说明页面两个复选框都没勾选
|
|
|
- //如果当前是正常案例/行社优秀案例/已推荐地区优秀案例 取消推荐后状态为正常案例
|
|
|
- if (drillTask.getRecStatus().equals(DrillRecStatus.NORMAL.getCode()) ||
|
|
|
- drillTask.getRecStatus().equals(DrillRecStatus.HS_EXCELLENT_CASE.getCode()) ||
|
|
|
- drillTask.getRecStatus().equals(DrillRecStatus.REC_REGION_EXCELLENT_CASE.getCode())) {
|
|
|
+ if(recStatus.equals(DrillRecStatus.UNREC_NORMAL_CASE.getCode()))
|
|
|
+ {
|
|
|
return DrillRecStatus.NORMAL.getCode();
|
|
|
}
|
|
|
- //如果当前是地区优秀案例/已推荐省级优秀案例 取消推荐后状态为行社优秀案例
|
|
|
- if (drillTask.getRecStatus().equals(DrillRecStatus.REGION_EXCELLENT_CASE.getCode()) || drillTask.getRecStatus().equals(DrillRecStatus.REC_PROVINCE_EXCELLENT_CASE.getCode())) {
|
|
|
+ if(recStatus.equals(DrillRecStatus.UNREC_HS_EXCELLENT_CASE.getCode()))
|
|
|
+ {
|
|
|
return DrillRecStatus.HS_EXCELLENT_CASE.getCode();
|
|
|
}
|
|
|
- //走到这说明当前推荐状态为省级优秀案例,取消推荐后状态为地区优秀案例
|
|
|
+
|
|
|
return DrillRecStatus.REGION_EXCELLENT_CASE.getCode();
|
|
|
+// if(recStatus.equals(DrillRecStatus.UNREC_REGION_EXCELLENT_CASE.getCode()))
|
|
|
+// {
|
|
|
+// return DrillRecStatus.REGION_EXCELLENT_CASE.getCode();
|
|
|
+// }
|
|
|
+
|
|
|
+// //前端传null,说明页面两个复选框都没勾选
|
|
|
+// //如果当前是正常案例/行社优秀案例/已推荐地区优秀案例 取消推荐后状态为正常案例
|
|
|
+// if (drillTask.getRecStatus().equals(DrillRecStatus.NORMAL.getCode()) ||
|
|
|
+// drillTask.getRecStatus().equals(DrillRecStatus.HS_EXCELLENT_CASE.getCode()) ||
|
|
|
+// drillTask.getRecStatus().equals(DrillRecStatus.REC_REGION_EXCELLENT_CASE.getCode())) {
|
|
|
+// return DrillRecStatus.NORMAL.getCode();
|
|
|
+// }
|
|
|
+// //如果当前是地区优秀案例/已推荐省级优秀案例 取消推荐后状态为行社优秀案例
|
|
|
+// if (drillTask.getRecStatus().equals(DrillRecStatus.REGION_EXCELLENT_CASE.getCode()) || drillTask.getRecStatus().equals(DrillRecStatus.REC_PROVINCE_EXCELLENT_CASE.getCode())) {
|
|
|
+// return DrillRecStatus.HS_EXCELLENT_CASE.getCode();
|
|
|
+// }
|
|
|
+// //走到这说明当前推荐状态为省级优秀案例,取消推荐后状态为地区优秀案例
|
|
|
+// return DrillRecStatus.REGION_EXCELLENT_CASE.getCode();
|
|
|
}
|
|
|
|
|
|
private Boolean checkRecNum(SysOrg sysOrg) {
|