| | |
| | | @Value("${wechat.irr.plan.preOpeningTime:10}") |
| | | private Integer preOpeningTime; |
| | | |
| | | @Value("${wechat.irr.plan.planTerminateLimitMinutes:5}") |
| | | private Integer planTerminateLimitMinutes; // 计划终止后限制发布新计划的时间间隔(分钟) |
| | | |
| | | /** |
| | | * 添加灌溉计划 |
| | | * |
| | | * @param po |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 删除灌溉计划 |
| | | * |
| | | * @param planSimple |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 发布灌溉计划 |
| | | * |
| | | * @param planSimple |
| | | * @return |
| | | */ |
| | |
| | | Long operatorId = planSimple.getOperatorId(); |
| | | Byte operateType = 1; |
| | | |
| | | // 检查当前项目是否存在未完成的灌溉计划 |
| | | if(irrigatePlanMapper.hasPlan_CurrentProject(planId) > 0) { |
| | | Map map = new HashMap<>(); |
| | | map.put("success", false); |
| | |
| | | return map; |
| | | } |
| | | |
| | | // 检查其他项目中是否存在未完成的灌溉计划 |
| | | if(irrigatePlanMapper.hasPlan_OtherProject(planId) > 0) { |
| | | Map map = new HashMap<>(); |
| | | map.put("success", false); |
| | | map.put("msg", "待发布计划的轮灌组在其他项目的灌溉计划中,且该计划尚未完成"); |
| | | map.put("content", null); |
| | | return map; |
| | | } |
| | | |
| | | // 检查5分钟内是否有终止的计划,且轮灌组有重叠 |
| | | Long lastTerminatedPlanId = irPlanOperateMapper.getLastTerminatedPlanId(planTerminateLimitMinutes); |
| | | if (lastTerminatedPlanId != null) { |
| | | // 检查当前计划与最近终止计划的轮灌组是否有重叠 |
| | | if (irrigatePlanMapper.hasPlanOverlapWithTerminated(planId, lastTerminatedPlanId) > 0) { |
| | | Map map = new HashMap<>(); |
| | | map.put("success", false); |
| | | map.put("msg", "上一个计划终止后" + planTerminateLimitMinutes + "分钟内不能发布新计划"); |
| | | map.put("content", null); |
| | | return map; |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | /** |
| | | * 根据计划ID获取计划最新状态 |
| | | * |
| | | * @param planId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据计划ID获取待终止计划的结束时间:未删除、未终止、已发布、当前时间小于计划结束时间 |
| | | * |
| | | * @param planId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据计划ID获取待终止的取水口ID(已发布开发命令,无论是否成功) |
| | | * |
| | | * @param planId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据计划ID获取待终止的命令ID列表 |
| | | * |
| | | * @param planId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据计划ID获取待终止的取水口列表(开阀成功的) |
| | | * |
| | | * @param planId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据命令日志ID获取取水口及虚拟卡信息,终止灌溉计划时使用,用来执行远程关阀 |
| | | * |
| | | * @param commandId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 修改灌溉计划 |
| | | * |
| | | * @param po |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 获取未完成的计划列表,小程序计划列表页使用 |
| | | * |
| | | * @return |
| | | */ |
| | | public List<VoPlans> getNotCompletePlans() { |
| | |
| | | |
| | | /** |
| | | * 获取已完成的计划列表,小程序计划列表页使用 |
| | | * |
| | | * @return |
| | | */ |
| | | public QueryResultVo<List<VoPlans>> getCompletedPlans(QueryConditionVo queryVo) { |
| | |
| | | |
| | | /** |
| | | * 根据指定的计划ID获取启动模式 |
| | | * |
| | | * @param planId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 添加灌溉计划操作记录 |
| | | * |
| | | * @param po |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 添加灌溉次序记录 |
| | | * |
| | | * @param po |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据计划ID终止灌溉次序,将灌溉次序的当前状态改为已终止 |
| | | * |
| | | * @param planId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据计划ID获取灌溉次序记录 |
| | | * |
| | | * @param planId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据组ID获取取水口ID集合 |
| | | * |
| | | * @param groupId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 添加计划次序关联记录 |
| | | * |
| | | * @param po |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据灌溉次序ID更新次序开始时间 |
| | | * |
| | | * @param scheduleId |
| | | * @param startTime |
| | | * @return |
| | |
| | | |
| | | /** |
| | | * 根据灌溉单元ID获取取水口ID |
| | | * |
| | | * @param unitId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据计划ID获取计划发布结果 |
| | | * |
| | | * @param planId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据计划ID获取计划终止操作结果 |
| | | * |
| | | * @param planId |
| | | * @return |
| | | */ |