package com.dy.pipIrrWechat.irrigatePlan;
|
|
import com.dy.common.webUtil.QueryResultVo;
|
import com.dy.pipIrrGlobal.daoIr.*;
|
import com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan;
|
import com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule;
|
import com.dy.pipIrrGlobal.pojoIr.IrOpeningSchedule;
|
import com.dy.pipIrrGlobal.pojoIr.IrPlanOperate;
|
import com.dy.pipIrrGlobal.voIr.VoIrrigatePlan;
|
import com.dy.pipIrrGlobal.voIr.VoIrrigateSchedule;
|
import com.dy.pipIrrWechat.irrigatePlan.qo.QoIrrigatePlan;
|
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.List;
|
import java.util.Map;
|
|
/**
|
* @author ZhuBaoMin
|
* @date 2025-02-20 15:27
|
* @LastEditTime 2025-02-20 15:27
|
* @Description
|
*/
|
|
@Slf4j
|
@Service
|
public class IrrigatePlanSv {
|
@Autowired
|
private IrIrrigatePlanMapper irrigatePlanMapper;
|
|
@Autowired
|
private IrPlanOperateMapper irPlanOperateMapper;
|
|
@Autowired
|
private IrIrrigateScheduleMapper irIrrigateScheduleMapper;
|
|
@Autowired
|
private IrOpeningScheduleMapper irOpeningScheduleMapper;
|
|
@Autowired
|
private IrIrrigateGroupMapper irIrrigateGroupMapper;
|
|
@Autowired
|
private IrIrrigateUnitMapper irIrrigateUnitMapper;
|
|
/**
|
* 添加灌溉计划
|
* @param po
|
* @return
|
*/
|
public Long addIrrigatePlan(IrIrrigatePlan po) {
|
irrigatePlanMapper.insert(po);
|
return po.getId();
|
}
|
|
/**
|
* 根据指定的条件获取计划列表
|
* @param queryVo
|
* @return
|
*/
|
public QueryResultVo<List<VoIrrigatePlan>> getIrrigatePlans(QoIrrigatePlan queryVo) {
|
Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
|
|
Long itemTotal = irrigatePlanMapper.getIrrigatePlanCount(params);
|
|
QueryResultVo<List<VoIrrigatePlan>> rsVo = new QueryResultVo<>();
|
rsVo.pageSize = queryVo.pageSize;
|
rsVo.pageCurr = queryVo.pageCurr;
|
|
rsVo.calculateAndSet(itemTotal, params);
|
rsVo.obj = irrigatePlanMapper.getIrrigatePlans(params);
|
return rsVo;
|
}
|
|
/**
|
* 发布指定的灌溉计划
|
* @param planId
|
* @return
|
*/
|
public Integer publishIrrigatePlan(Long planId) {
|
return irrigatePlanMapper.publishIrrigatePlan(planId);
|
}
|
|
/**
|
* 添加灌溉计划操作记录
|
* @param po
|
* @return
|
*/
|
public Long addPlanOperate(IrPlanOperate po) {
|
irPlanOperateMapper.insert(po);
|
return po.getId();
|
}
|
|
/**
|
* 添加灌溉次序记录
|
* @param po
|
* @return
|
*/
|
public Long addIrrigateSchedule(IrIrrigateSchedule po) {
|
irIrrigateScheduleMapper.insert(po);
|
return po.getId();
|
}
|
|
/**
|
* 根据计划ID获取灌溉次序
|
* @param planId
|
* @return
|
*/
|
public List<VoIrrigateSchedule> getIrrigateSchedules(Long planId) {
|
return irIrrigateScheduleMapper.getIrrigateSchedules(planId);
|
}
|
|
/**
|
* 添加开阀计划
|
* @param po
|
* @return
|
*/
|
public Long addOpeningSchedule(IrOpeningSchedule po) {
|
irOpeningScheduleMapper.insert(po);
|
return po.getId();
|
}
|
|
/**
|
* 根据轮灌组ID获取取水口ID列表
|
* @param groupId
|
* @return
|
*/
|
public List<Long> getIntakesByGroupId(Long groupId) {
|
return irIrrigateGroupMapper.getIntakesByGroupId(groupId);
|
}
|
|
/**
|
* 根据灌溉单元ID获取取水口ID
|
* @param unitId
|
* @return
|
*/
|
public Long getIntakeIdByUnitId(Long unitId) {
|
return irIrrigateUnitMapper.getIntakeIdByUnitId(unitId);
|
}
|
}
|