Explorar o código

Merge remote-tracking branch 'origin/master'

tjf %!s(int64=3) %!d(string=hai) anos
pai
achega
c663566657

+ 98 - 7
boman-web-core/src/main/java/com/boman/web/core/service/czrk/CzrkServiceImpl.java

@@ -2,6 +2,7 @@ package com.boman.web.core.service.czrk;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
 import com.boman.common.core.utils.DateUtils;
 import com.boman.common.core.utils.SecurityUtils;
 import com.boman.common.core.utils.StringUtils;
@@ -247,7 +248,11 @@ public class CzrkServiceImpl implements ICzrkService {
         czrk.setEndTime(DateUtils.getTodayEndStr());
         startPage();
         List<Czrk> czrks = czrkMapper.listByXz(czrk);
-        packAddr(czrks);
+        // 居住地址
+        List<CzrkJzdz> czrkJzdzList = getCzrkJzdzs(czrks);
+
+        handleList(czrks, Czrk.HJ, czrkJzdzList);
+        //packAddr(czrks);
         return czrks;
     }
 
@@ -261,7 +266,11 @@ public class CzrkServiceImpl implements ICzrkService {
         czrk.setEndTime(DateUtils.getTodayEndStr());
         startPage();
         List<Czrk> czrks = czrkMapper.listByJs(czrk);
-        packAddr(czrks);
+        // 居住地址
+        List<CzrkJzdz> czrkJzdzList = getCzrkJzdzs(czrks);
+
+        handleList(czrks, Czrk.HJ, czrkJzdzList);
+        //packAddr(czrks);
         return czrks;
     }
 
@@ -439,6 +448,21 @@ public class CzrkServiceImpl implements ICzrkService {
     public int insertCzrk(Czrk czrk) {
         log.info("{}于{}新增常住人口:{}"
                 , AuthUtils.getLoginUser().getSysUser().getUserName(), DateUtils.dateTimeNow(), JSON.toJSONString(czrk));
+        //新增常驻人口后同步修改redis数据
+        //修改潜山市总数居
+        //从redis取出潜山市数据
+        //111
+        JSONObject jsonObject = redisService.getCacheObject(packRedisKey("1"));
+        //将JSONObject转为map
+        Map<String,Object> parMap =  JSONObject.parseObject(jsonObject.toJSONString(), new TypeReference<Map<String, Object>>(){});
+        //判断
+        SysDept dept = remoteDeptService.getById(czrk.getDeptId());
+        //人员存在的地址的deptId(市、乡镇、村)当长度为2时,人员的信息为村,长度为3时信息为组
+        List<String> resultList = Arrays.asList(dept.getAncestors().split(","));
+        if(resultList.size()==3){
+
+        }
+
         return czrkMapper.insertCzrk(czrk);
     }
 
@@ -1024,7 +1048,7 @@ public class CzrkServiceImpl implements ICzrkService {
                         townsDepts.add(allDept);
                     }
                 }
-                result.put("zhen", townsDepts.size()); // 镇
+                result.put("zhen", townsDepts.size()); // 镇的数量
 
                 List<SysDept> cunDepts = new ArrayList<>(16);
                 for (SysDept townsDept : townsDepts) {
@@ -1124,6 +1148,8 @@ public class CzrkServiceImpl implements ICzrkService {
     private void townSts(JSONObject result, Long deptId, String deptName, boolean percent) {
         String startTime = DateUtils.getTodayStartStr();
         String endTime = DateUtils.getTodayEndStr();
+        Timestamp s = Timestamp.valueOf(startTime);
+        Timestamp e = Timestamp.valueOf(endTime);
         // 乡镇以下的所有部门
         List<SysDept> depts = remoteDeptService.listChildrenDepts(deptId);
         List<SysDept> cunDepts = new ArrayList<>(16);
@@ -1153,21 +1179,86 @@ public class CzrkServiceImpl implements ICzrkService {
         }
 
         List<Long> deptIdList = map(depts, SysDept::getId);
+        //查询当前乡镇下的户籍总人数
+        List<Czrk> czrkList = czrkMapper.selectCzrkListByDeptId(deptIdList);
+        if(czrkList==null){
+            czrkList = new ArrayList<>();
+        }
+        //该镇户籍人口总数
+        int hjzrs = czrkList.size();
+
+        //该镇 户籍人口今日新增
+        int hjxz = 0;
+        //该镇 户籍人口今日减少
+        int hjjs = 0;
+
+        //循环所有人判断当前总人数,该镇 户籍人口今日新增,该镇 户籍人口今日减少
+        for (Czrk czrk : czrkList) {
+            if("Y".equals(czrk.getIsDel())){
+                hjzrs--;
+            }
+            //判断是否是在今天操作的人员信息
+            if(s.before(czrk.getCreateTime()) && czrk.getCreateTime().before(e)){
+                if("Y".equals(czrk.getIsDel())){
+                    hjjs++;
+                }else{
+                    hjxz++;
+                }
+            }
+        }
+        result.put("hjzrs", czrkList.size());
+        result.put("hjxz", hjxz);
+        result.put("hjjs", hjjs);
+        result.put("hjbfb", NumberUtils.percent(hjzrs, zrs));
+
+        /*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));
+        result.put("hjbfb", NumberUtils.percent(hjzrs, zrs));*/
+
 
-        int czzrs = czrkMapper.countCz1(deptIdList);  // 该镇常住人口总数
+        List<CzrkJzdz> czrkJzdzList = czrkJzdzService.selectCzrkJzdzListByDeptId(deptIdList);
+        if(czrkJzdzList==null){
+            czrkJzdzList = new ArrayList<>();
+        }
+        //该镇户籍人口总数
+        int czzrs = czrkJzdzList.size();
+
+        //该镇 户籍人口今日新增
+        int czxz = 0;
+        //该镇 户籍人口今日减少
+        int czjs = 0;
+
+        //循环所有人判断当前总人数,该镇 户籍人口今日新增,该镇 户籍人口今日减少
+        for (CzrkJzdz czrkJzdz : czrkJzdzList) {
+            if("Y".equals(czrkJzdz.getStatus())){
+                czzrs--;
+            }
+            //判断是否是在今天操作的人员信息
+            if(s.before(czrkJzdz.getCreateTime()) && czrkJzdz.getCreateTime().before(e)){
+                if("Y".equals(czrkJzdz.getStatus())){
+                    czjs++;
+                }else{
+                    czxz++;
+                }
+            }
+        }
+        result.put("czzrs", czzrs);
+        result.put("czxz", czxz);
+        result.put("czjs", czjs);
+        result.put("czbfb", NumberUtils.percent(czzrs, 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("czbfb", NumberUtils.percent(czzrs, zrs));*/
 
         result.put("zhen", deptName);
         /** **/
@@ -1530,7 +1621,7 @@ public class CzrkServiceImpl implements ICzrkService {
     }
 
     private void setIntoRedis(String key, Object result) {
-        redisService.setCacheObject(key, result, 1L, TimeUnit.HOURS);
+        redisService.setCacheObject(key, result, 1L, TimeUnit.DAYS);
     }
 
     private void checkAuth(String appKey, String appSecret) {