|
@@ -869,26 +869,54 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
//成都明夷电子,需要生成批量记录
|
|
|
Company company = companyMapper.selectById(companyId);
|
|
|
System.out.println(company.getCompanyName()+", date==="+date);
|
|
|
- if (company.getCompanyName().equals("成都明夷电子科技有限公司") && date != null && date.contains("@")) {
|
|
|
- String[] split = date.split("\\@");
|
|
|
- String startDate = split[0];
|
|
|
- String endDate = split[1];
|
|
|
- //删除已有的记录
|
|
|
- reportBatchMapper.delete(new QueryWrapper<ReportBatch>().eq("start_date", startDate).eq("end_date", endDate).eq("creator_id", reportList.get(0).getCreatorId()));
|
|
|
- DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
- ReportBatch batch = new ReportBatch();
|
|
|
- batch.setCreatorId(reportList.get(0).getCreatorId());
|
|
|
- batch.setState(0);
|
|
|
- batch.setCompanyId(companyId);
|
|
|
- batch.setStartDate(LocalDate.parse(startDate, dateTimeFormatter));
|
|
|
- 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());
|
|
|
- reportMapper.update(new Report().setBatchId(batch.getId()), new QueryWrapper<Report>().in("id", collect));
|
|
|
+ if (company.getCompanyName().equals("成都明夷电子科技有限公司")) {
|
|
|
+ if (date.contains("@")) {
|
|
|
+ //批量填报
|
|
|
+ String[] split = date.split("\\@");
|
|
|
+ String startDate = split[0];
|
|
|
+ String endDate = split[1];
|
|
|
+ //删除已有的记录
|
|
|
+ reportBatchMapper.delete(new QueryWrapper<ReportBatch>().eq("start_date", startDate).eq("end_date", endDate).eq("creator_id", reportList.get(0).getCreatorId()));
|
|
|
+ DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
+ ReportBatch batch = new ReportBatch();
|
|
|
+ batch.setCreatorId(reportList.get(0).getCreatorId());
|
|
|
+ batch.setState(0);
|
|
|
+ batch.setCompanyId(companyId);
|
|
|
+ batch.setStartDate(LocalDate.parse(startDate, dateTimeFormatter));
|
|
|
+ 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());
|
|
|
+ reportMapper.update(new Report().setBatchId(batch.getId()), new QueryWrapper<Report>().in("id", collect));
|
|
|
+ } else {
|
|
|
+ //每日或按周填报,为每天生成一条记录
|
|
|
+ List<LocalDate> dateList = reportList.stream().map(Report::getCreateDate).collect(Collectors.toList());
|
|
|
+ List<Report> updateBIdList = new ArrayList<>();
|
|
|
+ for (Report r : reportList) {
|
|
|
+ LocalDate curDate = r.getCreateDate();
|
|
|
+ //删除已有的记录
|
|
|
+ reportBatchMapper.delete(new QueryWrapper<ReportBatch>().eq("start_date", curDate).eq("end_date", curDate).eq("creator_id", r.getCreatorId()));
|
|
|
+
|
|
|
+ ReportBatch batch = new ReportBatch();
|
|
|
+ batch.setCreatorId(reportList.get(0).getCreatorId());
|
|
|
+ batch.setState(0);
|
|
|
+ batch.setCompanyId(companyId);
|
|
|
+ batch.setStartDate(curDate);
|
|
|
+ batch.setEndDate(curDate);
|
|
|
+ batch.setTotalWorkTime(reportList.stream().filter(item->item.getCreateDate().equals(curDate) && item.getCreatorId().equals(r.getCreatorId())).mapToDouble(Report::getWorkingTime).sum());
|
|
|
+ reportBatchMapper.insert(batch);
|
|
|
+ //更新batchId
|
|
|
+ Report uItem = new Report();
|
|
|
+ uItem.setId(r.getId());
|
|
|
+ uItem.setBatchId(batch.getId());
|
|
|
+ updateBIdList.add(uItem);
|
|
|
+ }
|
|
|
+ reportService.updateBatchById(updateBIdList);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
} else {
|
|
|
//没有需要更新的,则
|