Browse Source

Merge remote-tracking branch 'origin/master'

tjf 3 years ago
parent
commit
05f62e6b24

+ 9 - 0
boman-web-core/src/main/java/com/boman/web/core/controller/CzrkController.java

@@ -79,6 +79,15 @@ public class CzrkController extends BaseController {
         return AjaxResult.success(czrkService.selectCzrkById(id));
     }
 
+    /***
+     * 功能描述: 根据户主修改家庭成员的户籍与居住信息
+     * @return com.boman.domain.dto.AjaxResult
+     */
+    @GetMapping("/synchronization/{code}")
+    public AjaxResult synchronization(@PathVariable("code") String code) {
+        return czrkService.synchronization(code);
+    }
+
     /**
      * 新增常住人口
      */

+ 1 - 0
boman-web-core/src/main/java/com/boman/web/core/mapper/CzrkJzdzMapper.java

@@ -74,4 +74,5 @@ import java.util.List;
 
     List<CzrkJzdz> selectCzrkJzdzListPage(@Param("startNum") int startNum, @Param("endNum") int endNum);
 
+    int updateHouseholdRegister(@Param("idCardList")List<String> idCardList,@Param("hzCzrkJzdz")CzrkJzdz hzCzrkJzdz);
 }

+ 3 - 0
boman-web-core/src/main/java/com/boman/web/core/mapper/CzrkMapper.java

@@ -82,6 +82,7 @@ public interface CzrkMapper {
 
     List<Czrk> listByCode(String code);
 
+    List<Czrk> listByCodeSynchronization(String code);
 
     int stsByYrl(@Param("type") int type, @Param("areaId") Long areaId, @Param("userName") String userName, @Param("houseType") String houseType,@Param("isConfirm")String isConfirm);
     int stsByWrl(@Param("type") int type, @Param("areaId") Long areaId, @Param("userName") String userName, @Param("houseType") String houseType,@Param("isConfirm")String isConfirm);
@@ -146,4 +147,6 @@ public interface CzrkMapper {
     int confirmInfoByIds(@Param("ids") Long[] ids, @Param("userName") String userName);
 
     int insertConfirmInfoUser(ConfirmInfoUser confirmInfoUser);
+
+    int updateHouseholdRegister(@Param("czrk") Czrk czrk);
 }

+ 5 - 0
boman-web-core/src/main/java/com/boman/web/core/service/czrk/CzrkJzdzServiceImpl.java

@@ -123,5 +123,10 @@ public class CzrkJzdzServiceImpl implements ICzrkJzdzService {
         return czrkJzdzMapper.updateByCzrkId(czrkJzdz);
     }
 
+    @Override
+    public int updateHouseholdRegister(List<String> idCardList,CzrkJzdz hzCzrkJzdz) {
+        return czrkJzdzMapper.updateHouseholdRegister(idCardList,hzCzrkJzdz);
+    }
+
 
 }

+ 39 - 1
boman-web-core/src/main/java/com/boman/web/core/service/czrk/CzrkServiceImpl.java

@@ -462,14 +462,51 @@ public class CzrkServiceImpl implements ICzrkService {
         if (isEmpty(code)) {
             return Collections.emptyList();
         }
-
+        //查找当前所有家庭成员(户主在第一位)
         List<Czrk> czrks = czrkMapper.listByCode(code);
         // 居住地址
         List<CzrkJzdz> czrkJzdzList = getCzrkJzdzs(czrks);
+
         handleList(czrks, Czrk.HJ, czrkJzdzList);
         return czrks;
     }
 
