|
|
@@ -278,6 +278,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public int updateCoreDrillTask(CoreDrillTaskEditDto request) {
|
|
|
CoreDrillTask coreDrillTask = coreDrillTaskMapper.selectById(request.getId());
|
|
|
boolean isAdd = false;
|
|
|
@@ -296,12 +297,24 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
coreDrillTask.setPlanCycle(DrillPlanCycleEnum.NONE.getCode());
|
|
|
coreDrillTask.setCreateBy(SecurityUtils.getUserId().toString());
|
|
|
coreDrillTask.setCreateTime(new Date());
|
|
|
+ coreDrillTask.setStatus(DrillDoStatus.WAIT_RECORDED.getCode());
|
|
|
coreDrillTask.setStartDate(DateUtil.beginOfDay(new Date()));
|
|
|
// 临时添加的任务 特殊把任务的开始结束时间设置为当前时间的一周,否则待办查询不到
|
|
|
Long endTime = coreDrillTask.getStartDate().getTime();
|
|
|
Date end = new Date(endTime + 7 * 24 * 60 * 60 * 1000 - 1000);
|
|
|
coreDrillTask.setEndDate(end);
|
|
|
}
|
|
|
+ if (ObjectUtil.equal(request.getSubmitType(), 2)) {
|
|
|
+ if (ObjectUtil.notEqual(coreDrillTask.getStatus(), DrillDoStatus.WAIT_SUBMIT.getCode())&&ObjectUtil.notEqual(coreDrillTask.getStatus(), DrillDoStatus.WAIT_RECORDED.getCode())){
|
|
|
+ throw new SystemException("当前状态不允许修改,请退出当前页面后刷新重试!");
|
|
|
+ }
|
|
|
+ coreDrillTask.setStatus(DrillDoStatus.WAIT_SIGN.getCode());
|
|
|
+ } else {
|
|
|
+ if (ObjectUtil.notEqual(coreDrillTask.getStatus(), DrillDoStatus.WAIT_SUBMIT.getCode())&&ObjectUtil.notEqual(coreDrillTask.getStatus(), DrillDoStatus.WAIT_RECORDED.getCode())){
|
|
|
+ throw new SystemException("当前状态不允许修改,请退出当前页面后刷新重试!");
|
|
|
+ }
|
|
|
+ coreDrillTask.setStatus(DrillDoStatus.WAIT_SUBMIT.getCode());
|
|
|
+ }
|
|
|
taskToUserMapper.deleteByMap(MapUtil.of("drill_task_id", request.getId()));
|
|
|
coreDrillTask.setType(request.getType());
|
|
|
coreDrillTask.setDrillStartTime(request.getDrillStartTime());
|
|
|
@@ -327,11 +340,6 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
}
|
|
|
saveTaskUserData(request);
|
|
|
|
|
|
- if (ObjectUtil.equal(request.getSubmitType(), 2)) {
|
|
|
- coreDrillTask.setStatus(DrillDoStatus.WAIT_SIGN.getCode());
|
|
|
- } else {
|
|
|
- coreDrillTask.setStatus(DrillDoStatus.WAIT_SUBMIT.getCode());
|
|
|
- }
|
|
|
coreDrillTask.setCategory(request.getCategory());
|
|
|
coreDrillTask.setUpdateBy(SecurityUtils.getLoginUser().getSysUser().getId().toString());
|
|
|
coreDrillTask.setUpdateTime(DateUtils.getNowDate());
|
|
|
@@ -490,8 +498,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
final Map<Long, List<SysWorkTime>> listMap = workTimeList.stream().collect(Collectors.groupingBy(SysWorkTime::getOrgId));
|
|
|
|
|
|
for (SysOrg org : orgList) {
|
|
|
- if(org.getIsLock().equals(1) || org.getDeleted().equals(1))
|
|
|
- {
|
|
|
+ if (org.getIsLock().equals(1) || org.getDeleted().equals(1)) {
|
|
|
continue;
|
|
|
}
|
|
|
Map<Short, DateRange> rangeMap;
|
|
|
@@ -588,12 +595,12 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
task.setNo(list.indexOf(task) + 1);
|
|
|
}
|
|
|
try {
|
|
|
- String baseHeaderName="预案演练情况表";
|
|
|
+ String baseHeaderName = "预案演练情况表";
|
|
|
// 设置响应头
|
|
|
response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(baseHeaderName, "utf-8"));
|
|
|
response.setContentType("application/octet-stream;charset=UTF-8");
|
|
|
response.setCharacterEncoding("utf-8");
|
|
|
- String header=baseHeaderName+"("+DateUtil.format( request.getStartTime(),"yyyy-MM")+"~"+DateUtil.format( request.getEndTime(),"yyyy-MM")+")";
|
|
|
+ String header = baseHeaderName + "(" + DateUtil.format(request.getStartTime(), "yyyy-MM") + "~" + DateUtil.format(request.getEndTime(), "yyyy-MM") + ")";
|
|
|
// 数据导出
|
|
|
EasyExcel.write(response.getOutputStream(), CoreDrillTaskReportVo.class)
|
|
|
.registerWriteHandler(new ValueCellWriteHandler(header)).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).sheet(baseHeaderName).doWrite(list);
|
|
|
@@ -627,7 +634,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
request.setOrgPath(sysOrg.getPath());
|
|
|
|
|
|
List<SysOrg> sysOrgList;
|
|
|
- if (null==sysOrg.getType()){
|
|
|
+ if (null == sysOrg.getType()) {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
if (sysOrg.getType() < 3 || sysOrg.getShortName().endsWith("地区行社")) {
|
|
|
@@ -653,19 +660,16 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
//buildEmptyData(sysOrgList, result);
|
|
|
} else {
|
|
|
for (SysOrg org : sysOrgList) {
|
|
|
- if(ObjectUtil.equal(sysOrg.getType(),OrgTypeEnum.HANG_SHE.getCode()) && !ObjectUtil.equal(org.getType(),OrgTypeEnum.YINGYE_WANGDIAN.getCode()))
|
|
|
- {
|
|
|
+ if (ObjectUtil.equal(sysOrg.getType(), OrgTypeEnum.HANG_SHE.getCode()) && !ObjectUtil.equal(org.getType(), OrgTypeEnum.YINGYE_WANGDIAN.getCode())) {
|
|
|
continue;
|
|
|
}
|
|
|
- List<CoreDrillTaskReportVo> childrenOrgData =new ArrayList<>();
|
|
|
- if(ObjectUtil.equal(org.getType(),OrgTypeEnum.YINGYE_WANGDIAN.getCode()))
|
|
|
- {
|
|
|
+ List<CoreDrillTaskReportVo> childrenOrgData = new ArrayList<>();
|
|
|
+ if (ObjectUtil.equal(org.getType(), OrgTypeEnum.YINGYE_WANGDIAN.getCode())) {
|
|
|
childrenOrgData = list.stream()
|
|
|
//.filter(vo -> vo.getOrgPath().startsWith(org.getPath()))
|
|
|
.filter(vo -> vo.getOrgId().equals(org.getId()))
|
|
|
.collect(Collectors.toList());
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
childrenOrgData = list.stream().filter(vo -> vo.getOrgPath().startsWith(org.getPath())).collect(Collectors.toList());
|
|
|
}
|
|
|
// List<CoreDrillTaskReportVo> childrenOrgData = list.stream().filter(vo -> vo.getOrgPath().startsWith(org.getPath())).collect(Collectors.toList());
|
|
|
@@ -921,20 +925,13 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
//处理演练任务类型字典
|
|
|
record.setTypeText(DictUtils.getDictLabel(DictConstants.CORE_DRILL_TYPE, record.getType()));
|
|
|
// 6 不推荐(保留普通案例) 7 不推荐(保留行社优秀案例) 8 不推荐(保留地区优秀案例)
|
|
|
- if(ObjectUtil.equal(6,record.getUnrecStatus()))
|
|
|
- {
|
|
|
+ if (ObjectUtil.equal(6, record.getUnrecStatus())) {
|
|
|
record.setRecStatusText("不推荐(保留普通案例)");
|
|
|
- }
|
|
|
- else if(ObjectUtil.equal(7,record.getUnrecStatus()))
|
|
|
- {
|
|
|
+ } else if (ObjectUtil.equal(7, record.getUnrecStatus())) {
|
|
|
record.setRecStatusText("不推荐(保留行社优秀案例)");
|
|
|
- }
|
|
|
- else if(ObjectUtil.equal(8,record.getUnrecStatus()))
|
|
|
- {
|
|
|
+ } else if (ObjectUtil.equal(8, record.getUnrecStatus())) {
|
|
|
record.setRecStatusText("不推荐(保留地区优秀案例)");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
+ } else {
|
|
|
//处理演练任务推荐状态字典
|
|
|
record.setRecStatusText(DictUtils.getDictLabel(DictConstants.DRILL_TASK_REC_STATUS, record.getRecStatus()));
|
|
|
}
|
|
|
@@ -961,17 +958,14 @@ 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()))
|
|
|
- {
|
|
|
+ if (ObjectUtil.isNotEmpty(request.getRecStatus())) {
|
|
|
+ if (isUnRecStatus(request.getRecStatus())) {
|
|
|
request.setUnRecStatus(request.getRecStatus());
|
|
|
request.setRecStatus(null);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
+ } else {
|
|
|
request.setUnRecStatus(null);
|
|
|
}
|
|
|
}
|
|
|
@@ -1020,7 +1014,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
//取消推荐
|
|
|
int recStatus = checkRecStatus(drillTask, request.getRecStatus());
|
|
|
|
|
|
- return coreDrillTaskMapper.updateStatusById(request.getDrillTaskId(), recStatus,request.getRecStatus());
|
|
|
+ return coreDrillTaskMapper.updateStatusById(request.getDrillTaskId(), recStatus, request.getRecStatus());
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1030,38 +1024,34 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
return 1;
|
|
|
}
|
|
|
//判断是否越级推荐
|
|
|
- if (request.getRecStatus()<DrillRecStatus.UNREC_NORMAL_CASE.getCode() && 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(),null);
|
|
|
+ return coreDrillTaskMapper.updateStatusById(request.getDrillTaskId(), request.getRecStatus(), null);
|
|
|
}
|
|
|
|
|
|
- private boolean isUnRecStatus(Integer recStatus)
|
|
|
- {
|
|
|
- if(recStatus.equals(DrillRecStatus.UNREC_NORMAL_CASE.getCode())
|
|
|
+ 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()))
|
|
|
- {
|
|
|
+ || recStatus.equals(DrillRecStatus.UNREC_REGION_EXCELLENT_CASE.getCode())) {
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
private int checkRecStatus(CoreDrillTask drillTask, Integer recStatus) {
|
|
|
|
|
|
// -1 为不推荐
|
|
|
if (!isUnRecStatus(recStatus) && drillTask.getRecStatus() > recStatus) {
|
|
|
return recStatus;
|
|
|
}
|
|
|
- if(recStatus.equals(DrillRecStatus.UNREC_NORMAL_CASE.getCode()))
|
|
|
- {
|
|
|
+ if (recStatus.equals(DrillRecStatus.UNREC_NORMAL_CASE.getCode())) {
|
|
|
return DrillRecStatus.NORMAL.getCode();
|
|
|
}
|
|
|
- if(recStatus.equals(DrillRecStatus.UNREC_HS_EXCELLENT_CASE.getCode()))
|
|
|
- {
|
|
|
+ if (recStatus.equals(DrillRecStatus.UNREC_HS_EXCELLENT_CASE.getCode())) {
|
|
|
return DrillRecStatus.HS_EXCELLENT_CASE.getCode();
|
|
|
}
|
|
|
|
|
|
@@ -1192,12 +1182,10 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
DrillDoStatus.WAIT_RECORDED.getCode(), DrillDoStatus.WAIT_SIGN.getCode());
|
|
|
List<PanelListVo> list = coreDrillTaskMapper.selectCurUserTaskList(panelListDto, statusList);
|
|
|
//获取需要登录人 签名的所有任务,解决人员还没签名就调动到其他机构的问题
|
|
|
- List<PanelListVo> loginUserAllNeedSignlist = coreDrillTaskMapper.selectUserAllDrillSignList(panelListDto,statusList);
|
|
|
- if(ObjectUtil.isNotEmpty(loginUserAllNeedSignlist))
|
|
|
- {
|
|
|
- loginUserAllNeedSignlist.stream().forEach(x->{
|
|
|
- if(!list.stream().anyMatch(y->ObjectUtil.equal(y.getId(),x.getId())))
|
|
|
- {
|
|
|
+ List<PanelListVo> loginUserAllNeedSignlist = coreDrillTaskMapper.selectUserAllDrillSignList(panelListDto, statusList);
|
|
|
+ if (ObjectUtil.isNotEmpty(loginUserAllNeedSignlist)) {
|
|
|
+ loginUserAllNeedSignlist.stream().forEach(x -> {
|
|
|
+ if (!list.stream().anyMatch(y -> ObjectUtil.equal(y.getId(), x.getId()))) {
|
|
|
list.add(x);
|
|
|
}
|
|
|
});
|