shiqian пре 3 година
родитељ
комит
52c0ff5b97

+ 2 - 0
boman-api/boman-domain/src/main/java/com/boman/domain/Czrk.java

@@ -226,7 +226,9 @@ public class Czrk extends BaseEntity{
     private String deleteReason;
     private String remark;
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private java.sql.Timestamp createTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private java.sql.Timestamp updateTime;
     private String createBy;
     private String updateBy;

+ 5 - 0
boman-web-core/src/main/java/com/boman/web/core/mapper/CzrkMapper.java

@@ -110,14 +110,19 @@ public interface CzrkMapper {
 
     int countHj(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("type") int type, @Param("areaId") Long areaId);
 
+    int countAll();
     int countHj1(@Param("deptIdList") List<Long> deptIdList);
     int countCz1(@Param("deptIdList") List<Long> deptIdList);
 
     int countByHjXz1(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deptIdList") List<Long> deptIdList);
     int countByHjJs1(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deptIdList") List<Long> deptIdList);
+    List<Czrk> listByHjXz1(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deptIdList") List<Long> deptIdList);
+    List<Czrk> listByHjJs1(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deptIdList") List<Long> deptIdList);
 
     int countByCzXz1(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deptIdList") List<Long> deptIdList);
+    List<Czrk> listByCzXz1(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deptIdList") List<Long> deptIdList);
     int countByCzJs1(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deptIdList") List<Long> deptIdList);
+    List<Czrk> listByCzJs1(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deptIdList") List<Long> deptIdList);
 
     Czrk getHzByCode(String code);
 }

+ 116 - 130
boman-web-core/src/main/java/com/boman/web/core/service/czrk/CzrkServiceImpl.java

@@ -105,7 +105,7 @@ public class CzrkServiceImpl implements ICzrkService {
 //        List<Czrk> czrks = czrkMapper.listByRlryRel(czrk);
         List<Czrk> czrks = czrkMapper.listByRlry(czrk);
 //        List<CzrkJzdz> czrkJzdzs = getCzrkJzdzs(czrks);
-        handleList1(czrks);
+        packAddr(czrks);
 //        handleList(czrks, Czrk.HJ, czrkJzdzs);
         return czrks;
     }
@@ -129,7 +129,7 @@ public class CzrkServiceImpl implements ICzrkService {
         czrk.setEndTime(DateUtils.getTodayEndStr());
         startPage();
         List<Czrk> czrks = czrkMapper.listByXz(czrk);
-        handleList1(czrks);
+        packAddr(czrks);
         return czrks;
     }
 
@@ -141,7 +141,7 @@ public class CzrkServiceImpl implements ICzrkService {
         czrk.setEndTime(DateUtils.getTodayEndStr());
         startPage();
         List<Czrk> czrks = czrkMapper.listByJs(czrk);
-        handleList1(czrks);
+        packAddr(czrks);
         return czrks;
     }
 
@@ -164,7 +164,7 @@ public class CzrkServiceImpl implements ICzrkService {
         }
     }
 
-    private void handleList1(List<Czrk> czrks) {
+    private void packAddr(List<Czrk> czrks) {
         if (isEmpty(czrks)) return;
         for (Czrk crk : czrks) {
             // 户籍地
@@ -580,39 +580,23 @@ public class CzrkServiceImpl implements ICzrkService {
 
                 result.put("zu", isEmpty(zuDept) ? 0 : zuDept.size()); // 组
 
-                // 常住人口信息 areaId 为潜山市的为常住人口
-                int type = 3;
-                int czzrs = czrkMapper.countCzrk(type, areaId); // 常住人口
-                result.put("czzrs", czzrs);
+                List<Long> deptIdList = null;
+                int zrs = czrkMapper.countAll(); // 总人数
+                int hjzrs = czrkMapper.countHj1(deptIdList); // 该镇户籍人口总数
+                result.put("hjzrs", hjzrs);
+                int hjxz = czrkMapper.countByHjXz1(startTime, endTime, deptIdList); // 该镇 户籍人口今日新增
+                result.put("hjxz", hjxz);
+                int hjjs = czrkMapper.countByHjJs1(startTime, endTime, deptIdList); // 该镇 户籍人口今日减少
+                result.put("hjjs", hjjs);
+                result.put("hjbfb", NumberUtils.percent(hjzrs, zrs));
 
-                int czxz = czrkMapper.countByCzXz(startTime, endTime, type, areaId); // 新增
-                int czjs = czrkMapper.countByCzJs(startTime, endTime, type, areaId);// 减少
+                int czzrs = czrkMapper.countCz1(deptIdList);  // 该镇常住人口总数
+                result.put("czzrs", czzrs);
+                int czxz = czrkMapper.countByCzXz1(startTime, endTime, deptIdList); // 该镇 常住人口今日新增
+                int czjs = czrkMapper.countByCzJs1(startTime, endTime, deptIdList); // 该镇 常住人口今日减少
                 result.put("czxz", czxz);
                 result.put("czjs", czjs);
-
-                // condition.setIsRl(null); // 查全部
-                type = 0;
-                int zrs = czrkMapper.countCzrk(type, areaId);
-                String czbfb = NumberUtils.percent(czzrs, zrs);
-                result.put("czbfb", czbfb);
-                result.put("zrs", zrs);
-
-                // 户籍人口信息
-                // 户籍总人数
-                int hjzrs = czrkMapper.countHj(startTime, endTime, type, areaId);
-//                int hjzrs= isEmpty(hjzrsList) ? 0 : hjzrsList.size();
-                result.put("hjzrs", hjzrs);
-
-                // 户籍人口信息 新增 减少
-                type = 3; // regionId
-                int hjxzs = czrkMapper.countByHjXz(startTime, endTime, type, areaId); // 新增
-                int hjjss = czrkMapper.countByHjJs(startTime, endTime, type, areaId);// 减少
-                result.put("hjxz", hjxzs);
-                result.put("hjjs", hjjss);
-
-                // 户籍人口信息 百分比
-                String hjbfb = NumberUtils.percent(hjzrs, zrs);
-                result.put("hjbfb", hjbfb);
+                result.put("czbfb", NumberUtils.percent(czzrs, zrs));
                 setIntoRedis(packRedisKey("single:" + deptId), result);
                 QIANSHANSHI_SINGEL = result;
             });
@@ -648,8 +632,8 @@ public class CzrkServiceImpl implements ICzrkService {
 
         List<String> roleKeySets = map(sysUser.getRoles(), SysRole::getRoleKey);
 
-        String todayStart = DateUtils.getTodayStartStr();
-        String todayEnd = DateUtils.getTodayEndStr();
+        String startTime = DateUtils.getTodayStartStr();
+        String endTime = DateUtils.getTodayEndStr();
         Long deptId = sysUser.getDeptId();
 
         // 市领导 todo 此处不应该写死
@@ -661,7 +645,7 @@ public class CzrkServiceImpl implements ICzrkService {
             }
 
             ThreadPoolService.execute(() -> {
-                Long areaId = 340882000000L; //潜山市
+                //潜山市
                 List<SysDept> allDepts = remoteDeptService.listChildrenDepts(1L);
                 List<SysDept> townsDepts = new ArrayList<>(16);
                 for (SysDept allDept : allDepts) {
@@ -683,39 +667,23 @@ public class CzrkServiceImpl implements ICzrkService {
                 }
                 result.put("cun", isEmpty(cunDepts) ? 0 : cunDepts.size());
 
-                // 常住人口信息 需要用到deptId
-                int type = 3;
-                int czzrs = czrkMapper.countCzrk(type, areaId); // 常住人口
-                result.put("czzrs", czzrs);
+                List<Long> deptIdList = null;
+                int zrs = czrkMapper.countAll(); // 总人数
+                int hjzrs = czrkMapper.countHj1(deptIdList); // 该镇户籍人口总数
+                result.put("hjzrs", hjzrs);
+                int hjxz = czrkMapper.countByHjXz1(startTime, endTime, deptIdList); // 该镇 户籍人口今日新增
+                result.put("hjxz", hjxz);
+                int hjjs = czrkMapper.countByHjJs1(startTime, endTime, deptIdList); // 该镇 户籍人口今日减少
+                result.put("hjjs", hjjs);
+                result.put("hjbfb", NumberUtils.percent(hjzrs, zrs));
 
-                int czxz = czrkMapper.countByCzXz(todayStart, todayEnd, type, areaId); // 新增
-                int czjs = czrkMapper.countByCzJs(todayStart, todayEnd, type, areaId);// 减少
+                int czzrs = czrkMapper.countCz1(deptIdList);  // 该镇常住人口总数
+                result.put("czzrs", czzrs);
+                int czxz = czrkMapper.countByCzXz1(startTime, endTime, deptIdList); // 该镇 常住人口今日新增
+                int czjs = czrkMapper.countByCzJs1(startTime, endTime, deptIdList); // 该镇 常住人口今日减少
                 result.put("czxz", czxz);
                 result.put("czjs", czjs);
-
-                // condition.setIsRl(null); // 查全部
-                type = 0;
-                int zrs = czrkMapper.countCzrk(type, areaId);
-                String czbfb = NumberUtils.percent(czzrs, zrs);
-                result.put("czbfb", czbfb);
-                result.put("zrs", zrs);
-
-                // 户籍人口信息
-                // 户籍总人数
-                int hjzrs = czrkMapper.countHj(todayStart, todayEnd, type, areaId);
-//                int hjzrs= isEmpty(hjzrsList) ? 0 : hjzrsList.size();
-                result.put("hjzrs", hjzrs);
-
-                // 户籍人口信息 新增 减少
-                type = 3; // regionId
-                int hjxzs = czrkMapper.countByHjXz(todayStart, todayEnd, type, areaId); // 新增
-                int hjjss = czrkMapper.countByHjJs(todayStart, todayEnd, type, areaId);// 减少
-                result.put("hjxz", hjxzs);
-                result.put("hjjs", hjjss);
-
-                // 户籍人口信息 百分比
-                String hjbfb = NumberUtils.percent(hjzrs, zrs);
-                result.put("hjbfb", hjbfb);
+                result.put("czbfb", NumberUtils.percent(czzrs, zrs));
 
                 // 以各个镇为单位单独处理 townsDepts
                 ArrayList<JSONObject> towsDataList = new ArrayList<>(20);
@@ -746,25 +714,39 @@ public class CzrkServiceImpl implements ICzrkService {
             });
 
             return ZHEN;
-        }/*else if (roleKeySets.contains("village")) {
+        }else if (roleKeySets.contains("village")) {
             JSONObject jsonObject = redisService.getCacheObject(packRedisKey("village:" + deptId));
             if (isNotEmpty(jsonObject)) {
-                ZHEN = jsonObject;
+                CUN = jsonObject;
                 return jsonObject;
             }
 
             ThreadPoolService.execute(() -> {
-                String startTime = DateUtils.getTodayStartStr();
-                String endTime = DateUtils.getTodayEndStr();
                 List<SysDept> depts = remoteDeptService.listChildrenDepts(deptId);
                 result.put("dqdw", deptName);
 
+                List<Long> deptIdList = map(depts, SysDept::getId);
+                int zrs = czrkMapper.countAll(); // 总人数
+                int hjzrs = czrkMapper.countHj1(deptIdList); // 该镇户籍人口总数
+                result.put("hjzrs", hjzrs);
+                int hjxz = czrkMapper.countByHjXz1(startTime, endTime, deptIdList); // 该镇 户籍人口今日新增
+                result.put("hjxz", hjxz);
+                int hjjs = czrkMapper.countByHjJs1(startTime, endTime, deptIdList); // 该镇 户籍人口今日减少
+                result.put("hjjs", hjjs);
+                result.put("hjbfb", NumberUtils.percent(hjzrs, zrs));
 
+                int czzrs = czrkMapper.countCz1(deptIdList);  // 该镇常住人口总数
+                result.put("czzrs", czzrs);
+                int czxz = czrkMapper.countByCzXz1(startTime, endTime, deptIdList); // 该镇 常住人口今日新增
+                int czjs = czrkMapper.countByCzJs1(startTime, endTime, deptIdList); // 该镇 常住人口今日减少
+                result.put("czxz", czxz);
+                result.put("czjs", czjs);
+                result.put("czbfb", NumberUtils.percent(czzrs, zrs));
                 setIntoRedis(packRedisKey("village:" + deptId), result);
             });
 
             return CUN;
-        }*/
+        }
 
         return result;
     }
@@ -772,7 +754,6 @@ public class CzrkServiceImpl implements ICzrkService {
     private void townSts(JSONObject result, Long deptId, String deptName, boolean percent) {
         String startTime = DateUtils.getTodayStartStr();
         String endTime = DateUtils.getTodayEndStr();
-        Long areaId = deptId;
         // 乡镇以下的所有部门
         List<SysDept> depts = remoteDeptService.listChildrenDepts(deptId);
         List<SysDept> cunDepts = new ArrayList<>(16);
@@ -796,60 +777,66 @@ public class CzrkServiceImpl implements ICzrkService {
         result.put("zu", isEmpty(zuDept) ? 0 : zuDept.size());
 
         /** **/
-//        List<Long> deptIdList = map(depts, SysDept::getId);
-//        int hjzrs = czrkMapper.countHj1(deptIdList); // 该镇户籍人口总数
-//        result.put("hjzrs", hjzrs);
-//        int hjxz = czrkMapper.countByHjXz1(startTime, endTime, deptIdList); // 该镇 户籍人口今日新增
-//        result.put("hjxz", hjxz);
-//        int hjjs = czrkMapper.countByHjJs1(startTime, endTime, deptIdList); // 该镇 户籍人口今日减少
-//        result.put("hjjs", hjjs);
-//
-//        // 该镇常住人口总数
-//        int czzrs = czrkMapper.countCz1(deptIdList);
-//        result.put("czzrs", czzrs);
-//        int czxz = czrkMapper.countByCzXz1(startTime, endTime, deptIdList); // 该镇 常住人口今日新增
-//        int czjs = czrkMapper.countByCzJs1(startTime, endTime, deptIdList); // 该镇 常住人口今日减少
-//        result.put("czxz", czxz);
-//        result.put("czjs", czjs);
-//
-//        result.put("zhen", deptName);
-        /** **/
-
-
-        // 常住人口信息
-        int type = 4; // 乡镇
-        int czzrs = czrkMapper.countCzrk(type, areaId); // 常住人口
-        result.put("czzrs", czzrs);
-
-        int zrs = 0;
-        // 常住人口占总人口的百分比
+        int zrs = 0; // 总人数
         if (BooleanUtils.isTrue(percent)) {
-             // 查全部
-            zrs = czrkMapper.countCzrk(type, areaId);
-            String czbfb = NumberUtils.percent(czzrs, zrs);
-            result.put("czbfb", czbfb);
+            zrs = czrkMapper.countAll();
         }
 
-//        type = 4;
-        int czxz = czrkMapper.countByCzXz(startTime, endTime, type, areaId);
-        int czjs = czrkMapper.countByCzJs(startTime, endTime, type, areaId);
+        List<Long> deptIdList = map(depts, SysDept::getId);
+        int hjzrs = czrkMapper.countHj1(deptIdList); // 该镇户籍人口总数
+        result.put("hjzrs", hjzrs);
+        int hjxz = czrkMapper.countByHjXz1(startTime, endTime, deptIdList); // 该镇 户籍人口今日新增
+        result.put("hjxz", hjxz);
+        int hjjs = czrkMapper.countByHjJs1(startTime, endTime, deptIdList); // 该镇 户籍人口今日减少
+        result.put("hjjs", hjjs);
+        result.put("hjbfb", NumberUtils.percent(hjzrs, zrs));
+
+        int czzrs = czrkMapper.countCz1(deptIdList);  // 该镇常住人口总数
+        result.put("czzrs", czzrs);
+        int czxz = czrkMapper.countByCzXz1(startTime, endTime, deptIdList); // 该镇 常住人口今日新增
+        int czjs = czrkMapper.countByCzJs1(startTime, endTime, deptIdList); // 该镇 常住人口今日减少
         result.put("czxz", czxz);
         result.put("czjs", czjs);
+        result.put("czbfb", NumberUtils.percent(czzrs, zrs));
 
         result.put("zhen", deptName);
+        /** **/
 
-        // 户籍人口信息
-        int hjxzs = czrkMapper.countByHjXz(startTime, endTime, type, areaId); // 新增
-        int hjjss = czrkMapper.countByHjJs(startTime, endTime, type, areaId);// 减少
-        result.put("hjxz", hjxzs);
-        result.put("hjjs", hjjss);
 
-        // 户籍总人数
-        int hjzrs = czrkMapper.countHj(startTime, endTime, type, areaId);
-//                int hjzrs= isEmpty(hjzrsList) ? 0 : hjzrsList.size();
-        result.put("hjzrs", hjzrs);
-        String hjbfb = NumberUtils.percent(hjzrs, zrs);
-        result.put("hjbfb", hjbfb);
+        // 常住人口信息
+//        int type = 4; // 乡镇
+//        int czzrs = czrkMapper.countCzrk(type, areaId); // 常住人口
+//        result.put("czzrs", czzrs);
+//
+//        int zrs = 0;
+//        // 常住人口占总人口的百分比
+//        if (BooleanUtils.isTrue(percent)) {
+//             // 查全部
+//            zrs = czrkMapper.countCzrk(type, areaId);
+//            String czbfb = NumberUtils.percent(czzrs, zrs);
+//            result.put("czbfb", czbfb);
+//        }
+//
+////        type = 4;
+//        int czxz = czrkMapper.countByCzXz(startTime, endTime, type, areaId);
+//        int czjs = czrkMapper.countByCzJs(startTime, endTime, type, areaId);
+//        result.put("czxz", czxz);
+//        result.put("czjs", czjs);
+//
+//        result.put("zhen", deptName);
+//
+//        // 户籍人口信息
+//        int hjxz = czrkMapper.countByHjXz(startTime, endTime, type, areaId); // 新增
+//        int hjjs = czrkMapper.countByHjJs(startTime, endTime, type, areaId);// 减少
+//        result.put("hjxz", hjxz);
+//        result.put("hjjs", hjjs);
+//
+//        // 户籍总人数
+//        int hjzrs = czrkMapper.countHj(startTime, endTime, type, areaId);
+////                int hjzrs= isEmpty(hjzrsList) ? 0 : hjzrsList.size();
+//        result.put("hjzrs", hjzrs);
+//        String hjbfb = NumberUtils.percent(hjzrs, zrs);
+//        result.put("hjbfb", hjbfb);
     }
 
     @Override
@@ -861,34 +848,33 @@ public class CzrkServiceImpl implements ICzrkService {
         String endTime = DateUtils.dateTime1(startTimeDate);
         String startTime = DateUtils.dateTime1(endTimeDate);
         SysUser sysUser = AuthUtils.getLoginUser().getSysUser();
+        Long deptId = sysUser.getDeptId();
 
         List<java.util.Date> dateList = DateUtils.getWeek(startTimeDate);
-        JSONObject jsonObject = redisService.getCacheObject("hjczLine");
+        JSONObject jsonObject = redisService.getCacheObject("hjczLine" + deptId);
         if (isNotEmpty(jsonObject)) {
             ECHARTS_LINE = jsonObject;
             return jsonObject;
         }
 
         ThreadPoolService.execute(()->{
-            int type = 0;
-            Long areaId = null;
+            List<Long> deptIdList = null;
             // 市领导 todo 此处不应该写死
             List<String> roleKeySets = map(sysUser.getRoles(), SysRole::getRoleKey);
             if (roleKeySets.contains("city") || roleKeySets.contains("admin") || roleKeySets.contains("yanshi")) {
-                type = 3;
-                areaId = 340882000000L;
+                //ignore
             } else if (roleKeySets.contains("sys:town")) {
-                type = 4;
-                areaId = sysUser.getDeptId();
+                List<SysDept> depts = remoteDeptService.listChildrenDepts(deptId);
+                deptIdList = map(depts, SysDept::getId);
             }
 
             // 常住人口信息
-            List<Czrk> czxzs = czrkMapper.listByCzXz(startTime, endTime, type, areaId);
-            List<Czrk> czjss = czrkMapper.listByCzJs(startTime, endTime, type, areaId);
+            List<Czrk> czxzs = czrkMapper.listByCzXz1(startTime, endTime, deptIdList);
+            List<Czrk> czjss = czrkMapper.listByCzJs1(startTime, endTime, deptIdList);
 
             // 户籍人口信息
-            List<Czrk> hjxzs = czrkMapper.listByHjXz(startTime, endTime, type, areaId); // 新增
-            List<Czrk> hjjss = czrkMapper.listByHjJs(startTime, endTime, type, areaId);// 减少
+            List<Czrk> hjxzs = czrkMapper.listByHjXz1(startTime, endTime, deptIdList); // 新增
+            List<Czrk> hjjss = czrkMapper.listByHjJs1(startTime, endTime, deptIdList);// 减少
 
             List<JSONObject> result = new ArrayList<>();
             for (java.util.Date week : dateList) {
@@ -956,7 +942,7 @@ public class CzrkServiceImpl implements ICzrkService {
             resultData.put("hjxz", hjxz);
             resultData.put("hjjs", hjjs);
             ECHARTS_LINE = resultData;
-            redisService.setCacheObject("hjczLine", resultData);
+            redisService.setCacheObject("hjczLine:" + deptId, resultData);
         });
 
         return ECHARTS_LINE;

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

@@ -388,8 +388,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </if>
     </select>
 
+    <select id="listByCzXz1" resultType="com.boman.domain.Czrk">
+        SELECT 	ANY_VALUE(jzdz.id_card) idCard,
+        ANY_VALUE(jzdz.create_time) createTime from czrk_jzdz jzdz
+        where jzdz.status = 'Y' and jzdz.create_time &gt;= #{startTime} and jzdz.create_time &lt;= #{endTime}
+        <if test="deptIdList != null  and deptIdList.size() > 0">
+            and jzdz.dept_id in
+            <foreach item="deptId" collection="deptIdList" open="(" separator="," close=")">
+                #{deptId}
+            </foreach>
+        </if>
+        group by jzdz.id_card
+    </select>
+
     <select id="countByCzJs1" resultType="int">
-        SELECT COUNT(DISTINCT(jzdz.id_card)) from czrk_jzdz jzdz
+        SELECT DISTINCT(jzdz.id_card) from czrk_jzdz jzdz
         where jzdz.status = 'N' and jzdz.update_time &gt;= #{startTime} and jzdz.update_time &lt;= #{endTime}
         <if test="deptIdList != null  and deptIdList.size() > 0">
             and jzdz.dept_id in
@@ -399,6 +412,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </if>
     </select>
 
+    <select id="listByCzJs1" resultType="com.boman.domain.Czrk">
+        SELECT ANY_VALUE(id_card) idCard,
+        ANY_VALUE(update_time) updateTime from czrk_jzdz jzdz
+        where jzdz.status = 'N' and jzdz.update_time &gt;= #{startTime} and jzdz.update_time &lt;= #{endTime}
+        <if test="deptIdList != null  and deptIdList.size() > 0">
+            and jzdz.dept_id in
+            <foreach item="deptId" collection="deptIdList" open="(" separator="," close=")">
+                #{deptId}
+            </foreach>
+        </if>
+        group by jzdz.id_card
+    </select>
+
     <select id="countByHjXz1" resultType="int">
         select count(vi.id)
         from czrk vi
@@ -411,6 +437,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </if>
     </select>
 
+    <select id="listByHjXz1" resultMap="CzrkResult">
+        select create_time
+        from czrk vi
+        where vi.is_del = 'N' and vi.create_time &gt;= #{startTime} and vi.create_time &lt;= #{endTime}
+        <if test="deptIdList != null  and deptIdList.size() > 0">
+            and vi.dept_id in
+            <foreach item="deptId" collection="deptIdList" open="(" separator="," close=")">
+                #{deptId}
+            </foreach>
+        </if>
+    </select>
+
     <select id="countByHjJs1" resultType="int">
         select count(vi.id)
         from czrk vi
@@ -423,6 +461,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </if>
     </select>
 
+    <select id="listByHjJs1" resultMap="CzrkResult">
+        select vi.update_time
+        from czrk vi
+        where vi.is_del = 'Y' and vi.update_time &gt;= #{startTime} and vi.update_time &lt;= #{endTime}
+        <if test="deptIdList != null  and deptIdList.size() > 0">
+            and vi.dept_id in
+            <foreach item="deptId" collection="deptIdList" open="(" separator="," close=")">
+                #{deptId}
+            </foreach>
+        </if>
+    </select>
+
     <select id="selectCzrkById" parameterType="Long" resultMap="CzrkResult">
         <include refid="selectCzrkVo"/>
         where id = #{id} limit 1
@@ -469,7 +519,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="getHzByCode" resultMap="CzrkResult">
         SELECT user_name, id_card
         from czrk
-        where house_type = '是' ande code = #{code} limit 1;
+        where house_type = '是' and code = #{code} limit 1;
     </select>
 
     <select id="stsByWrl" resultType="int">
@@ -788,5 +838,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <!--GROUP BY czrk.id-->
     </select>
 
+    <select id="countAll" resultType="int">
+        select count(1) from czrk where is_del = '否';
+    </select>
+
 
 </mapper>