Эх сурвалжийг харах

处理日期预收、收支查询问题的bug

hxl13994548489 2 жил өмнө
parent
commit
6267a85154

+ 26 - 21
src/main/java/com/ydtech/modules/admin/service/impl/SysUserAccountServiceImpl.java

@@ -917,29 +917,34 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
         HashMap<String,String> map =new HashMap<>();
         String  startDateStr="";
         String  endDateStr="";
-        if("0".equals(type)){
-            //全部
-            startDateStr=null;
-            endDateStr=null;
-        }else if("1".equals(type)){
-            // 一周内
-            startDateStr=SliceUpDateUtil.getWeekFirstAndLastDay(new Date(),1)+" 00:00:00";
-            endDateStr=SliceUpDateUtil.getWeekFirstAndLastDay(new Date(),2)+" 23:59:59";
-        }else if("2".equals(type)){
-            // 一月内
-            startDateStr=SliceUpDateUtil.getMonthFirstAndLastDay(new Date(),1)+" 00:00:00";
-            endDateStr=SliceUpDateUtil.getMonthFirstAndLastDay(new Date(),2)+" 23:59:59";
-        }else if("3".equals(type)){
-            // 三月内
-            startDateStr=SliceUpDateUtil.getThreeMonthFirstAndLastDay(new Date(),1,3)+" 00:00:00";
-            endDateStr=SliceUpDateUtil.getThreeMonthFirstAndLastDay(new Date(),2,3)+" 23:59:59";
-        }else if("4".equals(type)){
-            // 三月内
-            startDateStr=SliceUpDateUtil.getThreeMonthFirstAndLastDay(new Date(),1,6)+" 00:00:00";
-            endDateStr=SliceUpDateUtil.getThreeMonthFirstAndLastDay(new Date(),2,6)+" 23:59:59";
-        }else{
+        if(StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)){
             startDateStr= StringUtils.isNotBlank(startDate)?startDate+" 00:00:00":null;
             endDateStr= StringUtils.isNotBlank(endDate)?endDate+" 23:59:59":null;
+        }else{
+            if("0".equals(type)){
+                //全部
+                startDateStr=null;
+                endDateStr=null;
+            }else if("1".equals(type)){
+                // 一周内
+                startDateStr=SliceUpDateUtil.getBeforeDay(new Date(),1)+" 00:00:00";
+                endDateStr=SliceUpDateUtil.getBeforeDay(new Date(),0)+" 23:59:59";
+            }else if("2".equals(type)){
+                // 一月内
+                startDateStr=SliceUpDateUtil.getBeforeDay(new Date(),2)+" 00:00:00";
+                endDateStr=SliceUpDateUtil.getBeforeDay(new Date(),0)+" 23:59:59";
+            }else if("3".equals(type)){
+                // 三月内
+                startDateStr=SliceUpDateUtil.getBeforeDay(new Date(),3)+" 00:00:00";
+                endDateStr=SliceUpDateUtil.getBeforeDay(new Date(),0)+" 23:59:59";
+            }else if("4".equals(type)){
+                // 三月内
+                startDateStr=SliceUpDateUtil.getBeforeDay(new Date(),4)+" 00:00:00";
+                endDateStr=SliceUpDateUtil.getBeforeDay(new Date(),0)+" 23:59:59";
+            }else{
+                startDateStr= StringUtils.isNotBlank(startDate)?startDate+" 00:00:00":null;
+                endDateStr= StringUtils.isNotBlank(endDate)?endDate+" 23:59:59":null;
+            }
         }
         map.put("startDate",startDateStr);
         map.put("endDate",endDateStr);

+ 22 - 0
src/main/java/com/ydtech/modules/admin/utils/SliceUpDateUtil.java

@@ -176,4 +176,26 @@ public class SliceUpDateUtil {
         }
         return lastDayStr;
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/24 11:36
+     *  @Description: 过去时间的计算
+     */
+    public static String getBeforeDay(Date date, int type){
+        Calendar c = Calendar.getInstance();
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        c.setTime(date);
+        if(0==type){
+        }else if(1==type){
+            c.add(Calendar.DATE, - 7);
+        }else if(2==type){
+            c.add(Calendar.MONTH, -1);
+        }else if(3==type){
+            c.add(Calendar.MONTH, -3);
+        }else if(4==type){
+            c.add(Calendar.MONTH, -6);
+        }
+        return format.format(c.getTime());
+    }
 }