Explorar el Código

fix 修改人员信息新增,修改对应的逻辑

tjf hace 3 años
padre
commit
5868648294

+ 5 - 0
boman-api/boman-domain/src/main/java/com/boman/domain/CzrkJzdz.java

@@ -7,6 +7,8 @@ import lombok.NoArgsConstructor;
 import lombok.ToString;
 import lombok.experimental.SuperBuilder;
 
+import java.util.List;
+
 /**
  * 常住人口对应的居住地址对象 czrk_jzdz
  *
@@ -133,4 +135,7 @@ public class CzrkJzdz {
     private String createBy;
     private String updateBy;
 
+    /** 部门id集合 */
+    private List<Long> deptIdList;
+
 }

+ 95 - 35
boman-web-core/src/main/java/com/boman/web/core/service/czrk/CzrkServiceImpl.java

@@ -98,35 +98,65 @@ public class CzrkServiceImpl implements ICzrkService {
                 , AuthUtils.getLoginUser().getSysUser().getUserName(), DateUtils.dateTimeNow(), JSON.toJSONString(czrk));
         setDeptIdList(czrk);
         setAgeScope(czrk);
-
+        Long deptId = AuthUtils.getLoginUser().getSysUser().getDeptId();
+        //获取到居住地的查询条件
+        Long provinceId = czrk.getProvinceIdXjd();
+        Long cityId = czrk.getCityIdXjd();
+        Long regionId = czrk.getRegionIdXjd();
+        Long villageTownsId = czrk.getVillageTownsIdXjd();
+        Long villageId = czrk.getVillageIdXjd();
         // 去查jzdz表
         if (Czrk.CZ.equals(czrk.getQueryType())) {
             CzrkJzdz czrkJzdz = new CzrkJzdz();
-            Long provinceId = czrk.getProvinceIdXjd();
-            Long cityId = czrk.getCityIdXjd();
-            Long regionId = czrk.getRegionIdXjd();
-            Long villageTownsId = czrk.getVillageTownsIdXjd();
-            Long villageId = czrk.getVillageIdXjd();
+
+            //设置查询列表权限
+
+            List<Czrk> czrks = null;
             if (null == provinceId && null == cityId && null == regionId && null == villageTownsId && null == villageId) {
-                czrk.setIdCardList(null);
-            } else {
+                //固定查询潜山市
+                czrkJzdz.setRegionId(340882000000L);
+            }else {
                 czrkJzdz.setProvinceId(provinceId);
                 czrkJzdz.setCityId(cityId);
                 czrkJzdz.setRegionId(regionId);
                 czrkJzdz.setTownId(villageTownsId);
                 czrkJzdz.setVillageId(villageId);
-                startPage();
-                List<String> idCardList = czrkJzdzService.listIdCard(czrkJzdz);
+            }
+            //先去查询居住地址在潜山的人员身份证
+            startPage();
+            List<CzrkJzdz> czrkJzdzs = czrkJzdzService.selectCzrkJzdzList(czrkJzdz);
+            List<String> idCardList = new ArrayList<>();
+            if (czrkJzdzs != null && czrkJzdzs.size() > 0) {
+                for (CzrkJzdz jzdz : czrkJzdzs) {
+                    String idCard = jzdz.getIdCard();
+                    if (StringUtils.isNotBlank(idCard)) {
+                        idCardList.add(idCard);
+                    }
+                }
                 czrk.setIdCardList(idCardList);
+                czrks = czrkMapper.listByRlry(czrk);
+                handleList(czrks, Czrk.HJ, czrkJzdzs);
             }
+            return czrks;
+        }
+        if (null == provinceId && null == cityId && null == regionId && null == villageTownsId && null == villageId) {
+            czrk.setIdCardList(null);
+        } else {
+            CzrkJzdz czrkJzdz = new CzrkJzdz();
+            czrkJzdz.setProvinceId(provinceId);
+            czrkJzdz.setCityId(cityId);
+            czrkJzdz.setRegionId(regionId);
+            czrkJzdz.setTownId(villageTownsId);
+            czrkJzdz.setVillageId(villageId);
+            startPage();
+            List<String> idCardList = czrkJzdzService.listIdCard(czrkJzdz);
+            czrk.setIdCardList(idCardList);
         }
-
         startPage();
-//        List<Czrk> czrks = czrkMapper.listByRlryRel(czrk);
+        //设置查询列表权限
+
         List<Czrk> czrks = czrkMapper.listByRlry(czrk);
-//        List<CzrkJzdz> czrkJzdzs = getCzrkJzdzs(czrks);
         packAddr(czrks);
-//        handleList(czrks, Czrk.HJ, czrkJzdzs);
         return czrks;
     }
 
