package com.dy.pipIrrProject.controller; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.daoPr.PrControllerMapper; import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper; import com.dy.pipIrrGlobal.pojoPr.PrController; import com.dy.pipIrrGlobal.voPr.VoController; 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; import java.util.Optional; /** * @author ZhuBaoMin * @date 2023-12-29 10:06 * @LastEditTime 2023-12-29 10:06 * @Description */ @Slf4j @Service public class ControllerSv { @Autowired private PrControllerMapper prControllerMapper; @Autowired private PrIntakeMapper prIntakeMapper; /** * 根据指定获取控制器记录 * @param queryVo * @return */ public QueryResultVo> getControllers(QueryVo queryVo) { Map params = (Map) PojoUtils.generalize(queryVo); Long itemTotal = prControllerMapper.getRecordCount(params); QueryResultVo> rsVo = new QueryResultVo<>() ; rsVo.pageSize = queryVo.pageSize ; rsVo.pageCurr = queryVo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = prControllerMapper.getControllers(params); return rsVo ; } /** * 添加控制器 * @param po * @return */ public Integer addController(PrController po) { return prControllerMapper.insert(po); } /** * 根据控制器地址获取控制器列表 * @param rtuAddr * @return */ public List> getControllersByAddr(String rtuAddr) { return prControllerMapper.getControllersByAddr(rtuAddr); } /** * 根据控制器编号逻辑删除控制 * @param controllerId * @return */ public Integer deleteControllerById(Long controllerId) { return prControllerMapper.deleteControllerById(controllerId); } /** * 根据指定条件导出控制器列表 * @param queryVo * @return */ public List export(QueryVo queryVo) { Map params = (Map) PojoUtils.generalize(queryVo); List rsVo = new ArrayList<>(); rsVo = prControllerMapper.getControllers(params); return rsVo ; } /** * 根据控制器编号获取未删除的控制器数量 * @param controllerId * @return */ public Integer getRecordCountOfController(Long controllerId) { return prControllerMapper.getRecordCountOfController(controllerId); } /** * 根据控制器编号获取已绑定记录数 * @param controllerId * @return */ public Integer getBindedCount(Long controllerId) { return prControllerMapper.getBindedCount(controllerId); } /** * 根据主键删除外键 * @param controllerId * @return */ public Integer deleteIntakeId(Long controllerId) { return prControllerMapper.deleteIntakeId(controllerId); } /** * 获取未绑控制器的取水口列表 * @return */ public JSONArray getNoBindingIntakes() { List> list = Optional.ofNullable(prIntakeMapper.getNoBindingIntakes()).orElse(new ArrayList<>()); JSONArray array= null; if(list.size() > 0) { array= JSONArray.parseArray(JSON.toJSONString(list)); } return array; } }