Browse Source

Merge branch 'master' of http://47.100.37.243:10191/wutt/manHourHousekeeper

zhouyy 4 tháng trước cách đây
mục cha
commit
5a4cb4e04a

+ 18 - 7
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -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();