+    /***
+     * 功能描述: 根据户主修改家庭成员的户籍与居住信息
+     * @return com.boman.domain.dto.AjaxResult
+     */
+    @Override
+    @Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor = Exception.class)
+    public AjaxResult synchronization(String code) {
+//        log.info("{}于{}根据户号同步家庭中所有人员,户号:{}"
+//                , AuthUtils.getLoginUser().getSysUser().getUserName(), DateUtils.dateTimeNow(), code);
+//        if (isEmpty(code)) {
+//            return "失败";
+//        }
+
+        //查找当前所有家庭成员(户主在第一位)
+        List<Czrk> czrks = czrkMapper.listByCodeSynchronization(code);
+        if(czrks.size()==1){
+            return AjaxResult.error("操作失败");
+        }
+        //修改家庭成员信息(户籍地址和居住地址)
+        //修改户籍地址
+        int hj = czrkMapper.updateHouseholdRegister(czrks.get(0));
+        //修改居住地址
+        List<String> idCardList = map(czrks, Czrk::getIdCard);
+        List<CzrkJzdz> czrkJzdzList = czrkJzdzService.listByIdCard(idCardList);
+        //取出户主信息
+        CzrkJzdz hzCzrkJzdz = new CzrkJzdz();
+        for (CzrkJzdz czrkJzdz : czrkJzdzList) {
+            if(czrks.get(0).getId().equals(czrkJzdz.getCzrkId())){
+                hzCzrkJzdz = czrkJzdz;
+                break;
+            }
+        }
+        int jz = czrkJzdzService.updateHouseholdRegister(idCardList,hzCzrkJzdz);
+        return AjaxResult.success("操作成功");
+    }
+
     @Override
     public Czrk getById(Long id) {
         if (isEmpty(id)) {
@@ -1297,6 +1334,7 @@ public class CzrkServiceImpl implements ICzrkService {
         return AjaxResult.success();
     }
 
+
     private String packRedisKey(String deptId) {
         return STS_CZRK_ + deptId + ":" + DateUtils.getDate();
     }

+ 2 - 0
boman-web-core/src/main/java/com/boman/web/core/service/czrk/ICzrkJzdzService.java

@@ -68,4 +68,6 @@ public interface ICzrkJzdzService {
 
     int updateByIdCard(CzrkJzdz czrkJzdz);
     int updateByCzrkId(CzrkJzdz czrkJzdz);
+
+    int updateHouseholdRegister(List<String> idCardList, CzrkJzdz hzCzrkJzdz);
 }

+ 6 - 0
boman-web-core/src/main/java/com/boman/web/core/service/czrk/ICzrkService.java

@@ -99,4 +99,10 @@ public interface ICzrkService {
      * @return
      */
     AjaxResult confirmInfoByIds(Long ids[]);
+
+    /***
+     * 功能描述: 根据户主修改家庭成员的户籍与居住信息
+     * @return com.boman.domain.dto.AjaxResult
+     */
+    AjaxResult synchronization(String code);
 }

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

@@ -233,6 +233,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where czrk_id = #{czrkId}
     </update>
 
+    <update id="updateHouseholdRegister">
+        update czrk_jzdz
+        set province_id = #{hzCzrkJzdz.provinceId},
+            province = #{hzCzrkJzdz.province},
+            city_id = #{hzCzrkJzdz.cityId},
+            city = #{hzCzrkJzdz.city},
+            region_id = #{hzCzrkJzdz.regionId},
+            region = #{hzCzrkJzdz.region},
+            town_id = #{hzCzrkJzdz.townId},
+            town = #{hzCzrkJzdz.town},
+            village_id = #{hzCzrkJzdz.villageId},
+            village = #{hzCzrkJzdz.village},
+            now_in = #{hzCzrkJzdz.nowIn}
+        where id_card in
+        <foreach item="idCard" collection="idCardList" open="(" separator="," close=")">
+            #{idCard}
+        </foreach>
+    </update>
+
     <delete id="deleteCzrkJzdzById" parameterType="Long">
         delete from czrk_jzdz where id = #{id}
     </delete>

+ 29 - 0
boman-web-core/src/main/resources/mapper/CzrkMapper.xml

@@ -369,6 +369,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where vi.is_del = 'N' and code = #{code} order by house_type desc;
     </select>
 
+    <select id="listByCodeSynchronization" resultMap="CzrkResult">
+        select vi.id, vi.user_name, vi.phone_num, vi.id_card, vi.gender,
+        vi.province_id,vi.province, vi.city_id, vi.city,vi.region_id, vi.region,
+        vi.village_towns_id, vi.village_towns, vi.village_id, vi.village, vi.villager_group_id, vi.villager_group,
+        vi.now_in, vi.code
+        from czrk vi
+        <!--把户主放第一位-->
+        where vi.is_del = 'N' and code = #{code} order by house_type desc;
+    </select>
+
+
+
     <select id="countCzrk" resultType="int">
         select count(vi.id)
         from czrk vi
@@ -747,6 +759,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where id = #{id}
     </update>
 
+    <update id="updateHouseholdRegister">
+        update czrk
+        set province_id = #{czrk.provinceId},
+            province = #{czrk.province},
+            city_id = #{czrk.cityId},
+            city = #{czrk.city},
+            region_id = #{czrk.regionId},
+            region = #{czrk.region},
+            village_towns_id = #{czrk.villageTownsId},
+            village_towns = #{czrk.villageTowns},
+            village_id = #{czrk.villageId},
+            village = #{czrk.village},
+            villager_group_id = #{czrk.villagerGroupId},
+            villager_group = #{czrk.villagerGroup},
+            now_in = #{czrk.nowIn}
+        where is_del = 'N' and code = #{czrk.code};
+    </update>
 
     <select id="findHjInfo"  resultMap="CzrkResult">
         select c.id, c.user_name ,c.gender, c.birthday,c.age,c.code,c.phone_num,c.key_industries,c.province_id,c.province,c.city_id,c.city,c.region_id,c.region,c.village_towns_id,c.village_towns,c.village_id,c.village,c.villager_group_id,c.villager_group,