|
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.boman.common.core.utils.obj.ObjectUtils;
|
|
|
import com.boman.domain.Czrk;
|
|
|
import com.boman.domain.CzrkJzdz;
|
|
|
+import com.boman.domain.SysDept;
|
|
|
import com.boman.domain.VaccineInfoOperation;
|
|
|
import com.boman.domain.dto.AjaxResult;
|
|
|
import com.boman.web.core.domain.SysRegion;
|
|
@@ -19,11 +20,14 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import javax.validation.constraints.NotBlank;
|
|
|
+import javax.validation.constraints.Size;
|
|
|
import java.io.BufferedWriter;
|
|
|
import java.io.File;
|
|
|
import java.io.FileWriter;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Objects;
|
|
|
+import java.util.*;
|
|
|
+import java.util.regex.Matcher;
|
|
|
+import java.util.regex.Pattern;
|
|
|
|
|
|
/**
|
|
|
* @author shiqian
|
|
@@ -89,7 +93,7 @@ public class TestController {
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
- @PostMapping("/setCzrk")
|
|
|
+ //@PostMapping("/setCzrk")
|
|
|
public AjaxResult setCzrk() {
|
|
|
//587731
|
|
|
for (int i = 0; i < 59; i++) {
|
|
@@ -275,4 +279,188 @@ public class TestController {
|
|
|
}
|
|
|
return AjaxResult.success("全部完成");
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 处理常驻人口数据村信息
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/setCzrkTown")
|
|
|
+ public AjaxResult setCzrkTown() {
|
|
|
+ for (int i = 0; i < 59; i++) {
|
|
|
+ int startPage = i*10000;
|
|
|
+ int endPage = 10000;
|
|
|
+ List<Czrk> czrks = czrkMapper.selectCzrkListByPage(startPage, endPage);
|
|
|
+ if (czrks.size() > 0){
|
|
|
+ for (Czrk czrk : czrks) {
|
|
|
+ if (czrk != null){
|
|
|
+ String nowIn = czrk.getNowIn();
|
|
|
+ Long deptId = czrk.getDeptId();
|
|
|
+ //有居住地址
|
|
|
+ if (StringUtils.isNotBlank(nowIn)){
|
|
|
+ //提取出村的名称
|
|
|
+ String village = addressResolution(nowIn);
|
|
|
+ if (StringUtils.isNotBlank(village)){
|
|
|
+ //去china_area表中查询对应数据
|
|
|
+ List<SysRegion> sysRegions = sysRegionMapper.selectSysRegionByNameLike(village);
|
|
|
+ if (sysRegions.size() == 1){
|
|
|
+ SysRegion sysRegion = sysRegions.get(0);
|
|
|
+ if (sysRegion != null){
|
|
|
+ czrk.setVillage(sysRegion.getName());
|
|
|
+ czrk.setVillageId(sysRegion.getAreaId());
|
|
|
+ }
|
|
|
+ }else if (sysRegions.size() > 1){
|
|
|
+ for (SysRegion sysRegion : sysRegions) {
|
|
|
+ if (sysRegion != null){
|
|
|
+ Long pid = sysRegion.getPid();
|
|
|
+ Long villageTownsId = czrk.getVillageTownsId();
|
|
|
+ if (villageTownsId != null && villageTownsId.equals(pid)){
|
|
|
+ //说明是这个镇下面的村
|
|
|
+ czrk.setVillage(sysRegion.getName());
|
|
|
+ czrk.setVillageId(sysRegion.getAreaId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ //没有居住地址看看有没有deptId
|
|
|
+ if (deptId != null){
|
|
|
+ //去sys_dept表中找到对应的数据
|
|
|
+ SysDept sysDept = czrkMapper.selectDeptNameById(deptId);
|
|
|
+ if (sysDept != null){
|
|
|
+ String ancestors = sysDept.getAncestors();
|
|
|
+ String[] split = ancestors.split(",");
|
|
|
+ if (split.length == 3){
|
|
|
+ //说明是组,则找上级村id
|
|
|
+ Long parentId = sysDept.getParentId();
|
|
|
+ if (parentId != null){
|
|
|
+ //获取到村名称
|
|
|
+ SysDept sysDeptParent = czrkMapper.selectDeptNameById(parentId);
|
|
|
+ if (sysDeptParent != null){
|
|
|
+ //村名称
|
|
|
+ String deptName = sysDeptParent.getDeptName();
|
|
|
+ if (StringUtils.isNotBlank(deptName)){
|
|
|
+ //去china_area表中查询对应数据
|
|
|
+ List<SysRegion> sysRegions = sysRegionMapper.selectSysRegionByNameLike(deptName);
|
|
|
+ if (sysRegions.size() == 1){
|
|
|
+ SysRegion sysRegion = sysRegions.get(0);
|
|
|
+ if (sysRegion != null){
|
|
|
+ czrk.setVillage(sysRegion.getName());
|
|
|
+ czrk.setVillageId(sysRegion.getAreaId());
|
|
|
+ }
|
|
|
+ }else if (sysRegions.size() > 1){
|
|
|
+ for (SysRegion sysRegion : sysRegions) {
|
|
|
+ if (sysRegion != null){
|
|
|
+ Long pid = sysRegion.getPid();
|
|
|
+ Long villageTownsId = czrk.getVillageTownsId();
|
|
|
+ if (villageTownsId != null && villageTownsId.equals(pid)){
|
|
|
+ //说明是这个镇下面的村
|
|
|
+ czrk.setVillage(sysRegion.getName());
|
|
|
+ czrk.setVillageId(sysRegion.getAreaId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (split.length == 2){
|
|
|
+ //说明是村
|
|
|
+ String deptName = sysDept.getDeptName();
|
|
|
+ //村名称
|
|
|
+ if (StringUtils.isNotBlank(deptName)){
|
|
|
+ //去china_area表中查询对应数据
|
|
|
+ List<SysRegion> sysRegions = sysRegionMapper.selectSysRegionByNameLike(deptName);
|
|
|
+ if (sysRegions.size() == 1){
|
|
|
+ SysRegion sysRegion = sysRegions.get(0);
|
|
|
+ if (sysRegion != null){
|
|
|
+ czrk.setVillage(sysRegion.getName());
|
|
|
+ czrk.setVillageId(sysRegion.getAreaId());
|
|
|
+ }
|
|
|
+ }else if (sysRegions.size() > 1){
|
|
|
+ for (SysRegion sysRegion : sysRegions) {
|
|
|
+ if (sysRegion != null){
|
|
|
+ Long pid = sysRegion.getPid();
|
|
|
+ Long villageTownsId = czrk.getVillageTownsId();
|
|
|
+ if (villageTownsId != null && villageTownsId.equals(pid)){
|
|
|
+ //说明是这个镇下面的村
|
|
|
+ czrk.setVillage(sysRegion.getName());
|
|
|
+ czrk.setVillageId(sysRegion.getAreaId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //村名称
|
|
|
+ String village = czrk.getVillage();
|
|
|
+ Long villageId = czrk.getVillageId();
|
|
|
+ String idCard = czrk.getIdCard();
|
|
|
+ if (StringUtils.isNotBlank(village)){
|
|
|
+ Czrk czrkNew = new Czrk();
|
|
|
+ czrkNew.setId(czrk.getId());
|
|
|
+ czrkNew.setVillageId(villageId);
|
|
|
+ czrkNew.setVillage(village);
|
|
|
+ czrkMapper.updateCzrk(czrkNew);
|
|
|
+ System.out.println("更新编号"+czrk.getId()+village);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(village) && StringUtils.isNotBlank(idCard)){
|
|
|
+ //更新czrk_jzdz
|
|
|
+ CzrkJzdz czrkJzdz = new CzrkJzdz();
|
|
|
+ czrkJzdz.setVillage(village);
|
|
|
+ czrkJzdz.setVillageId(villageId);
|
|
|
+ czrkJzdz.setIdCard(idCard);
|
|
|
+ czrkJzdzMapper.updateByCzrkId(czrkJzdz);
|
|
|
+ }else {
|
|
|
+ System.out.println(czrk.getId()+"身份证号码不存在,没有更新czrk_jzdz");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ System.out.println("更新完成");
|
|
|
+ }
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 解析地址
|
|
|
+ * @author lin
|
|
|
+ * @param address
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String addressResolution(String address){
|
|
|
+ String regex="(?<town>[^区]+区|.+镇|.+乡)?(?<village>.[^村]+村|.+居委会|.+乡)";
|
|
|
+ Matcher m= Pattern.compile(regex).matcher(address);
|
|
|
+ String province=null,city=null,county=null,town=null,village=null;
|
|
|
+ List<Map<String,String>> table=new ArrayList<Map<String,String>>();
|
|
|
+ Map<String,String> row=null;
|
|
|
+ String result = null;
|
|
|
+ while(m.find()){
|
|
|
+/* row=new LinkedHashMap<String,String>();
|
|
|
+ town=m.group("town");
|
|
|
+ row.put("town", town==null?"":town.trim());
|
|
|
+ village=m.group("village");
|
|
|
+ row.put("village", village==null?"":village.trim());
|
|
|
+ table.add(row);*/
|
|
|
+ village=m.group("village");
|
|
|
+ result = village == null ? "" : village.trim();
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+
|
|
|
+ String r = "1";
|
|
|
+ String[] split = r.split(",");
|
|
|
+ System.out.println(split.length);
|
|
|
+ }
|
|
|
}
|