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<List<VoController>> getControllers(QueryVo queryVo) {
|
Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
|
|
Long itemTotal = prControllerMapper.getRecordCount(params);
|
|
QueryResultVo<List<VoController>> 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<Map<String, Object>> getControllersByAddr(String rtuAddr) {
|
return prControllerMapper.getControllersByAddr(rtuAddr);
|
}
|
|
/**
|
* 根据控制器编号逻辑删除控制
|
* @param controllerId
|
* @return
|
*/
|
public Integer deleteControllerById(Long controllerId) {
|
return prControllerMapper.deleteControllerById(controllerId);
|
}
|
|
/**
|
* 根据指定条件导出控制器列表
|
* @param queryVo
|
* @return
|
*/
|
public List<VoController> export(QueryVo queryVo) {
|
Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
|
List<VoController> 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<Map<String, Object>> list = Optional.ofNullable(prIntakeMapper.getNoBindingIntakes()).orElse(new ArrayList<>());
|
JSONArray array= null;
|
if(list.size() > 0) {
|
array= JSONArray.parseArray(JSON.toJSONString(list));
|
}
|
return array;
|
}
|
}
|