|
@@ -1242,7 +1242,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
reportService.saveOrUpdateBatch(reportList);
|
|
|
//成都明夷电子,需要生成批量记录
|
|
|
Company company = companyMapper.selectById(companyId);
|
|
|
- if (company.getCompanyName().equals("成都明夷电子科技有限公司") || timeType.getEnableNewWeeklyfill() == 1) {//物奇需要填写周总结
|
|
|
+ if (company.getCompanyName().equals("成都明夷电子科技有限公司") || timeType.getEnableNewWeeklyfill() == 1 || timeType.getWeeklyChargeFilter() == 1) {//物奇需要填写周总结
|
|
|
if (date.contains("@")) {
|
|
|
//批量填报
|
|
|
String[] split = date.split("\\@");
|
|
@@ -1267,15 +1267,26 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
//每日或按周填报,为每天生成一条记录; 每日或者按周填报时,填报人就是操作人自己,不存在代填的情况
|
|
|
List<LocalDate> dateList = reportList.stream().map(Report::getCreateDate).distinct().collect(Collectors.toList());
|
|
|
String creatorId = reportList.get(0).getCreatorId();
|
|
|
- if (timeType.getEnableNewWeeklyfill() == 1) {
|
|
|
+ if (timeType.getEnableNewWeeklyfill() == 1 || timeType.getWeeklyChargeFilter() == 1) {
|
|
|
//按周填报,需要保存周总结
|
|
|
//获取本周开始和结束的日期
|
|
|
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
- 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);
|
|
|
- LocalDate maxDate = LocalDate.parse((String)dateRange.get(dateRange.size()-1).get("date"), dtf);
|
|
|
+ LocalDate minDate, maxDate;
|
|
|
+ if (timeType.getEnableNewWeeklyfill() == 1) {
|
|
|
+ HttpRespMsg retMsg = getWeeklyFillReportData(date, request);
|
|
|
+ HashMap mapItem = (HashMap)retMsg.data;
|
|
|
+ List<HashMap> dateRange = (List<HashMap>)mapItem.get("dateList");
|
|
|
+ minDate = LocalDate.parse((String)dateRange.get(0).get("date"), dtf);
|
|
|
+ maxDate = LocalDate.parse((String)dateRange.get(dateRange.size()-1).get("date"), dtf);
|
|
|
+ } else if (timeType.getWeeklyChargeFilter() == 1) {
|
|
|
+ //根据targetDate获取本周的日期
|
|
|
+ LocalDate inWeekDate = dateList.get(0);
|
|
|
+ minDate = inWeekDate.with(DayOfWeek.MONDAY);
|
|
|
+ maxDate = inWeekDate.with(DayOfWeek.SUNDAY);
|
|
|
+ } else {
|
|
|
+ minDate = dateList.get(0);
|
|
|
+ maxDate = dateList.get(0);
|
|
|
+ }
|
|
|
//删除已有的记录
|
|
|
reportBatchMapper.delete(new QueryWrapper<ReportBatch>().eq("start_date", minDate).eq("end_date", maxDate).eq("creator_id", creatorId));
|
|
|
ReportBatch batch = new ReportBatch();
|