liurunyu
2024-05-13 0e877574ab499260677ab81c2c0298eb25fe4fd0
Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
13个文件已修改
1个文件已添加
358 ■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrControllerTrampMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeControllerMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrControllerTramp.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoIntake.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerTrampMapper.xml 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeControllerMapper.xml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/DtoIntakeController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/IntakeControllerCtrl.java 156 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/IntakeControllerSv.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/TrampControllerQueryVo.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrControllerTrampMapper.java
@@ -6,6 +6,7 @@
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
 * @Author liurunyu
@@ -77,4 +78,17 @@
     * @return
     */
    PrControllerTramp getTrampControllerInfo(@Param("controllerId") Long controllerId);
    /**
     * 条件查询流浪控制器信息
     * @param
     * @return
     */
    List<PrControllerTramp> getTrampControllers(Map<?, ?> params);
    /**
     * 条件查询流浪控制器数量
     * @param
     * @return  recordCount
     */
    Long getTrampControllersCount(Map<?, ?> params);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeControllerMapper.java
@@ -52,4 +52,11 @@
     * @return 取水口与控制器绑定列表
     */
    List<Map<String, Object>> getBindsByControllerId(@Param("controllerId") Long controllerId);
    /**
     * 修改绑定记录通过取水口
     * @param record
     * @return
     */
    int updateByIntakeSelective(PrIntakeController record);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrControllerTramp.java
@@ -61,7 +61,7 @@
     * 发现时间
     */
    @Schema(description = "发现时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "发现时间不能为空")
//    @NotNull(message = "发现时间不能为空")
    public Date findDt;//发现时间( yyyy-mm-dd HH:MM:SS)
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoIntake.java
@@ -88,4 +88,14 @@
    @ExcelProperty("备注")
    @ColumnWidth(250)
    private String remarks;
    @Schema(title = "控制器ID")
    @ExcelProperty("控制器ID")
    @ColumnWidth(15)
    private String controllerId;
    @Schema(title = "控制器地址")
    @ExcelProperty("控制器地址")
    @ColumnWidth(15)
    private String rtuAddr;
}
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml
@@ -247,7 +247,7 @@
    SELECT COUNT(*) AS recordCount FROM pr_controller WHERE deleted = 0 AND id = ${controllerId}
  </select>
  <!--根据控制器编号获取已绑定记录数-->
  <!--根据流浪控制器编号获取已绑定记录数-->
  <select id="getBindedCount" resultType="java.lang.Integer">
    SELECT COUNT(*) AS recordCount FROM pr_controller WHERE rtuAddr = (SELECT rtuAddr FROM pr_controller_tramp WHERE id = ${controllerId}) AND intakeId IS NOT NULL
  </select>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerTrampMapper.xml
@@ -15,7 +15,7 @@
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    select
    <include refid="Base_Column_List" />
    from pr_controller_tramp
    where id = #{id,jdbcType=BIGINT}
