|
@@ -18,9 +18,10 @@ import com.boman.web.core.utils.AuthUtils;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.BooleanUtils;
|
|
|
-import org.checkerframework.checker.units.qual.C;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Isolation;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.sql.Date;
|
|
@@ -35,6 +36,7 @@ import static com.boman.common.core.utils.StringUtils.isNotEmpty;
|
|
|
import static com.boman.common.core.utils.obj.ObjectUtils.isEmpty;
|
|
|
import static com.boman.common.core.utils.obj.ObjectUtils.map;
|
|
|
import static com.boman.common.redis.RedisKey.STS_CZRK_;
|
|
|
+import static com.google.common.base.Strings.nullToEmpty;
|
|
|
|
|
|
/**
|
|
|
* 常住人口Service业务层处理
|
|
@@ -54,41 +56,91 @@ public class CzrkServiceImpl implements ICzrkService {
|
|
|
private RemoteDeptService remoteDeptService;
|
|
|
@Resource
|
|
|
private RedisService redisService;
|
|
|
+ @Resource
|
|
|
+ private ICzrkJzdzService czrkJzdzService;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
public List<Czrk> listByRlry(Czrk czrk) {
|
|
|
setDeptIdList(czrk);
|
|
|
setAgeScope(czrk);
|
|
|
+
|
|
|
startPage();
|
|
|
+// List<Czrk> czrks = czrkMapper.listByRlry(czrk);
|
|
|
+ List<Czrk> czrks = czrkMapper.listByRlryRel(czrk);
|
|
|
|
|
|
- List<Czrk> czrks = czrkMapper.listByRlry(czrk);
|
|
|
- handleList(czrks);
|
|
|
+ // 居住地址
|
|
|
+// List<CzrkJzdz> czrkJzdzList = getCzrkJzdzs(czrks);
|
|
|
+
|
|
|
+// handleList(czrks, czrk.getQueryType(), czrkJzdzList);
|
|
|
+ handleList1(czrks);
|
|
|
return czrks;
|
|
|
}
|
|
|
|
|
|
+ private List<CzrkJzdz> getCzrkJzdzs(List<Czrk> czrks) {
|
|
|
+// List<CzrkJzdz> czrkJzdzList = null;
|
|
|
+// // 常住人口需要查 czrk_jzdz
|
|
|
+// if (Czrk.CZ.equals(queryType)) {
|
|
|
+ List<String> idCardList = map(czrks, Czrk::getIdCard);
|
|
|
+ List<CzrkJzdz> czrkJzdzList = czrkJzdzService.listByIdCard(idCardList);
|
|
|
+// }
|
|
|
+
|
|
|
+ return czrkJzdzList;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<Czrk> listByXz(Czrk czrk) {
|
|
|
setDeptIdList(czrk);
|
|
|
- List<Czrk> czrks = czrkMapper.listByXz(czrk);
|
|
|
- handleList(czrks);
|
|
|
+// List<Czrk> czrks = czrkMapper.listByXz(czrk);
|
|
|
+// // 居住地址
|
|
|
+// List<CzrkJzdz> czrkJzdzList = getCzrkJzdzs(czrks);
|
|
|
+// handleList(czrks, Czrk.HJ, czrkJzdzList);
|
|
|
+ List<Czrk> czrks = czrkMapper.listByRlryRel(czrk);
|
|
|
+ handleList1(czrks);
|
|
|
return czrks;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public List<Czrk> listByJs(Czrk czrk) {
|
|
|
setDeptIdList(czrk);
|
|
|
- List<Czrk> czrks = czrkMapper.listByJs(czrk);
|
|
|
- handleList(czrks);
|
|
|
+// List<Czrk> czrks = czrkMapper.listByJs(czrk);
|
|
|
+// // 居住地址
|
|
|
+// List<CzrkJzdz> czrkJzdzList = getCzrkJzdzs(czrks);
|
|
|
+// handleList(czrks, Czrk.HJ, czrkJzdzList);
|
|
|
+ List<Czrk> czrks = czrkMapper.listByRlryRel(czrk);
|
|
|
+ handleList1(czrks);
|
|
|
return czrks;
|
|
|
}
|
|
|
|
|
|
- private void handleList(List<Czrk> czrks) {
|
|
|
+ private void handleList(List<Czrk> czrks, String queryType, List<CzrkJzdz> czrkJzdzList) {
|
|
|
for (Czrk crk : czrks) {
|
|
|
- // 現在居住地址查询展示 安徽省安庆市潜山市xx乡xx村xx组
|
|
|
- String addr = crk.getProvince() + crk.getCity() + crk.getRegion() + crk.getVillageTowns() +
|
|
|
- crk.getVillage() + crk.getVillagerGroup() + crk.getNowIn();
|
|
|
- crk.setNowInSelect(addr);
|
|
|
+// if (Czrk.HJ.equals(queryType)) {
|
|
|
+ // 户籍地
|
|
|
+ String province = nullToEmpty(crk.getProvince()), city = nullToEmpty(crk.getCity()), region = nullToEmpty(crk.getRegion()), villageTowns = nullToEmpty(crk.getVillageTowns()), village = nullToEmpty(crk.getVillage()), villageGroup = nullToEmpty(crk.getVillagerGroup()), nowIn = nullToEmpty(crk.getNowIn());
|
|
|
+ crk.setDomicileSelect(province + city + region + villageTowns + village + villageGroup + nowIn);
|
|
|
+
|
|
|
+ // 现居住地
|
|
|
+ for (CzrkJzdz czrkJzdz : czrkJzdzList) {
|
|
|
+ if (!czrkJzdz.getIdCard().equals(crk.getIdCard())) continue;
|
|
|
+
|
|
|
+ String provinceCz = nullToEmpty(czrkJzdz.getProvince()), cityCz = nullToEmpty(czrkJzdz.getCity()), regionCz = nullToEmpty(czrkJzdz.getRegion()), villageTownsCz = nullToEmpty(czrkJzdz.getTown()), villageCz = nullToEmpty(czrkJzdz.getVillage()), nowInCz = nullToEmpty(czrkJzdz.getNowIn());
|
|
|
+ crk.setNowInSelect(provinceCz + cityCz + regionCz + villageTownsCz + villageCz + nowInCz);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+// }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void handleList1(List<Czrk> czrks) {
|
|
|
+ if (isEmpty(czrks)) return;
|
|
|
+ for (Czrk crk : czrks) {
|
|
|
+ // 户籍地
|
|
|
+ String province = nullToEmpty(crk.getProvince()), city = nullToEmpty(crk.getCity()), region = nullToEmpty(crk.getRegion()), villageTowns = nullToEmpty(crk.getVillageTowns()), village = nullToEmpty(crk.getVillage()), villageGroup = nullToEmpty(crk.getVillagerGroup()), nowIn = nullToEmpty(crk.getNowIn());
|
|
|
+ crk.setDomicileSelect(province + city + region + villageTowns + village + villageGroup + nowIn);
|
|
|
+
|
|
|
+ // 现居住地
|
|
|
+ String provinceCz = nullToEmpty(crk.getProvinceXjd()), cityCz = nullToEmpty(crk.getCityXjd()), regionCz = nullToEmpty(crk.getRegionXjd()), villageTownsCz = nullToEmpty(crk.getVillageTownsXjd()), villageCz = nullToEmpty(crk.getVillageXjd()), nowInCz = nullToEmpty(crk.getDomicile());
|
|
|
+ crk.setNowInSelect(provinceCz + cityCz + regionCz + villageTownsCz + villageCz + nowInCz);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -124,7 +176,7 @@ public class CzrkServiceImpl implements ICzrkService {
|
|
|
if (isNotEmpty(roles)) {
|
|
|
for (SysRole role : roles) {
|
|
|
String roleKey = role.getRoleKey();
|
|
|
- if ("admin".equals(roleKey) || "city".equals(roleKey)) {
|
|
|
+ if ("admin".equals(roleKey) || "city".equals(roleKey) || "yanshi".equals(roleKey)) {
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
@@ -166,37 +218,34 @@ public class CzrkServiceImpl implements ICzrkService {
|
|
|
|
|
|
/**
|
|
|
* 查询常住人口
|
|
|
- *
|
|
|
+ *
|
|
|
* @param id 常住人口主键
|
|
|
* @return 常住人口
|
|
|
*/
|
|
|
@Override
|
|
|
- public Czrk selectCzrkById(Long id)
|
|
|
- {
|
|
|
+ public Czrk selectCzrkById(Long id) {
|
|
|
return czrkMapper.selectCzrkById(id);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 查询常住人口列表
|
|
|
- *
|
|
|
+ *
|
|
|
* @param czrk 常住人口
|
|
|
* @return 常住人口
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<Czrk> selectCzrkList(Czrk czrk)
|
|
|
- {
|
|
|
+ public List<Czrk> selectCzrkList(Czrk czrk) {
|
|
|
return czrkMapper.selectCzrkList(czrk);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 新增常住人口
|
|
|
- *
|
|
|
+ *
|
|
|
* @param czrk 常住人口
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public int insertCzrk(Czrk czrk)
|
|
|
- {
|
|
|
+ public int insertCzrk(Czrk czrk) {
|
|
|
return czrkMapper.insertCzrk(czrk);
|
|
|
}
|
|
|
|
|
@@ -261,7 +310,9 @@ public class CzrkServiceImpl implements ICzrkService {
|
|
|
}
|
|
|
|
|
|
List<Czrk> czrks = czrkMapper.listByCode(code);
|
|
|
- handleList(czrks);
|
|
|
+ // 居住地址
|
|
|
+ List<CzrkJzdz> czrkJzdzList = getCzrkJzdzs(czrks);
|
|
|
+ handleList(czrks, Czrk.HJ, czrkJzdzList);
|
|
|
return czrks;
|
|
|
}
|
|
|
|
|
@@ -274,7 +325,9 @@ public class CzrkServiceImpl implements ICzrkService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
|
|
|
public AjaxResult addRlry(Czrk czrk) {
|
|
|
+ String username = SecurityUtils.getUsername();
|
|
|
if (isNotEmpty(czrk.getVillageTowns())) {
|
|
|
czrk.setRlr(SecurityUtils.getUsername());
|
|
|
czrk.setIsRl("是");
|
|
@@ -289,12 +342,33 @@ public class CzrkServiceImpl implements ICzrkService {
|
|
|
return AjaxResult.error(String.format("该人员[身份证号为: %s]已存在,请勿重复添加", czrk.getIdCard()));
|
|
|
}
|
|
|
|
|
|
+ czrk.setCreateBy(username);
|
|
|
+ czrk.setUpdateBy(username);
|
|
|
count = czrkMapper.insertCzrk(czrk);
|
|
|
- return count > 0 ? AjaxResult.success() : AjaxResult.error();
|
|
|
+ if (count <= 0) {
|
|
|
+ return AjaxResult.error();
|
|
|
+ }
|
|
|
+
|
|
|
+ List<CzrkJzdz> czrkJzdzList = czrk.getCzrkJzdzList();
|
|
|
+ if (isEmpty(czrkJzdzList)) {
|
|
|
+ return AjaxResult.error("该人员常住地址未添加");
|
|
|
+ }
|
|
|
+
|
|
|
+ int sort = 0, childCount = 0;
|
|
|
+ for (CzrkJzdz czrkJzdz : czrkJzdzList) {
|
|
|
+ czrkJzdz.setCzrkId(czrk.getId());
|
|
|
+ czrkJzdz.setSort(++sort);
|
|
|
+ czrkJzdz.setCreateBy(SecurityUtils.getUsername());
|
|
|
+ czrkJzdz.setUpdateBy(SecurityUtils.getUsername());
|
|
|
+ childCount += czrkJzdzService.insertCzrkJzdz(czrkJzdz);
|
|
|
+ }
|
|
|
+
|
|
|
+ return childCount == czrkJzdzList.size() ? AjaxResult.success() : AjaxResult.error();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public int editRlry(Czrk czrk) {
|
|
|
+ public AjaxResult editRlry(Czrk czrk) {
|
|
|
+ String username = SecurityUtils.getUsername();
|
|
|
if (isNotEmpty(czrk.getVillageTowns())) {
|
|
|
czrk.setRlr(SecurityUtils.getUsername());
|
|
|
czrk.setIsRl("是");
|
|
@@ -304,7 +378,28 @@ public class CzrkServiceImpl implements ICzrkService {
|
|
|
czrk.setRlTime(null);
|
|
|
}
|
|
|
|
|
|
- return czrkMapper.updateCzrk(czrk);
|
|
|
+ czrk.setUpdateBy(username);
|
|
|
+ int count = czrkMapper.updateCzrk(czrk);
|
|
|
+ if (count <= 0) {
|
|
|
+ return AjaxResult.error();
|
|
|
+ }
|
|
|
+
|
|
|
+ List<CzrkJzdz> czrkJzdzList = czrk.getCzrkJzdzList();
|
|
|
+ if (isEmpty(czrkJzdzList)) {
|
|
|
+ return AjaxResult.error("该人员常住地址未添加");
|
|
|
+ }
|
|
|
+
|
|
|
+ czrkJzdzService.deleteByCzrkId(czrk.getId());
|
|
|
+ int sort = 0, childCount = 0;
|
|
|
+ for (CzrkJzdz czrkJzdz : czrkJzdzList) {
|
|
|
+ czrkJzdz.setCzrkId(czrk.getId());
|
|
|
+ czrkJzdz.setSort(++sort);
|
|
|
+ czrkJzdz.setCreateBy(username);
|
|
|
+ czrkJzdz.setUpdateBy(username);
|
|
|
+ childCount += czrkJzdzService.insertCzrkJzdz(czrkJzdz);
|
|
|
+ }
|
|
|
+
|
|
|
+ return childCount == czrkJzdzList.size() ? AjaxResult.success() : AjaxResult.error();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -455,7 +550,7 @@ public class CzrkServiceImpl implements ICzrkService {
|
|
|
return jsonObject;
|
|
|
}
|
|
|
|
|
|
- ThreadPoolService.execute(()->{
|
|
|
+ ThreadPoolService.execute(() -> {
|
|
|
List<SysDept> allDepts = remoteDeptService.listChildrenDepts(1L);
|
|
|
List<SysDept> townsDepts = new ArrayList<>(16);
|
|
|
for (SysDept allDept : allDepts) {
|
|
@@ -576,11 +671,11 @@ public class CzrkServiceImpl implements ICzrkService {
|
|
|
result.put("zhen", deptName);
|
|
|
}
|
|
|
|
|
|
- private String packRedisKey(String deptId){
|
|
|
+ private String packRedisKey(String deptId) {
|
|
|
return STS_CZRK_ + deptId + ":" + DateUtils.getDate();
|
|
|
}
|
|
|
|
|
|
- private void setIntoRedis(String key, Object result){
|
|
|
+ private void setIntoRedis(String key, Object result) {
|
|
|
redisService.setCacheObject(key, result, 1L, TimeUnit.HOURS);
|
|
|
}
|
|
|
}
|