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.PrIntakeControllerMapper;
|
import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
|
import com.dy.pipIrrGlobal.pojoPr.PrController;
|
import com.dy.pipIrrGlobal.pojoPr.PrIntakeController;
|
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 org.springframework.web.client.RestTemplate;
|
|
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;
|
|
@Autowired
|
private PrIntakeControllerMapper prIntakeControllerMapper;
|
|
@Autowired
|
private RestTemplate restTemplate;
|
|
|
/**
|
* 根据指定获取控制器记录
|
*
|
* @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) {
|
int rows = prControllerMapper.insert(po);
|
if(rows == 0) {
|
return 0;
|
}
|
PrIntakeController addPrIntakeController = new PrIntakeController();
|
addPrIntakeController.setIntakeid(po.getIntakeId());
|
addPrIntakeController.setControllerid(po.getId());
|
addPrIntakeController.setOperatetype((byte) 1);
|
addPrIntakeController.setOperator(po.getOperator());
|
addPrIntakeController.setOperatedt(po.getOperateDt());
|
addPrIntakeController.setRemarks("绑定");
|
int rec = prIntakeControllerMapper.insert(addPrIntakeController);
|
if(rec == 0) {
|
return 0;
|
}
|
return 1 ;
|
}
|
|
/**
|
* 根据控制器地址获取控制器列表
|
*
|
* @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;
|
}
|
}
|