|
@@ -1044,8 +1044,12 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
public HttpRespMsg editReport(List<Report> reportList, String date, List<User> userList, BigDecimal hourCost, Integer companyId, String summary) {
|
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
|
TimeType timeType = timeTypeMapper.selectById(companyId);
|
|
|
+ if ("null".equals(summary)) {
|
|
|
+ summary = null;
|
|
|
+ }
|
|
|
//删除不在本次更新名单中的老记录
|
|
|
List<Integer> idList = reportList.stream().filter(r->r.getId() != null).map(Report::getId).collect(Collectors.toList());
|
|
|
+ List<Report> allDateReportList = reportList;
|
|
|
//只有填写日报的report才会有id, 前端会把全部状态的日报都传过来
|
|
|
if (idList.size() > 0) {
|
|
|
if (date != null && !date.contains("@")) {
|
|
@@ -1101,8 +1105,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
reportService.saveOrUpdateBatch(reportList);
|
|
|
//成都明夷电子,需要生成批量记录
|
|
|
Company company = companyMapper.selectById(companyId);
|
|
|
- System.out.println(company.getCompanyName()+", date==="+date);
|
|
|
-
|
|
|
if (company.getCompanyName().equals("成都明夷电子科技有限公司") || timeType.getEnableNewWeeklyfill() == 1) {//物奇需要填写周总结
|
|
|
if (date.contains("@")) {
|
|
|
//批量填报
|
|
@@ -1120,7 +1122,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
batch.setEndDate(LocalDate.parse(endDate, dateTimeFormatter));
|
|
|
batch.setTotalWorkTime(reportList.stream().mapToDouble(Report::getWorkingTime).sum());
|
|
|
reportBatchMapper.insert(batch);
|
|
|
- System.out.println("生成了批记录batchId==="+batch.getId());
|
|
|
//更新batchId
|
|
|
reportList.forEach(r->r.setBatchId(batch.getId()));
|
|
|
List<Integer> collect = reportList.stream().map(Report::getId).collect(Collectors.toList());
|
|
@@ -1133,7 +1134,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
//按周填报,需要保存周总结
|
|
|
//获取本周开始和结束的日期
|
|
|
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
- HttpRespMsg retMsg = getWeeklyFillReportData(dtf.format(dateList.get(0)), request);
|
|
|
+ HttpRespMsg retMsg = getWeeklyFillReportData(date, request);
|
|
|
HashMap mapItem = (HashMap)retMsg.data;
|
|
|
List<HashMap> dateRange = (List<HashMap>)mapItem.get("dateList");
|
|
|
LocalDate minDate = LocalDate.parse((String)dateRange.get(0).get("date"), dtf);
|
|
@@ -1148,11 +1149,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
batch.setEndDate(maxDate);
|
|
|
//周总结
|
|
|
batch.setSummary(summary);
|
|
|
- batch.setTotalWorkTime(reportList.stream().filter(item->item.getCreatorId().equals(creatorId)).mapToDouble(Report::getWorkingTime).sum());
|
|
|
+ batch.setTotalWorkTime(allDateReportList.stream().filter(item->item.getCreatorId().equals(creatorId)).mapToDouble(Report::getWorkingTime).sum());
|
|
|
reportBatchMapper.insert(batch);
|
|
|
//更新batchId
|
|
|
- List<Integer> curDateReportIds = reportList.stream().map(Report::getId).collect(Collectors.toList());
|
|
|
- System.out.println("curDateReportIds=="+curDateReportIds.size());
|
|
|
+ List<Integer> curDateReportIds = allDateReportList.stream().map(Report::getId).collect(Collectors.toList());
|
|
|
reportMapper.update(new Report().setBatchId(batch.getId()), new QueryWrapper<Report>().in("id", curDateReportIds));
|
|
|
} else {
|
|
|
for (LocalDate curDate : dateList) {
|