|
@@ -705,22 +705,34 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
}
|
|
|
Project project = allProjectList.stream().filter(p -> p.getId().equals(r.getProjectId())).findFirst().get();
|
|
|
//处理维度列表数据
|
|
|
- if (timeTypeMapper.selectById(companyId).getCustomDegreeActive() == 1) {
|
|
|
- String associateDegrees = project.getAssociateDegrees();
|
|
|
- List<HashMap> degreeMapList = new ArrayList<>();
|
|
|
- if (associateDegrees != null) {
|
|
|
- String[] split = associateDegrees.split("\\,");
|
|
|
- for (int i=0;i<split.length; i++) {
|
|
|
- HashMap map = new HashMap();
|
|
|
- if (!StringUtils.isEmpty(split[i])) {
|
|
|
- Integer id = Integer.parseInt(split[i]);
|
|
|
- map.put("id", id);
|
|
|
- map.put("name", degreeList.stream().filter(d->d.getId().equals(id)).findFirst().get().getName());
|
|
|
- degreeMapList.add(map);
|
|
|
+ if (timeType.getCustomDegreeActive() == 1) {
|
|
|
+ if (timeType.getCustomDegreeWithPro() == 1) {
|
|
|
+ String associateDegrees = project.getAssociateDegrees();
|
|
|
+ List<HashMap> degreeMapList = new ArrayList<>();
|
|
|
+ if (associateDegrees != null) {
|
|
|
+ String[] split = associateDegrees.split("\\,");
|
|
|
+ for (int i=0;i<split.length; i++) {
|
|
|
+ HashMap map = new HashMap();
|
|
|
+ if (!StringUtils.isEmpty(split[i])) {
|
|
|
+ Integer id = Integer.parseInt(split[i]);
|
|
|
+ map.put("id", id);
|
|
|
+ map.put("name", degreeList.stream().filter(d->d.getId().equals(id)).findFirst().get().getName());
|
|
|
+ degreeMapList.add(map);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ r.setDegreeList(degreeMapList);
|
|
|
+ } else {
|
|
|
+ //不关联项目
|
|
|
+ List<HashMap> degreeMapList = new ArrayList<>();
|
|
|
+ for (int i=0;i<degreeList.size(); i++) {
|
|
|
+ HashMap map = new HashMap();
|
|
|
+ map.put("id", degreeList.get(i).getId());
|
|
|
+ map.put("name", degreeList.get(i).getName());
|
|
|
+ degreeMapList.add(map);
|
|
|
+ }
|
|
|
+ r.setDegreeList(degreeMapList);
|
|
|
}
|
|
|
- r.setDegreeList(degreeMapList);
|
|
|
}
|
|
|
//检查是否是按照任务分组负责人审核
|
|
|
int reportAuditType = timeTypeMapper.selectById(companyId).getReportAuditType();
|
|
@@ -8798,7 +8810,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
reports.add(recentFillReport);
|
|
|
}
|
|
|
} else {
|
|
|
- msg.setError("请先设置参与的项目");
|
|
|
+ msg.setError("您尚未填写过日报,无法实现智能填报");
|
|
|
return msg;
|
|
|
}
|
|
|
}
|
|
@@ -8835,23 +8847,37 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
}
|
|
|
|
|
|
//处理维度列表数据
|
|
|
- if (timeTypeMapper.selectById(companyId).getCustomDegreeActive() == 1) {
|
|
|
- Project project = allProjectList.stream().filter(p -> p.getId().equals(r.getProjectId())).findFirst().get();
|
|
|
- String associateDegrees = project.getAssociateDegrees();
|
|
|
- List<HashMap> degreeMapList = new ArrayList<>();
|
|
|
- if (associateDegrees != null) {
|
|
|
- String[] split = associateDegrees.split("\\,");
|
|
|
- for (int i=0;i<split.length; i++) {
|
|
|
- HashMap map = new HashMap();
|
|
|
- if (!StringUtils.isEmpty(split[i])) {
|
|
|
- Integer id = Integer.parseInt(split[i]);
|
|
|
- map.put("id", id);
|
|
|
- map.put("name", degreeList.stream().filter(d->d.getId().equals(id)).findFirst().get().getName());
|
|
|
- degreeMapList.add(map);
|
|
|
+ TimeType timeType = timeTypeMapper.selectById(companyId);
|
|
|
+ if (timeType.getCustomDegreeActive() == 1) {
|
|
|
+ if (timeType.getCustomDegreeWithPro() == 1) {
|
|
|
+ //和项目绑定的自定义维度
|
|
|
+ Project project = allProjectList.stream().filter(p -> p.getId().equals(r.getProjectId())).findFirst().get();
|
|
|
+ String associateDegrees = project.getAssociateDegrees();
|
|
|
+ List<HashMap> degreeMapList = new ArrayList<>();
|
|
|
+ if (associateDegrees != null) {
|
|
|
+ String[] split = associateDegrees.split("\\,");
|
|
|
+ for (int i=0;i<split.length; i++) {
|
|
|
+ HashMap map = new HashMap();
|
|
|
+ if (!StringUtils.isEmpty(split[i])) {
|
|
|
+ Integer id = Integer.parseInt(split[i]);
|
|
|
+ map.put("id", id);
|
|
|
+ map.put("name", degreeList.stream().filter(d->d.getId().equals(id)).findFirst().get().getName());
|
|
|
+ degreeMapList.add(map);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ r.setDegreeList(degreeMapList);
|
|
|
+ } else {
|
|
|
+ //不关联项目
|
|
|
+ List<HashMap> degreeMapList = new ArrayList<>();
|
|
|
+ for (int i=0;i<degreeList.size(); i++) {
|
|
|
+ HashMap map = new HashMap();
|
|
|
+ map.put("id", degreeList.get(i).getId());
|
|
|
+ map.put("name", degreeList.get(i).getName());
|
|
|
+ degreeMapList.add(map);
|
|
|
+ }
|
|
|
+ r.setDegreeList(degreeMapList);
|
|
|
}
|
|
|
- r.setDegreeList(degreeMapList);
|
|
|
}
|
|
|
int reportAuditType = timeTypeMapper.selectById(companyId).getReportAuditType();
|
|
|
//分组
|
|
@@ -8957,6 +8983,18 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
} else {
|
|
|
//4和5是所属BU负责人审核和部门负责人审核,不需要前端页面显示审核人
|
|
|
}
|
|
|
+
|
|
|
+ //解析自定义多选数组
|
|
|
+ if (!StringUtils.isEmpty(r.getMultiDegrId())) {
|
|
|
+ String multi = r.getMultiDegrId().replace("@", ",");
|
|
|
+ JSONArray array = JSONArray.parseArray(multi);
|
|
|
+ List<Integer> list = new ArrayList<>();
|
|
|
+ for (int i=0;i<array.size(); i++) {
|
|
|
+ Integer id = array.getInteger(i);
|
|
|
+ list.add(id);
|
|
|
+ }
|
|
|
+ r.setMultiDegrIdList(list);
|
|
|
+ }
|
|
|
});
|
|
|
msg.data = reports;
|
|
|
} catch (NullPointerException e) {
|