@@ -206,7 +236,7 @@ public class CzrkServiceImpl implements ICzrkService {
         // 户籍地
         String province = nullToEmpty(czrks.getString("province")), city = nullToEmpty(czrks.getString("city")), region = nullToEmpty(czrks.getString("region")), villageTowns = nullToEmpty(czrks.getString("villageTowns")), village = nullToEmpty(czrks.getString("village")), villageGroup = nullToEmpty(czrks.getString("villageGroup")), nowIn = nullToEmpty(czrks.getString("nowIn"));
         province = province + city + region + villageTowns + village + villageGroup + nowIn;
-        if (StringUtils.isNotBlank(province)){
+        if (StringUtils.isNotBlank(province)) {
             czrks.put("domicileSelect", province);
         }
 
@@ -460,6 +490,23 @@ public class CzrkServiceImpl implements ICzrkService {
     @Override
     @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
     public AjaxResult addRlry(Czrk czrk) {
+        List<CzrkJzdz> czrkJzdzList = czrk.getCzrkJzdzList();
+        if (isEmpty(czrkJzdzList)) return AjaxResult.error("该人员常住地址未添加");
+        //一开始就判断是否是户籍和所有居住地址都不在对应辖区
+        String region = czrk.getRegion();
+        if (StringUtils.isNotBlank(region) && !"潜山市".equals(region)) {
+            boolean flag = true;
+            for (CzrkJzdz czrkJzdz : czrkJzdzList) {
+                String regionJzdz = czrkJzdz.getRegion();
+                if (StringUtils.isNotBlank(regionJzdz) && "潜山市".equals(regionJzdz)) {
+                    flag = false;
+                }
+            }
+            if (flag) {
+                return AjaxResult.error("当前填写的户籍地址和居住地址均不属于对应辖区");
+            }
+        }
+
         SysUser sysUser = AuthUtils.getLoginUser().getSysUser();
         String username = sysUser.getUserName();
         if (isNotEmpty(czrk.getVillageTowns())) {
@@ -479,11 +526,7 @@ public class CzrkServiceImpl implements ICzrkService {
         czrk.setCreateBy(username);
         czrk.setUpdateBy(username);
         count = czrkMapper.insertCzrk(czrk);
-        if (count <= 0) return AjaxResult.error();
-
-        List<CzrkJzdz> czrkJzdzList = czrk.getCzrkJzdzList();
-        if (isEmpty(czrkJzdzList)) return AjaxResult.error("该人员常住地址未添加");
-
+        if (count < 1) return AjaxResult.error("新增户籍信息失败");
         int sort = 0, childCount = 0;
         for (CzrkJzdz czrkJzdz : czrkJzdzList) {
             czrkJzdz.setCzrkId(czrk.getId());
@@ -495,13 +538,29 @@ public class CzrkServiceImpl implements ICzrkService {
             // 当前登陆人的所属最后一级的dept_id
             czrkJzdz.setDeptId(sysUser.getDeptId());
             childCount += czrkJzdzService.insertCzrkJzdz(czrkJzdz);
-        }
 
-        return childCount == czrkJzdzList.size() ? AjaxResult.success() : AjaxResult.error();
+        }
+        return childCount > 0 ? AjaxResult.success() : AjaxResult.error();
     }
 
     @Override
     public AjaxResult editRlry(Czrk czrk) {
+        List<CzrkJzdz> czrkJzdzList = czrk.getCzrkJzdzList();
+        if (isEmpty(czrkJzdzList)) return AjaxResult.error("该人员常住地址未添加");
+        //一开始就判断是否是户籍和所有居住地址都不在对应辖区
+        String region = czrk.getRegion();
+        if (StringUtils.isNotBlank(region) && !"潜山市".equals(region)) {
+            boolean flag = true;
+            for (CzrkJzdz czrkJzdz : czrkJzdzList) {
+                String regionJzdz = czrkJzdz.getRegion();
+                if (StringUtils.isNotBlank(regionJzdz) && "潜山市".equals(regionJzdz)) {
+                    flag = false;
+                }
+            }
+            if (flag) {
+                return AjaxResult.error("当前填写的户籍地址和居住地址均不属于对应辖区");
+            }
+        }
         LoginUser loginUser = tokenService.getLoginUser();
         // 获取当前的用户名称
         String username = loginUser.getUsername();
@@ -520,7 +579,7 @@ public class CzrkServiceImpl implements ICzrkService {
         czrk.setUpdateBy(username);
         //判断是否确认
         String isConfirm = czrk.getIsConfirm();
-        if (StringUtils.isNotBlank(isConfirm) && "Y".equals(isConfirm)){
+        if (StringUtils.isNotBlank(isConfirm) && "Y".equals(isConfirm)) {
             czrk.setConfirmInfoUser(username);
             czrk.setConfirmInfoUserTime(DateUtils.getNowDate());
         }
@@ -533,9 +592,6 @@ public class CzrkServiceImpl implements ICzrkService {
         czrkMapper.insertConfirmInfoUser(confirmInfoUser);
 
 
-        List<CzrkJzdz> czrkJzdzList = czrk.getCzrkJzdzList();
-        if (isEmpty(czrkJzdzList)) return AjaxResult.error("该人员常住地址未添加");
-
         czrkJzdzService.deleteByCzrkId(czrk.getId());
         int sort = 0, childCount = 0;
         for (CzrkJzdz czrkJzdz : czrkJzdzList) {
@@ -552,7 +608,7 @@ public class CzrkServiceImpl implements ICzrkService {
     }
 
     @Override
-    public JSONObject stsByApplet(Long provinceId, Long cityId, Long regionId, Long townId, Long villageId, String userName, String queryType, String houseType,String isConfirm) {
+    public JSONObject stsByApplet(Long provinceId, Long cityId, Long regionId, Long townId, Long villageId, String userName, String queryType, String houseType, String isConfirm) {
         Long areaId = null;
         int type = 0, yrl = 0, wrl = 0;
         if (ObjectUtils.isNotEmpty(provinceId)) {
@@ -574,11 +630,11 @@ public class CzrkServiceImpl implements ICzrkService {
 
         if (Czrk.HJ.equals(queryType)) {
             // 户籍
-            yrl = czrkMapper.stsByYrl(type, areaId, userName, houseType,isConfirm);
-            wrl = czrkMapper.stsByWrl(type, areaId, userName, houseType,isConfirm);
+            yrl = czrkMapper.stsByYrl(type, areaId, userName, houseType, isConfirm);
+            wrl = czrkMapper.stsByWrl(type, areaId, userName, houseType, isConfirm);
         } else {
             // 常住
-            List<Czrk> rls = czrkMapper.stsByAppletCz(type, areaId, userName, houseType,isConfirm);
+            List<Czrk> rls = czrkMapper.stsByAppletCz(type, areaId, userName, houseType, isConfirm);
             for (Czrk czrk : rls) {
                 if ("是".equals(czrk.getIsRl())) {
                     yrl++;
@@ -621,12 +677,14 @@ public class CzrkServiceImpl implements ICzrkService {
             }
 
             ThreadPoolService.execute(() -> {
-                Long areaId = 340882000000L;
-                List<SysDept> allDepts = remoteDeptService.listChildrenDepts(1L);
+                //Long areaId = 340882000000L;
+                //todo 固定写了潜山市
+                List<SysDept> allDepts = remoteDeptService.listChildrenDepts(deptId);
                 List<SysDept> townsDepts = new ArrayList<>(16);
                 for (SysDept allDept : allDepts) {
                     if (isEmpty(allDept.getParentId())) continue;
-                    if (allDept.getParentId() == (1L)) {
+                    //todo 固定判断是潜山市
+                    if (allDept.getParentId().equals(deptId)) {
                         townsDepts.add(allDept);
                     }
                 }
@@ -654,7 +712,8 @@ public class CzrkServiceImpl implements ICzrkService {
 
                 result.put("zu", isEmpty(zuDept) ? 0 : zuDept.size()); // 组
 
-                List<Long> deptIdList = null;
+                List<Long> deptIdList = new ArrayList<>();
+                deptIdList.add(deptId);
                 int zrs = czrkMapper.countAll(); // 总人数
                 int hjzrs = czrkMapper.countHj1(deptIdList); // 该镇户籍人口总数
                 result.put("hjzrs", hjzrs);
@@ -1196,6 +1255,7 @@ public class CzrkServiceImpl implements ICzrkService {
 
     /**
      * 一键确认家庭成员
+     *
      * @param ids
      * @return
      */
@@ -1204,7 +1264,7 @@ public class CzrkServiceImpl implements ICzrkService {
         LoginUser loginUser = tokenService.getLoginUser();
         // 获取当前的用户名称
         String username = loginUser.getUsername();
-        if (StringUtils.isBlank(username)){
+        if (StringUtils.isBlank(username)) {
             return AjaxResult.error("未查询到确认人员名称");
         }
         for (Long id : ids) {

+ 7 - 0
boman-web-core/src/main/resources/mapper/CzrkJzdzMapper.xml

@@ -53,7 +53,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="village != null  and village != ''"> and village = #{village}</if>
             <if test="nowIn != null  and nowIn != ''"> and now_in = #{nowIn}</if>
             <if test="status != null  and status != ''"> and status = #{status}</if>
+            <if test="deptIdList != null and deptIdList.size() > 0">
+                and dept_id in
+                <foreach item="deptId" collection="deptIdList" open="(" separator="," close=")">
+                    #{deptId}
+                </foreach>
+            </if>
         </where>
+        order by create_time DESC
     </select>
 
     <select id="listIdCard" resultType="string">