|  |  |  | 
|---|
|  |  |  | package com.dy.pipIrrBase.district; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.dy.pipIrrBase.district.qo.DistrictQO; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.daoBa.AreaCode2023Mapper; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.daoBa.BaDistrictMapper; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.pojoBa.BaDistrict; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.util.DistrictLevel; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.voBa.VoDistrict; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Slf4j | 
|---|
|  |  |  | @Service | 
|---|
|  |  |  | public class DistrictSv { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private BaDistrictMapper dao; | 
|---|
|  |  |  | private AreaCode2023Mapper areaCode2023Dao; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private void setDao(BaDistrictMapper dao){ | 
|---|
|  |  |  | this.dao = dao; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 保存实体 | 
|---|
|  |  |  | * @param po 实体 | 
|---|
|  |  |  | * @return 数量 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public int save(BaDistrict po){ | 
|---|
|  |  |  | return this.dao.insert(po) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 保存修改实体 | 
|---|
|  |  |  | * @param po 实体 | 
|---|
|  |  |  | * @return 数量 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public int update(BaDistrict po){ | 
|---|
|  |  |  | return this.dao.updateByPrimaryKeySelective(po) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 保存修改实体 | 
|---|
|  |  |  | * @param id 实体ID | 
|---|
|  |  |  | * @return 数量 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public int delete(Long id){ | 
|---|
|  |  |  | return this.dao.deleteLogicById(id) ; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private void setDao(AreaCode2023Mapper areaCode2023Dao){ | 
|---|
|  |  |  | this.areaCode2023Dao = areaCode2023Dao; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | List<BaDistrict> list = this.dao.selectByLevel(firstLevel) ; | 
|---|
|  |  |  | if(list != null && list.size() > 0){ | 
|---|
|  |  |  | for(BaDistrict po : list){ | 
|---|
|  |  |  | po.canDelete = false ; | 
|---|
|  |  |  | po.canAdd = true ; | 
|---|
|  |  |  | getSubDistrict(po) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 保存实体 | 
|---|
|  |  |  | * @param po 实体 | 
|---|
|  |  |  | * @return 数量 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public int save(BaDistrict po){ | 
|---|
|  |  |  | return this.dao.putin(po) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 保存修改实体 | 
|---|
|  |  |  | * @param po 实体 | 
|---|
|  |  |  | * @return 数量 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public int update(BaDistrict po){ | 
|---|
|  |  |  | return this.dao.updateByPrimaryKeySelective(po) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 保存修改实体 | 
|---|
|  |  |  | * @param id 实体ID | 
|---|
|  |  |  | * @return 数量 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public int delete(Long id){ | 
|---|
|  |  |  | return this.dao.deleteByPrimaryKey(id) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 得到下级行政区划 | 
|---|
|  |  |  | * @param po 上级行政区划 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 
|---|
|  |  |  | for(BaDistrict subPo : po.subDistricts){ | 
|---|
|  |  |  | getSubDistrict(subPo) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | //没有下级了,可以删除 | 
|---|
|  |  |  | po.canDelete = false ; | 
|---|
|  |  |  | if(po.level.code.byteValue() == DistrictLevel.Village.code.byteValue()){ | 
|---|
|  |  |  | //到村级了,不可以再添加行政区了 | 
|---|
|  |  |  | po.canAdd = false ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 根据级别获取行政区划列表 | 
|---|
|  |  |  | * @param level | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public List<Map<String, Object>> getDistrictgsByLevel(Integer level) { | 
|---|
|  |  |  | return dao.getDistrictgsByLevel(level); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 根据父ID获取行政区划列表 | 
|---|
|  |  |  | * @param supperId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public List<Map<String, Object>> getDistrictsBySupperId(Long supperId) { | 
|---|
|  |  |  | return dao.getDistrictsBySupperId(supperId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 根据区划代码查询指定级别行政区划 | 
|---|
|  |  |  | * @param qo | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public List<VoDistrict> getDistrictS(DistrictQO qo) { | 
|---|
|  |  |  | return areaCode2023Dao.getDistrictS(qo.getAredCode(), qo.getLevel()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|