|  |  | 
 |  |  | 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; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @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) ; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @Transactional | 
 |  |  |     public int save(BaDistrict po){ | 
 |  |  |         return this.dao.insert(po) ; | 
 |  |  |         return this.dao.putin(po) ; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @Transactional | 
 |  |  |     public int delete(Long id){ | 
 |  |  |         return this.dao.deleteLogicById(id) ; | 
 |  |  |         return this.dao.deleteByPrimaryKey(id) ; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |                 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()); | 
 |  |  |     } | 
 |  |  | } |