package com.dy.pipIrrWechat.irrigatePlan;
|
|
import com.dy.pipIrrGlobal.daoIr.*;
|
import com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan;
|
import com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule;
|
import com.dy.pipIrrGlobal.pojoIr.IrPlanOperate;
|
import com.dy.pipIrrGlobal.pojoIr.IrPlanSchedule;
|
import com.dy.pipIrrGlobal.voIr.VoIrrigateSchedule;
|
import com.dy.pipIrrGlobal.voIr.VoPlanSimple;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @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;
|
|
@Autowired
|
private IrPlanScheduleMapper irPlanScheduleMapper;
|
|
@Autowired
|
private IrGroupIntakeMapper irGroupIntakeMapper;
|
|
/**
|
* 添加灌溉计划
|
* @param po
|
* @return
|
*/
|
public Long addIrrigatePlan(IrIrrigatePlan po) {
|
irrigatePlanMapper.insert(po);
|
return po.getId();
|
}
|
|
/**
|
* 根据指定的计划ID获取启动模式
|
* @param planId
|
* @return
|
*/
|
public Byte getStartupMode(Long planId) {
|
return irrigatePlanMapper.getStartupMode(planId);
|
}
|
|
/**
|
* 根据指定的条件获取计划列表
|
* @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 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> getSchedulesByPlanId(Long planId) {
|
return irIrrigateScheduleMapper.getSchedulesByPlanId(planId);
|
}
|
|
/**
|
* 根据组ID获取取水口ID集合
|
* @param groupId
|
* @return
|
*/
|
public List<Long> getIntakeIdsByGroupId(Long groupId) {
|
return irGroupIntakeMapper.getIntakeIdsByGroupId(groupId);
|
}
|
|
/**
|
* 添加计划次序关联记录
|
* @param po
|
* @return
|
*/
|
public Long addPlanSchedule(IrPlanSchedule po) {
|
irPlanScheduleMapper.insert(po);
|
return po.getId();
|
}
|
|
/**
|
* 根据计划ID获取计划简单信息列表
|
* @param planId
|
* @return
|
*/
|
public VoPlanSimple getPlanSimple(Long planId) {
|
return irrigatePlanMapper.getPlanSimple(planId);
|
}
|
|
/**
|
* 根据计划ID更新计划信息(起止时间、计划状态)
|
* @param planStartTime
|
* @param planEndTime
|
* @param planId
|
* @return
|
*/
|
public Integer updatePlanTimes(Date planStartTime, Date planEndTime, Long planId) {
|
return irrigatePlanMapper.updatePlanTimes(planStartTime, planEndTime, planId);
|
}
|
|
/**
|
* 根据灌溉次序ID更新次序开始时间
|
* @param scheduleId
|
* @param startTime
|
* @return
|
*/
|
public Integer updateScheduleStartTime(Long scheduleId, Date startTime) {
|
return irIrrigateScheduleMapper.updateScheduleStartTime(scheduleId, startTime);
|
}
|
|
///**
|
// * 添加开阀计划
|
// * @param po
|
// * @return
|
// */
|
//public Long addOpeningSchedule(IrOpeningSchedule po) {
|
// irOpeningScheduleMapper.insert(po);
|
// return po.getId();
|
//}
|
|
/**
|
* 根据灌溉单元ID获取取水口ID
|
* @param unitId
|
* @return
|
*/
|
public Long getIntakeIdByUnitId(Long unitId) {
|
return irIrrigateUnitMapper.getIntakeIdByUnitId(unitId);
|
}
|
}
|