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 com.dy.pipIrrGlobal.voIr.VoPlans; 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(); } /** * 修改灌溉计划 * @param po * @return */ public Integer updatePlan(IrIrrigatePlan po) { return irrigatePlanMapper.updateByPrimaryKeySelective(po); } /** * 获取未完成的计划列表,小程序计划列表页使用 * @return */ public List getNotCompletePlans() { return irrigatePlanMapper.getNotCompletePlans(); } /** * 获取已完成的计划列表,小程序计划列表页使用 * @return */ public List getCompletedPlans() { return irrigatePlanMapper.getCompletedPlans(); } /** * 根据指定的计划ID获取启动模式 * @param planId * @return */ public Byte getStartupMode(Long planId) { return irrigatePlanMapper.getStartupMode(planId); } /** * 根据指定的条件获取计划列表 * @param queryVo * @return */ //public QueryResultVo> getIrrigatePlans(QoIrrigatePlan queryVo) { // Map params = (Map) PojoUtils.generalize(queryVo); // // Long itemTotal = irrigatePlanMapper.getIrrigatePlanCount(params); // // QueryResultVo> 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 getSchedulesByPlanId(Long planId) { return irIrrigateScheduleMapper.getSchedulesByPlanId(planId); } /** * 根据组ID获取取水口ID集合 * @param groupId * @return */ public List 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); } }