|
|
@@ -146,7 +146,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
// record.setStatus(DrillDoStatus.DONE.getCode());
|
|
|
// }
|
|
|
//查询已完成状态实际是查已完成和代签名状态,需要把返回数据设为已完成状态
|
|
|
- if (ObjectUtil.equal(status, DrillDoStatus.DONE.getCode())){
|
|
|
+ if (ObjectUtil.equal(status, DrillDoStatus.DONE.getCode())) {
|
|
|
record.setStatus(DrillDoStatus.DONE.getCode());
|
|
|
}
|
|
|
dealData(record, records, cacheList);
|
|
|
@@ -663,7 +663,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
request.setStartTime(DateUtil.beginOfMonth(DateUtil.beginOfDay(st)));
|
|
|
request.setEndTime(DateUtil.endOfMonth(DateUtil.endOfDay(ed)));
|
|
|
}
|
|
|
- if (ObjectUtil.isAllNotEmpty(request.getStartTime(),request.getEndTime())){
|
|
|
+ if (ObjectUtil.isAllNotEmpty(request.getStartTime(), request.getEndTime())) {
|
|
|
request.setStartTime(DateUtil.beginOfMonth(DateUtil.beginOfDay(request.getStartTime())));
|
|
|
request.setEndTime(DateUtil.endOfMonth(DateUtil.endOfDay(request.getEndTime())));
|
|
|
}
|
|
|
@@ -723,29 +723,24 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
reportVo.setShouldFinish(0);
|
|
|
reportVo.setFinish(0);
|
|
|
reportVo.setScore("0.0");
|
|
|
+ reportVo.setFinishRate("0.00");
|
|
|
} else {
|
|
|
childrenOrgData.stream().map(CoreDrillTaskReportVo::getShouldFinish).reduce(Integer::sum).ifPresent(reportVo::setShouldFinish);
|
|
|
childrenOrgData.stream().map(CoreDrillTaskReportVo::getFinish).reduce(Integer::sum).ifPresent(reportVo::setFinish);
|
|
|
reportVo.setScore(calculateScore(childrenOrgData));
|
|
|
+ reportVo.setFinishRate(calculateFinishRate(childrenOrgData));
|
|
|
}
|
|
|
result.add(reportVo);
|
|
|
}
|
|
|
}
|
|
|
- /* List<CoreDrillTaskReportVo> reportVoList = result.stream().sorted(Comparator.comparing(vo -> Double.valueOf(vo.getScore()))).collect(Collectors.toList());
|
|
|
- Collections.reverse(reportVoList);*/
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
- private void buildEmptyData(List<SysOrg> sysOrgList, List<CoreDrillTaskReportVo> result) {
|
|
|
- for (SysOrg org : sysOrgList) {
|
|
|
- CoreDrillTaskReportVo reportVo = new CoreDrillTaskReportVo();
|
|
|
- reportVo.setOrgId(org.getId());
|
|
|
- reportVo.setOrgName(org.getName());
|
|
|
- reportVo.setShouldFinish(0);
|
|
|
- reportVo.setFinish(0);
|
|
|
- reportVo.setScore("0.0");
|
|
|
- result.add(reportVo);
|
|
|
+ if (!SecurityUtils.isApp()) {
|
|
|
+ result.forEach(r -> r.setFinishRate(r.getFinishRate() + "%"));
|
|
|
+ return result;
|
|
|
}
|
|
|
+ List<CoreDrillTaskReportVo> reportVoList = result.stream().sorted(Comparator.comparing(vo -> Double.valueOf(vo.getFinishRate()))).collect(Collectors.toList());
|
|
|
+ Collections.reverse(reportVoList);
|
|
|
+ reportVoList.forEach(r -> r.setFinishRate(r.getFinishRate() + "%"));
|
|
|
+ return reportVoList;
|
|
|
}
|
|
|
|
|
|
private String calculateScore(List<CoreDrillTaskReportVo> childrenOrgData) {
|
|
|
@@ -762,6 +757,25 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
}
|
|
|
|
|
|
|
|
|
+ private String calculateFinishRate(List<CoreDrillTaskReportVo> childrenOrgData) {
|
|
|
+ //计算finish 字段总和
|
|
|
+ int finish = childrenOrgData.stream().map(CoreDrillTaskReportVo::getFinish).reduce(Integer::sum).orElse(0);
|
|
|
+ if (finish == 0) {
|
|
|
+ return "0.00";
|
|
|
+ }
|
|
|
+ int shouldFinish = childrenOrgData.stream().map(CoreDrillTaskReportVo::getShouldFinish).reduce(Integer::sum).orElse(0);
|
|
|
+ //计算完成率
|
|
|
+ BigDecimal finishBigDecimal = new BigDecimal(finish);
|
|
|
+ BigDecimal shouldFinishBigDecimal = new BigDecimal(shouldFinish);
|
|
|
+
|
|
|
+ BigDecimal divide = finishBigDecimal.divide(shouldFinishBigDecimal, 2, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
|
|
+
|
|
|
+
|
|
|
+ return divide.toString();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Integer sign(CoreDrillTaskSignDto request) {
|
|
|
@@ -985,6 +999,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
|
|
|
/**
|
|
|
* 优秀案例学习列表查询
|
|
|
+ *
|
|
|
* @param request
|
|
|
* @return
|
|
|
*/
|
|
|
@@ -1003,6 +1018,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
}
|
|
|
return TableDataInfo.build(page);
|
|
|
}
|
|
|
+
|
|
|
private void dealRecTaskListParam(CoreDrillTaskRecPageDto request) {
|
|
|
|
|
|
//App的查询, App 默认下穿
|
|
|
@@ -1011,11 +1027,10 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
request.setStartTime(DateUtil.beginOfMonth(request.getStartTime()));
|
|
|
request.setEndTime(DateUtil.endOfMonth(request.getEndTime()));
|
|
|
// 查询行社优秀
|
|
|
- if(ObjectUtil.equals(request.getRecStatus(),1))
|
|
|
- {
|
|
|
+ if (ObjectUtil.equals(request.getRecStatus(), 1)) {
|
|
|
List<SysOrgVO> sysOrgVOS = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.getSelfAndAllParentOrgs(request.getOrgId()), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
|
|
|
- String orgPath = dealRecTaskOrgPathParam(request.getOrgId(),4);
|
|
|
+ String orgPath = dealRecTaskOrgPathParam(request.getOrgId(), 4);
|
|
|
request.setOrgPath(orgPath);
|
|
|
// // 如果当前机构或者机构的上级存在 行社 取 该行社的机构Path
|
|
|
// final Optional<SysOrgVO> first = sysOrgVOS.stream().filter(x -> ObjectUtil.equal(x.getType(), 3)).findFirst();
|
|
|
@@ -1032,36 +1047,31 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
|
|
|
}
|
|
|
// 查询地区优秀
|
|
|
- else if(ObjectUtil.equals(request.getRecStatus(),3))
|
|
|
- {
|
|
|
- String orgPath = dealRecTaskOrgPathParam(request.getOrgId(),2);
|
|
|
+ else if (ObjectUtil.equals(request.getRecStatus(), 3)) {
|
|
|
+ String orgPath = dealRecTaskOrgPathParam(request.getOrgId(), 2);
|
|
|
request.setOrgPath(orgPath);
|
|
|
}
|
|
|
// 查询省级优秀
|
|
|
- else if(ObjectUtil.equals(request.getRecStatus(),5))
|
|
|
- {
|
|
|
+ else if (ObjectUtil.equals(request.getRecStatus(), 5)) {
|
|
|
// SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgById(request.getOrgId(), SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
request.setOrgPath(null);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private String dealRecTaskOrgPathParam(Long requestOrgId,Integer orgType)
|
|
|
- {
|
|
|
+ private String dealRecTaskOrgPathParam(Long requestOrgId, Integer orgType) {
|
|
|
List<SysOrgVO> sysOrgVOS = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.getSelfAndAllParentOrgs(requestOrgId), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
|
|
|
// 如果当前机构或者机构的上级存在 指定机构类型的机构 该类型的机构Path
|
|
|
final Optional<SysOrgVO> first = sysOrgVOS.stream().filter(x -> ObjectUtil.equal(x.getType(), orgType)).findFirst();
|
|
|
- if(first.isPresent())
|
|
|
- {
|
|
|
- return first.get().getPath();
|
|
|
+ if (first.isPresent()) {
|
|
|
+ return first.get().getPath();
|
|
|
}
|
|
|
// 不存在 这说明该机构是在 指定机构类型之上 取当前查询条件机构的Path
|
|
|
- else{
|
|
|
+ else {
|
|
|
final Optional<SysOrgVO> self = sysOrgVOS.stream().filter(x -> ObjectUtil.equal(x.getId(), requestOrgId)).findFirst();
|
|
|
|
|
|
- if(self.isPresent())
|
|
|
- {
|
|
|
- return self.get().getPath();
|
|
|
+ if (self.isPresent()) {
|
|
|
+ return self.get().getPath();
|
|
|
}
|
|
|
}
|
|
|
return null;
|
|
|
@@ -1357,7 +1367,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
- waitRecTaskList.removeIf(item -> DateUtil.date().before(item.getStartTime()) );
|
|
|
+ waitRecTaskList.removeIf(item -> DateUtil.date().before(item.getStartTime()));
|
|
|
waitRecTaskList.forEach(item -> {
|
|
|
item.setType(PanelTypeEnums.DRILL_REC.getCode());
|
|
|
});
|
|
|
@@ -1877,7 +1887,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
public List<String> checkTaskExit(List<String> allDrillIdList) {
|
|
|
List<Long> collect = allDrillIdList.stream().map(Long::parseLong).collect(Collectors.toList());
|
|
|
LambdaQueryWrapper<CoreDrillTask> wrapper = new LambdaQueryWrapper<>();
|
|
|
- wrapper.in(CoreDrillTask::getId,collect);
|
|
|
+ wrapper.in(CoreDrillTask::getId, collect);
|
|
|
wrapper.select(CoreDrillTask::getId);
|
|
|
List<CoreDrillTask> coreDrillTasks = baseMapper.selectList(wrapper);
|
|
|
return coreDrillTasks.stream().map(CoreDrillTask::getId).map(String::valueOf).collect(Collectors.toList());
|