|
@@ -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) {
|