wangbo 3 years ago
parent
commit
70a44fd422

+ 28 - 2
operation_manager/src/main/java/com/huaxu/order/controller/WorkOrderStatisticsController.java

@@ -200,7 +200,12 @@ public class WorkOrderStatisticsController {
             case 1:
                 maintainerCount = userCenterClient.findMaintainerCount(String.format("%s-12",startDate));
                 startDate = String.format("%s-01-01", startDate);
-                endDate = subYear(startDate, 1);
+                if(isCurrentYear(startDate)==true){
+                    endDate = String.format("%s-%s-01", localDate.getYear(),localDate.getDayOfMonth()+2);
+                }
+                else {
+                    endDate = subYear(startDate, 1);
+                }
                 break;
             case 2:
                 maintainerCount = userCenterClient.findMaintainerCount(endDate);
@@ -311,7 +316,12 @@ public class WorkOrderStatisticsController {
                 break;
             case 1:
                 startDate = String.format("%s-01-01", startDate);
-                endDate = subYear(startDate, 1);
+                if(isCurrentYear(startDate)==true){
+                    endDate = String.format("%s-%s-01", localDate.getYear(),localDate.getDayOfMonth()+2);
+                }
+                else {
+                    endDate = subYear(startDate, 1);
+                }
                 break;
             case 2:
                 startDate = String.format("%s-01", startDate);
@@ -481,4 +491,20 @@ public class WorkOrderStatisticsController {
         }
         return false;
     }
+
+    /**
+     * 日期是否当前月份
+     */
+    public boolean isCurrentYear(String date) throws ParseException {
+        LocalDate localDate = LocalDate.now();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date dt = sdf.parse(date);
+        Calendar rightNow = Calendar.getInstance();
+        rightNow.setTime(dt);
+        int y = rightNow.get(Calendar.YEAR);
+        if( y== localDate.getYear()){
+            return true;
+        }
+        return false;
+    }
 }

+ 1 - 1
operation_manager/src/main/java/com/huaxu/order/service/WorkOrderManageService.java

@@ -95,7 +95,7 @@ public interface WorkOrderManageService {
 
     List<Map<String,Object>> eventMonthStatistics(@Param("order") WorkOrderManageDto workOrderManageDto) throws ParseException;
 
-    List<Map<String,Object>> eventYearStatistics(@Param("order") WorkOrderManageDto workOrderManageDto);
+    List<Map<String,Object>> eventYearStatistics(@Param("order") WorkOrderManageDto workOrderManageDto) throws ParseException;
     /**
      * 待处理权限
      */

+ 3 - 2
operation_manager/src/main/java/com/huaxu/order/service/impl/WorkOrderManageServiceImpl.java

@@ -183,10 +183,11 @@ public class WorkOrderManageServiceImpl implements WorkOrderManageService {
     }
 
     @Override
-    public List<Map<String, Object>> eventYearStatistics(WorkOrderManageDto workOrderManageDto) {
+    public List<Map<String, Object>> eventYearStatistics(WorkOrderManageDto workOrderManageDto) throws ParseException {
+        int months = differentMonths(workOrderManageDto.getStartDate(),workOrderManageDto.getEndDate());
         List<Map<String,Object>> list = workOrderManageMapper.eventYearStatistics(workOrderManageDto);
         List<Map<String,Object>> result = new ArrayList<Map<String,Object>>();
-        for(int i=0; i<12; i++) {
+        for(int i=0; i<months; i++) {
             String strDate = workOrderManageDto.getStartDate().substring(0, 4) + String.format("-%02d", i + 1);
             Map<String, Object> data = new HashMap<>();
             data.put("数量", 0);

+ 23 - 1
sms_water/src/main/java/com/huaxu/controller/SceneController.java

@@ -338,7 +338,12 @@ public class SceneController {
                 break;
             case 1:
                 startDate = String.format("%s-01-01", startDate);
-                endDate = subYear(startDate, 1);
+                if(isCurrentYear(startDate)==true){
+                    endDate = String.format("%s-%s-01", localDate.getYear(),localDate.getDayOfMonth()+2);
+                }
+                else {
+                    endDate = subYear(startDate, 1);
+                }
                 break;
             case 2:
                 startDate = String.format("%s-01", startDate);
@@ -495,4 +500,21 @@ public class SceneController {
             return pattern.matcher(str).matches();
         }
     }
+
+
+    /**
+     * 日期是否当前月份
+     */
+    public boolean isCurrentYear(String date) throws ParseException {
+        LocalDate localDate = LocalDate.now();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date dt = sdf.parse(date);
+        Calendar rightNow = Calendar.getInstance();
+        rightNow.setTime(dt);
+        int y = rightNow.get(Calendar.YEAR);
+        if( y== localDate.getYear()){
+            return true;
+        }
+        return false;
+    }
 }