package com.dy.pipIrrProject.divide; 
 | 
  
 | 
import com.dy.common.webUtil.QueryResultVo; 
 | 
import com.dy.pipIrrGlobal.daoBa.BaDistrictMapper; 
 | 
import com.dy.pipIrrGlobal.daoPr.PrDivideMapper; 
 | 
import com.dy.pipIrrGlobal.pojoPr.PrDivide; 
 | 
import com.dy.pipIrrGlobal.voPr.VoDivide; 
 | 
import lombok.extern.slf4j.Slf4j; 
 | 
import org.apache.dubbo.common.utils.PojoUtils; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.stereotype.Service; 
 | 
  
 | 
import java.util.ArrayList; 
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
  
 | 
/** 
 | 
 * @author ZhuBaoMin 
 | 
 * @date 2023/12/20 20:12 
 | 
 * @LastEditTime 2023/12/20 20:12 
 | 
 * @Description 分水房服务类 
 | 
 */ 
 | 
  
 | 
@Slf4j 
 | 
@Service 
 | 
public class DivideSv { 
 | 
    @Autowired 
 | 
    private PrDivideMapper prDivideMapper; 
 | 
  
 | 
    @Autowired 
 | 
    private BaDistrictMapper baDistrictMapper; 
 | 
  
 | 
    /** 
 | 
     * 添加分水房 
 | 
     * @param po 
 | 
     * @return 
 | 
     */ 
 | 
    Integer addDivide(PrDivide po) { 
 | 
        return prDivideMapper.insert(po); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 根据指定条件获取分水房记录 
 | 
     * @param queryVo 查询视图 
 | 
     * @return 分水房记录列表 
 | 
     */ 
 | 
    public QueryResultVo<List<VoDivide>> getDivides(QueryVo queryVo) { 
 | 
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); 
 | 
  
 | 
        // 计算符合条件的记录数 
 | 
        Long itemTotal = prDivideMapper.getRecordCount(params); 
 | 
  
 | 
        QueryResultVo<List<VoDivide>> rsVo = new QueryResultVo<>() ; 
 | 
        rsVo.pageSize = queryVo.pageSize ; 
 | 
        rsVo.pageCurr = queryVo.pageCurr ; 
 | 
  
 | 
        rsVo.calculateAndSet(itemTotal, params); 
 | 
        rsVo.obj = prDivideMapper.getDivides(params); 
 | 
        return rsVo ; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 根据指定条件导出分水房列表 
 | 
     * @param queryVo 
 | 
     * @return 
 | 
     */ 
 | 
    public List<VoDivide> exportDivides(QueryVo queryVo) { 
 | 
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); 
 | 
        List<VoDivide> rsVo = new ArrayList<>(); 
 | 
        rsVo = prDivideMapper.getDivides(params); 
 | 
        return rsVo ; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 根据分水房主键获取分水房对象 
 | 
     * @param id 
 | 
     * @return 
 | 
     */ 
 | 
    public PrDivide getOneDivide(Long id) { 
 | 
        return prDivideMapper.selectByPrimaryKey(id); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 根据主键逻辑删除一个分水房 
 | 
     * @param id 
 | 
     * @return 
 | 
     */ 
 | 
    public Integer deleteDivideById(Long id) { 
 | 
        return prDivideMapper.deleteDivideById(id); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 根据村编号获取5级区划信息 
 | 
     * @param villageId 村编号(主键) 
 | 
     * @return 5级行政区划信息 
 | 
     */ 
 | 
    public Map getDistrictsByVillageId(Long villageId) { 
 | 
        return baDistrictMapper.getDistrictsByVillageId(villageId); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 修改分水房对象 
 | 
     * @param po 农户对象 
 | 
     * @return 修改记录条数 
 | 
     */ 
 | 
    public Integer updateByPrimaryKey(PrDivide po) { 
 | 
        //return prDivideMapper.updateByPrimaryKey(po); 
 | 
        return prDivideMapper.updateByPrimaryKeySelective(po); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 根据分水房编号获取所属片区编号 
 | 
     * @param divideId 分水房ID 
 | 
     * @return 所属片区ID 
 | 
     */ 
 | 
    public Long getBlockIdById(Long divideId) { 
 | 
        return prDivideMapper.getBlockIdById(divideId); 
 | 
    } 
 | 
} 
 |