Bladeren bron

Merge remote-tracking branch 'origin/master'

tjf 3 jaren geleden
bovenliggende
commit
a695df90f7

+ 22 - 10
boman-common/boman-common-core/src/main/java/com/boman/common/core/utils/DateUtils.java

@@ -79,6 +79,19 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
         return getDate() + " 00:00:00";
     }
 
+    public static String setHmsZero(Date date) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.HOUR, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.setTime(date);
+        return dateTime(calendar.getTime());
+    }
+
+    public static void main(String[] args) {
+        System.out.println(setHmsZero(new Date()));
+    }
+
 
     /**
      * 当天的开始时间
@@ -446,17 +459,16 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
         return maxDate;
     }
 
-    public static List<String> splitDate(Date startTimeDate, Date endTimeDate) {
+    public static List<Date> getWeek(Date startTimeDate) {
         if (null == startTimeDate) return Collections.emptyList();
-        if (null == endTimeDate) return Collections.emptyList();
-        List<String> weeks = new ArrayList<>(7);
-        weeks.add(dateTime1(addDay(endTimeDate, -1)));
-        weeks.add(dateTime1(addDay(endTimeDate, -2)));
-        weeks.add(dateTime1(addDay(endTimeDate, -3)));
-        weeks.add(dateTime1(addDay(endTimeDate, -4)));
-        weeks.add(dateTime1(addDay(endTimeDate, -5)));
-        weeks.add(dateTime1(addDay(endTimeDate, -6)));
-        weeks.add(dateTime1(addDay(endTimeDate, -7)));
+        List<Date> weeks = new ArrayList<>(7);
+        weeks.add(addDay(startTimeDate, -6));
+        weeks.add(addDay(startTimeDate, -5));
+        weeks.add(addDay(startTimeDate, -4));
+        weeks.add(addDay(startTimeDate, -3));
+        weeks.add(addDay(startTimeDate, -2));
+        weeks.add(addDay(startTimeDate, -1));
+        weeks.add(startTimeDate);
         return weeks;
     }
 }

+ 62 - 10
boman-web-core/src/main/java/com/boman/web/core/service/czrk/CzrkServiceImpl.java

@@ -742,8 +742,10 @@ public class CzrkServiceImpl implements ICzrkService {
     @Override
     public JSONObject hjczLine() {
         // 统计范围 从今天往前推7天
-        java.util.Date startTimeDate = DateUtils.getTodayStart(), endTimeDate = DateUtils.addDays(startTimeDate, -7);
-        String startTime = DateUtils.dateTime1(startTimeDate), endTime = DateUtils.dateTime1(endTimeDate);
+        java.util.Date startTimeDate = DateUtils.getNowDate();
+        java.util.Date endTimeDate = DateUtils.addDays(startTimeDate, -7);
+        String endTime = DateUtils.dateTime1(startTimeDate);
+        String startTime = DateUtils.dateTime1(endTimeDate);
         SysUser sysUser = AuthUtils.getLoginUser().getSysUser();
         int type = 0;
         Long areaId = null;
@@ -758,7 +760,7 @@ public class CzrkServiceImpl implements ICzrkService {
             areaId = sysUser.getDeptId();
         }
 
-        List<String> dateList = DateUtils.splitDate(startTimeDate, endTimeDate);
+        List<java.util.Date> dateList = DateUtils.getWeek(startTimeDate);
 
         // 常住人口信息
         List<Czrk> czxzs = czrkMapper.listByCzXz(startTime, endTime, type, areaId);
@@ -768,22 +770,72 @@ public class CzrkServiceImpl implements ICzrkService {
         List<Czrk> hjxzs = czrkMapper.countByHjXz(startTime, endTime, type, areaId); // 新增
         List<Czrk> hjjss = czrkMapper.countByHjJs(startTime, endTime, type, areaId);// 减少
 
-//        String lastDate = dateList.get(dateList.size() - 1);
-        for (String week : dateList) {
+        List<JSONObject> result = new ArrayList<>();
+        for (java.util.Date week : dateList) {
+            java.util.Date tomorrow = DateUtils.addDays(week, 1);
+            int czxz = 0, czjs = 0, hjxz = 0, hjjs = 0;
             JSONObject temp = new JSONObject();
-            temp.put("time", week);
-            for (Czrk czxz : czxzs) {
-                Timestamp createTime = czxz.getCreateTime();
+            for (Czrk czrkxz : czxzs) {
+                Timestamp createTime = czrkxz.getCreateTime();
+                if (createTime.after(week) && createTime.before(tomorrow)) {
+                    czxz++;
+                }
+            }
 
+            for (Czrk czrkjs : czjss) {
+                Timestamp updateTime = czrkjs.getUpdateTime();
+                if (updateTime != null) {
+                    if (updateTime.after(week) && updateTime.before(tomorrow)) {
+                        czjs++;
+                    }
+                }
             }
 
-            for (Czrk czjs : czjss) {
+            for (Czrk hjrkxz : hjxzs) {
+                Timestamp createTime = hjrkxz.getCreateTime();
+                if (createTime.after(week) && createTime.before(tomorrow)) {
+                    czxz++;
+                }
+            }
 
+            for (Czrk hjrkjs : hjjss) {
+                Timestamp updateTime = hjrkjs.getUpdateTime();
+                if (updateTime != null) {
+                    if (updateTime.after(week) && updateTime.before(tomorrow)) {
+                        czjs++;
+                    }
+                }
             }
 
+            temp.put("czxz", czxz);
+            temp.put("czjs", czjs);
+            temp.put("hjxz", hjxz);
+            temp.put("hjjs", hjjs);
+            temp.put("time", DateUtils.setHmsZero(week));
+            result.add(temp);
         }
 
-        return null;
+        // 处理成图表格式
+        List<String> xData = new ArrayList<>(7);
+        List<Integer> czxz = new ArrayList<>(7);
+        List<Integer> czjs = new ArrayList<>(7);
+        List<Integer> hjxz = new ArrayList<>(7);
+        List<Integer> hjjs = new ArrayList<>(7);
+        for (JSONObject jsonObject : result) {
+            xData.add(jsonObject.getString("time"));
+            czxz.add(jsonObject.getInteger("czxz"));
+            czjs.add(jsonObject.getInteger("czjs"));
+            hjxz.add(jsonObject.getInteger("hjxz"));
+            hjjs.add(jsonObject.getInteger("hjjs"));
+        }
+
+        JSONObject resultData = new JSONObject(5);
+        resultData.put("time", xData);
+        resultData.put("czxz", czxz);
+        resultData.put("czjs", czjs);
+        resultData.put("hjxz", hjxz);
+        resultData.put("hjjs", hjjs);
+        return resultData;
     }
 
     /**

+ 1 - 1
boman-web-core/src/main/resources/mapper/CzrkMapper.xml

@@ -627,7 +627,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
 
     <select id="countByHjJs" resultMap="CzrkResult">
-        SELECT czrk.id, czrk.create_time
+        SELECT czrk.id, czrk.update_time
         from czrk
         left join czrk_jzdz jzdz on czrk.id = jzdz.czrk_id
         where czrk.is_del = 'Y' and czrk.update_time &gt;= #{startTime} and czrk.update_time &lt;= #{endTime}