liurunyu
2024-04-02 0eaef592517ced667ed16413f9d22ab677915101
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java
@@ -1,17 +1,33 @@
package com.dy.pipIrrProject.controller;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.Command;
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.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import static com.dy.common.mw.protocol.CommandType.innerCommand;
/**
 * @author ZhuBaoMin
@@ -26,8 +42,19 @@
    @Autowired
    private PrControllerMapper prControllerMapper;
    @Autowired
    private PrIntakeMapper prIntakeMapper;
    @Autowired
    private PrIntakeControllerMapper prIntakeControllerMapper;
    @Autowired
    private RestTemplate restTemplate;
    /**
     * 根据指定获取控制器记录
     *
     * @param queryVo
     * @return
     */
@@ -36,36 +63,38 @@
        Long itemTotal = prControllerMapper.getRecordCount(params);
        QueryResultVo<List<VoController>> rsVo = new QueryResultVo<>() ;
        Integer pageCurr = 0;
        Integer pageSize = 10000;
        rsVo.pageCurr = 1;
        rsVo.pageSize = 10000;
        if(queryVo.pageSize != null && queryVo.pageCurr != null) {
            rsVo.pageSize = queryVo.pageSize ;
            rsVo.pageCurr = queryVo.pageCurr;
            pageSize = queryVo.pageSize ;
            pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString());
        }
        params.put("pageCurr", pageCurr);
        params.put("pageSize", pageSize);
        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 ;
        return rsVo;
    }
    /**
     * 添加控制器
     *
     * @param po
     * @return
     */
    public Integer addController(PrController po) {
        return prControllerMapper.insert(po);
        prControllerMapper.insert(po);
        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("绑定");
        prIntakeControllerMapper.insert(addPrIntakeController);
        return 1;
    }
    /**
     * 根据控制器地址获取控制器列表
     *
     * @param rtuAddr
     * @return
     */
@@ -75,6 +104,7 @@
    /**
     * 根据控制器编号逻辑删除控制
     *
     * @param controllerId
     * @return
     */
@@ -84,6 +114,7 @@
    /**
     * 根据指定条件导出控制器列表
     *
     * @param queryVo
     * @return
     */
@@ -91,19 +122,22 @@
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
        List<VoController> rsVo = new ArrayList<>();
        rsVo = prControllerMapper.getControllers(params);
        return rsVo ;
        return rsVo;
    }
    /**
     * 根据控制器编号获取未删除的控制器数量
     *
     * @param controllerId
     * @return
     */
    public Integer getRecordCountOfController(Long controllerId) {
        return prControllerMapper.getRecordCountOfController(controllerId);
    }
    /**
     * 根据控制器编号获取已绑定记录数
     *
     * @param controllerId
     * @return
     */
@@ -113,10 +147,25 @@
    /**
     * 根据主键删除外键
     *
     * @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;
    }
}