@@ -36,7 +36,7 @@
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrControllerTramp">
    <!--@mbg.generated-->
    insert into pr_controller_tramp (id, rtuAddr, protocol,
    insert into pr_controller_tramp (id, rtuAddr, protocol,
      findDt)
    values (#{id,jdbcType=BIGINT}, #{rtuAddr,jdbcType=VARCHAR}, #{protocol,jdbcType=VARCHAR},
      #{findDt,jdbcType=TIMESTAMP})
@@ -107,4 +107,43 @@
  <select id="getTrampControllerInfo" resultMap="BaseResultMap">
    SELECT rtuAddr, protocol, findDt FROM pr_controller_tramp WHERE id = ${controllerId}
  </select>
    <!--    根据条件获取流浪控制器信息-->
    <select id="getTrampControllers" resultMap="BaseResultMap">
        select CAST(id AS char)AS id,
        rtuAddr,
        protocol,
        findDt
        FROM pr_controller_tramp
        <where>
            <if test="id != null and id !=''">
                id = #{id,jdbcType=VARCHAR}
            </if>
            <if test="rtuAddr != null and rtuAddr != ''">
                AND   rtuAddr = #{rtuAddr,jdbcType=VARCHAR}
            </if>
            <if test="protocol != null and protocol != ''">
                AND  protocol = #{protocol,jdbcType=VARCHAR}
            </if>
        </where>
    </select>
    <!--    根据条件获取流浪控制器数量-->
    <select id="getTrampControllersCount" resultType="java.lang.Long">
        select
        COUNT(*) AS recordCount
        FROM pr_controller_tramp
        <where>
            <if test="id != null and id !=''">
                  id = #{id,jdbcType=VARCHAR}
            </if>
            <if test="rtuAddr != null and rtuAddr != ''">
                AND   rtuAddr = #{rtuAddr,jdbcType=VARCHAR}
            </if>
            <if test="protocol != null and protocol != ''">
                AND  protocol = #{protocol,jdbcType=VARCHAR}
            </if>
        </where>
    </select>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeControllerMapper.xml
@@ -186,4 +186,26 @@
    </if>
    ORDER BY ic.operateDt DESC
  </select>
  <!--根据取水口编号修改绑定记录列表-->
  <update id="updateByIntakeSelective">
    update pr_intake_controller
    <set>
      <if test="controllerid != null">
        controllerId = #{controllerid,jdbcType=BIGINT},
      </if>
      <if test="operatetype != null">
        operateType = #{operatetype,jdbcType=TINYINT},
      </if>
      <if test="remarks != null">
        remarks = #{remarks,jdbcType=VARCHAR},
      </if>
      <if test="operator != null">
        `operator` = #{operator,jdbcType=BIGINT},
      </if>
      <if test="operatedt != null">
        operateDt = #{operatedt,jdbcType=TIMESTAMP},
      </if>
    </set>
    where intakeId = #{intakeid,jdbcType=BIGINT}
  </update>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -219,6 +219,7 @@
    LEFT JOIN ba_district country ON ge.countyId = country.id
    LEFT JOIN ba_district town ON ge.townId = town.id
    LEFT JOIN ba_district village ON ge.villageId = village.id
    LEFT JOIN pr_controller cont ON ge.id = cont.intakeId
    <where>
      ge.deleted = 0
      AND divi.deleted = 0
@@ -259,6 +260,8 @@
    divi.`name`                                         AS divideName,
    CAST(blo.id AS char)                                AS blockId,
    blo.`name`                                          AS blockName,
    CAST(cont.id AS char)                               AS controllerId,
    cont.rtuAddr                                        AS rtuAddr,
    ge.lng,
    ge.lat,
    ge.remarks,
@@ -275,6 +278,7 @@
    LEFT JOIN ba_district country ON ge.countyId = country.id
    LEFT JOIN ba_district town ON ge.townId = town.id
    LEFT JOIN ba_district village ON ge.villageId = village.id
    LEFT JOIN pr_controller cont ON ge.id = cont.intakeId
    <where>
      ge.deleted = 0
      AND divi.deleted = 0
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java
@@ -4,6 +4,8 @@
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.Command;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoPr.PrControllerMapper;
import com.dy.pipIrrGlobal.daoPr.PrIntakeControllerMapper;
@@ -11,6 +13,7 @@
import com.dy.pipIrrGlobal.pojoPr.PrController;
import com.dy.pipIrrGlobal.pojoPr.PrIntakeController;
import com.dy.pipIrrGlobal.voPr.VoController;
import com.dy.pipIrrProject.result.ProjectResultCode;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -80,7 +83,10 @@
     * @return
     */
    public Integer addController(PrController po) {
        prControllerMapper.insert(po);
        int rows = prControllerMapper.insert(po);
        if(rows == 0) {
            return 0;
        }
        PrIntakeController addPrIntakeController = new PrIntakeController();
        addPrIntakeController.setIntakeid(po.getIntakeId());
        addPrIntakeController.setControllerid(po.getId());
@@ -88,8 +94,11 @@
        addPrIntakeController.setOperator(po.getOperator());
        addPrIntakeController.setOperatedt(po.getOperateDt());
        addPrIntakeController.setRemarks("绑定");
        prIntakeControllerMapper.insert(addPrIntakeController);
        return 1;
        int rec = prIntakeControllerMapper.insert(addPrIntakeController);
        if(rec == 0) {
            return 0;
        }
        return 1 ;
    }
    /**
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/DtoIntakeController.java
@@ -26,10 +26,10 @@
    private Long intakeId;
    /**
     * 控制器ID
     * (流浪)控制器ID
     */
    @Schema(description = "控制器ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "控制器ID不能为空")
    @Schema(description = "绑定时为流浪控制器ID/解绑时为控制器ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "(流浪)控制器ID不能为空")
    private Long controllerId;
    /**
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/IntakeControllerCtrl.java
@@ -1,5 +1,7 @@
package com.dy.pipIrrProject.intakeController;
import cn.hutool.core.date.DateTime;
import com.dy.common.aop.SsoAop;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
@@ -40,7 +42,7 @@
@Slf4j
@Tag(name = "取水口/控制器关联管理", description = "取水口/控制器关联操作")
@RestController
@RequestMapping(path="intake_controller")
@RequestMapping(path = "intake_controller")
@RequiredArgsConstructor
public class IntakeControllerCtrl {
    private final IntakeControllerSv intakeControllerSv;
@@ -51,9 +53,10 @@
     * 取水口绑定控制器
     * 1. 接收取水口ID及流浪控制器ID,并验证取水口和控制器是否存在
     * 2. 判断该控制器是否存在未解绑记录,如果存在提示用户该控制器存在未解绑记录
     * 3. 组装控制器对象插入控制器表中
     * 4. 添加绑定记录
     * 3. 组装控制器对象插入控制器表中(及添加绑定记录)
     * 4. 修改绑定记录设置备注
     * 5. 删除流浪控制器(物理删除)
     *
     * @param po
     * @param bindingResult
     * @return
@@ -72,26 +75,26 @@
    @SsoAop()
    public BaseResponse<Boolean> bind(@RequestBody @Valid DtoIntakeController po, BindingResult bindingResult) throws ParseException {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        if(bindingResult != null && bindingResult.hasErrors()){
        if (bindingResult != null && bindingResult.hasErrors()) {
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        // 接收参数
        Long intakeId = po.getIntakeId();
        Long controllerId = po.getControllerId();
        Long trampControllerId = po.getControllerId();
        String remarks = po.getRemarks();
        Long operator = po.getOperator();
        // 根据编号分别获取取水口记录数、流浪控制器信息,判断取水口及控制器是否存在
        Integer recIntke = Optional.ofNullable(intakeSv.getRecordCountOfIntake(intakeId)).orElse(0);
        PrControllerTramp prControllerTramp = intakeControllerSv.getTrampControllerInfo(controllerId);
        PrControllerTramp prControllerTramp = intakeControllerSv.getTrampControllerInfo(trampControllerId);
        //Map map_TrampController = Optional.ofNullable(intakeControllerSv.getTrampControllerInfo(controllerId)).orElse(new HashMap());
        if(recIntke == 0 || prControllerTramp == null) {
        if (recIntke == 0 || prControllerTramp == null) {
            return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_OR_CONTROLLER_NO_EXIST.getMessage());
        }
        // 根据控制器编号判断该控制器是否存在未解绑记录
        Integer recBinded = Optional.ofNullable(controllerSv.getBindedCount(controllerId)).orElse(0);
        if(recBinded > 0) {
        Integer recBinded = Optional.ofNullable(controllerSv.getBindedCount(trampControllerId)).orElse(0);
        if (recBinded > 0) {
            return BaseResponseUtils.buildFail(ProjectResultCode.CONTROLLER_BINDED.getMessage());
        }
@@ -101,29 +104,31 @@
        prController.setRtuAddr(prControllerTramp.getRtuAddr());
        prController.setProtocol(prControllerTramp.getProtocol());
        prController.setFindDt(prControllerTramp.getFindDt());
        prController.setAddWays((byte)1);
        prController.setAddWays((byte) 1);
        prController.setOperator(operator);
        Date operateTime = new Date();
        prController.setOperateDt(operateTime);
        prController.setDeleted((byte)0);
        prController.setDeleted((byte) 0);
        Integer rec_addController = Optional.ofNullable(controllerSv.addController(prController)).orElse(0);
        if(rec_addController == 0) {
        if (rec_addController == 0) {
            return BaseResponseUtils.buildFail(ProjectResultCode.BIND_FAIL.getMessage());
        }
        // 添加绑定记录
        PrIntakeController prIntakeController = DtoToPojo.INSTANCT.po2vo(po);
        prIntakeController.setOperatedt(operateTime);
        prIntakeController.setOperatetype((byte)1);
        Integer rec = Optional.ofNullable(intakeControllerSv.addRecord(prIntakeController)).orElse(0);
        if(rec == 0) {
        // 修改绑定记录
        PrIntakeController prIntakeController = new PrIntakeController();
        prIntakeController.setRemarks(remarks);
        prIntakeController.setIntakeid(intakeId);
        Integer rec = Optional.ofNullable(intakeControllerSv.updateBindRecord(prIntakeController)).orElse(0);
        if (rec == 0) {
            return BaseResponseUtils.buildFail(ProjectResultCode.BIND_FAIL.getMessage());
        }
        // 根据流浪控制器编号删除流浪控制器记录
        intakeControllerSv.deleteTrampController(controllerId);
        intakeControllerSv.deleteTrampController(trampControllerId);
        return BaseResponseUtils.buildSuccess(true) ;
        return BaseResponseUtils.buildSuccess(true);
    }
    /**
@@ -131,6 +136,7 @@
     * 1. 接收取水口ID及流浪控制器ID,并验证取水口和控制器是否存在
     * 2. 添加解绑记录
     * 3. 删除控制器外键
     *
     * @param po
     * @param bindingResult
     * @return
@@ -147,15 +153,15 @@
    @PostMapping(path = "unbind", consumes = MediaType.APPLICATION_JSON_VALUE)
    @Transactional(rollbackFor = Exception.class)
    @SsoAop()
    public BaseResponse<Boolean> unbind(@RequestBody @Valid DtoIntakeController po, BindingResult bindingResult){
        if(bindingResult != null && bindingResult.hasErrors()){
    public BaseResponse<Boolean> unbind(@RequestBody @Valid DtoIntakeController po, BindingResult bindingResult) {
        if (bindingResult != null && bindingResult.hasErrors()) {
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        // 根据编号分别获取取水口、控制器未删除记录数
        Integer recIntke = Optional.ofNullable(intakeSv.getRecordCountOfIntake(po.getIntakeId())).orElse(0);
        Integer recController = Optional.ofNullable(controllerSv.getRecordCountOfController(po.getControllerId())).orElse(0);
        if(recIntke == 0 || recController == 0) {
        if (recIntke == 0 || recController == 0) {
            return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_OR_CONTROLLER_NO_EXIST.getMessage());
        }
@@ -169,23 +175,24 @@
        PrIntakeController prIntakeController = DtoToPojo.INSTANCT.po2vo(po);
        Date operateTime = new Date();
        prIntakeController.setOperatedt(operateTime);
        prIntakeController.setOperatetype((byte)2);
        prIntakeController.setOperatetype((byte) 2);
        Integer rec = Optional.ofNullable(intakeControllerSv.addRecord(prIntakeController)).orElse(0);
        if(rec == 0) {
        if (rec == 0) {
            return BaseResponseUtils.buildFail(ProjectResultCode.BIND_FAIL.getMessage());
        }
        // 删除控制器外键
        Integer rec_deleteIntakeId = Optional.ofNullable(controllerSv.deleteIntakeId(po.getControllerId())).orElse(0);
        if(rec_deleteIntakeId == 0) {
        if (rec_deleteIntakeId == 0) {
            return BaseResponseUtils.buildFail(ProjectResultCode.BIND_FAIL.getMessage());
        }
        return BaseResponseUtils.buildSuccess(true) ;
        return BaseResponseUtils.buildSuccess(true);
    }
    /**
     * 根据取水口编号获取绑定记录列表
     *
     * @param intakeId 取水口编号
     * @return 取水口下控制器的绑定、解绑记录
     */
@@ -200,22 +207,23 @@
    })
    @GetMapping(path = "intake_binds")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<Map<String, Object>>>> getBindsByIntakeId(Long intakeId){
    public BaseResponse<QueryResultVo<List<Map<String, Object>>>> getBindsByIntakeId(Long intakeId) {
        try {
            List<Map<String, Object>> list = Optional.ofNullable(intakeControllerSv.getBindsByIntakeId(intakeId)).orElse(new ArrayList<>());
            if(list.size() <= 0) {
            if (list.size() <= 0) {
                //无绑定记录也返回成功 但数据为空
                return BaseResponseUtils.buildSuccess(list);
            }//成功返回绑定记录数据
            return BaseResponseUtils.buildSuccess(list);
        } catch (Exception e) {
            log.error("查询农户异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
            log.error("查询异常", e);
            return BaseResponseUtils.buildException(e.getMessage());
        }
    }
    /**
     * 根据控制器编号获取绑定记录列表
     *
     * @param controllerId 控制器编号
     * @return 与该控制器相关的绑定、解绑记录
     */
@@ -230,16 +238,92 @@
    })
    @GetMapping(path = "controller_binds")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<Map<String, Object>>>> getBindsByControllerId(Long controllerId){
    public BaseResponse<QueryResultVo<List<Map<String, Object>>>> getBindsByControllerId(Long controllerId) {
        try {
            List<Map<String, Object>> list = Optional.ofNullable(intakeControllerSv.getBindsByControllerId(controllerId)).orElse(new ArrayList<>());
            if(list.size() <= 0) {
                return BaseResponseUtils.buildFail(ProjectResultCode.CONTROLLER_NO_RECORDS.getMessage());
            if (list.size() <= 0) {
                //无绑定记录也返回成功 但数据为空
                return BaseResponseUtils.buildSuccess(list);
            }
            return BaseResponseUtils.buildSuccess(list);
        } catch (Exception e) {
            log.error("查询农户异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
            log.error("查询异常", e);
            return BaseResponseUtils.buildException(e.getMessage());
        }
    }
    /**
     * 根据指定条件获取流浪控制器列表
     *
     * @param vo 查询条件
     * @return 符合条件的控制器列表
     */
    @Operation(summary = "获得一页流浪控制器记录", description = "返回一页流浪控制器数据")
    @ApiResponses(value = {
            @ApiResponse(
                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
                    description = "返回一页流浪控制器数据(BaseResponse.content:QueryResultVo[{}])",
                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
                            schema = @Schema(implementation = PrControllerTramp.class))}
            )
    })
    @GetMapping(path = "/getTrampControllers")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<PrControllerTramp>>> getTrampControllers(TrampControllerQueryVo vo) {
        try {
            QueryResultVo<List<PrControllerTramp>> res = intakeControllerSv.getTrampControllers(vo);
            if (res.itemTotal != null && res.itemTotal > 0) {
                return BaseResponseUtils.buildSuccess(res);
            } else {
                //请求成功但数据为空
                return BaseResponseUtils.buildSuccess(res);
            }
            //return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("获取流浪控制器记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage());
        }
    }
    /**
     * 添加流浪控制器
     *
     * @param pct
     * @return
     */
    @PostMapping("addTrampController")
    @Transactional(rollbackFor = Exception.class)
    @SsoAop()
    public BaseResponse<Boolean> addTrampController(@RequestBody PrControllerTramp pct) {
        pct.setFindDt(new Date());
        Integer rows = intakeControllerSv.addTrampController(pct);
        if (rows == 0) {
            return BaseResponseUtils.buildFail(ProjectResultCode.ADD_TRAMP_CONTROLLER_FAIL.getMessage());
        }
        return BaseResponseUtils.buildSuccess(true);
    }
    /**
     * 删除流浪控制器
     *
     * @param id
     * @return
     */
    @PostMapping("deleteTrampController")
    @Transactional(rollbackFor = Exception.class)
    @SsoAop()
    public BaseResponse<Boolean> deleteTrampController(Long id) {
        PrControllerTramp controllerInfo = intakeControllerSv.getTrampControllerInfo(id);
        if (controllerInfo == null) {
            return BaseResponseUtils.buildFail(ProjectResultCode.NO_EXIST_TRAMP_CONTROLLER.getMessage());
        }
        Integer rows = intakeControllerSv.deleteTrampController(id);
        if (rows == 0) {
            return BaseResponseUtils.buildFail(ProjectResultCode.DELETE_TRAMP_CONTROLLER_FAIL.getMessage());
        }
        return BaseResponseUtils.buildSuccess(true);
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/IntakeControllerSv.java
@@ -1,13 +1,19 @@
package com.dy.pipIrrProject.intakeController;
import cn.hutool.core.date.DateTime;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoPr.PrControllerTrampMapper;
import com.dy.pipIrrGlobal.daoPr.PrIntakeControllerMapper;
import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp;
import com.dy.pipIrrGlobal.pojoPr.PrIntakeController;
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.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -91,4 +97,34 @@
    public Integer deleteTrampController(Long controllerId) {
        return prControllerTrampMapper.deleteByPrimaryKey(controllerId);
    }
    //流浪控制器增
    public Integer addTrampController(PrControllerTramp record){
        return prControllerTrampMapper.insertSelective(record);
    }
/*流浪控制器查*/
    public QueryResultVo<List<PrControllerTramp>> getTrampControllers(TrampControllerQueryVo queryVo){
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
        Long itemTotal = prControllerTrampMapper.getTrampControllersCount(params);
        QueryResultVo<List<PrControllerTramp>> rsVo = new QueryResultVo<>();
        rsVo.pageSize = queryVo.pageSize;
        rsVo.pageCurr = queryVo.pageCurr;
        rsVo.calculateAndSet(itemTotal, params);
        rsVo.obj = prControllerTrampMapper.getTrampControllers(params);
        return rsVo;
    }
    /**
     * 修改绑定记录通过取水口
     * @param record
     * @return
     */
    public Integer updateBindRecord(PrIntakeController record){
        return prIntakeControllerMapper.updateByIntakeSelective(record);
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/TrampControllerQueryVo.java
New file
@@ -0,0 +1,34 @@
package com.dy.pipIrrProject.intakeController;
import com.dy.common.webUtil.QueryConditionVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.Date;
/**
 * @author :WuZeYu
 * @Date :2024/5/8  14:16
 * @LastEditTime :2024/5/8  14:16
 * @Description
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ToString(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Schema(name = "流浪控制器查询条件")
public class TrampControllerQueryVo extends QueryConditionVo {
    @Schema(description = "流浪控制器ID")
    private String id;
    @Schema(description = "控制器地址")
    private String rtuAddr;
    @Schema(description = "通讯协议")
    public String protocol;
}
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java
@@ -37,7 +37,12 @@
    NO_RECORDS(30002, "没有符合条件的控制器数据"),
    PLEASE_INPUT_CONTROLLER_ID(30003, "请输入控制器编号"),
    DELETE_CONTROLLER_FAIL(30004, "控制器删除失败"),
    /**
     * 流浪控制器
     */
    ADD_TRAMP_CONTROLLER_FAIL(80001, "流浪控制器添加失败"),
    DELETE_TRAMP_CONTROLLER_FAIL(80002, "流浪控制器删除失败"),
    NO_EXIST_TRAMP_CONTROLLER(80003, "该流浪控制器不存在"),
    /**
     * 取水口、控制器关联
     */