2021与蓝度共同重构项目,服务端
zhanzhiqin
2022-06-06 1a29f8b47db7d3a205c278fac36deed6b1ef371f
灯杆倾斜处理
已修改6个文件
132 ■■■■ 文件已修改
dao/src/main/java/com/sandu/ximon/dao/domain/LightPoleHeelingProcessing.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/mapper/LightPoleHeelingProcessingMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/LightPoleHeelingMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/LightPoleHeelingProcessingMapper.xml 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LightPoleHeelingProcessingController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingProcessingServices.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/domain/LightPoleHeelingProcessing.java
@@ -22,6 +22,11 @@
    private Long processingNumber;
    /**
     * 设备MAC地址
     */
    private String mac;
    /**
     * 警告号
     */
    private Long warningNumber;
@@ -81,6 +86,19 @@
     */
    private Integer warningLevelOld;
    /**
     * 灯杆编号
     */
    @TableField(exist = false)
    private Long poleCode;
    /**
     * 灯杆名称
     */
    @TableField(exist = false)
    private String poleName;
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
dao/src/main/java/com/sandu/ximon/dao/mapper/LightPoleHeelingProcessingMapper.java
@@ -10,6 +10,7 @@
@Mapper
public interface LightPoleHeelingProcessingMapper extends BaseMapper<LightPoleHeelingProcessing> {
    LightPoleHeelingProcessing processingDetail(Long userId, Long processingNumber);
}
dao/src/main/resources/mapper/LightPoleHeelingMapper.xml
@@ -51,6 +51,9 @@
        AND t2.device_type = 8
        LEFT JOIN pole t3 ON t3.id = t2.pole_id
        <where>
            (t1.warning_level = 1 OR t1.warning_level = 2)
            AND
            (t1.processing_state = 0)
            <if test="warningNumber != null">
                AND t1.warning_number = #{warningNumber}
            </if>
dao/src/main/resources/mapper/LightPoleHeelingProcessingMapper.xml
@@ -5,26 +5,36 @@
<mapper namespace="com.sandu.ximon.dao.mapper.LightPoleHeelingProcessingMapper">
    <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.LightPoleHeelingProcessing">
            <id property="processingNumber" column="processing_number" jdbcType="BIGINT"/>
            <result property="warningNumber" column="warning_number" jdbcType="BIGINT"/>
            <result property="processingOpinion" column="processing_opinion" jdbcType="VARCHAR"/>
            <result property="processingPerson" column="processing_person" jdbcType="VARCHAR"/>
            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
            <result property="warningLevel" column="warning_level" jdbcType="INTEGER"/>
            <result property="theXAxis" column="the_x_axis" jdbcType="DOUBLE"/>
            <result property="theYAxis" column="the_y_axis" jdbcType="DOUBLE"/>
            <result property="theZAxis" column="the_z_axis" jdbcType="DOUBLE"/>
            <result property="theXAxisOld" column="the_x_axis_old" jdbcType="DOUBLE"/>
            <result property="theYAxisOld" column="the_y_axis_old" jdbcType="DOUBLE"/>
            <result property="theZAxisOld" column="the_z_axis_old" jdbcType="DOUBLE"/>
            <result property="warningLevelOld" column="warning_level_old" jdbcType="INTEGER"/>
        <id property="processingNumber" column="processing_number" jdbcType="BIGINT"/>
        <result property="mac" column="mac" jdbcType="VARCHAR"/>
        <result property="warningNumber" column="warning_number" jdbcType="BIGINT"/>
        <result property="processingOpinion" column="processing_opinion" jdbcType="VARCHAR"/>
        <result property="processingPerson" column="processing_person" jdbcType="VARCHAR"/>
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
        <result property="warningLevel" column="warning_level" jdbcType="INTEGER"/>
        <result property="theXAxis" column="the_x_axis" jdbcType="DOUBLE"/>
        <result property="theYAxis" column="the_y_axis" jdbcType="DOUBLE"/>
        <result property="theZAxis" column="the_z_axis" jdbcType="DOUBLE"/>
        <result property="theXAxisOld" column="the_x_axis_old" jdbcType="DOUBLE"/>
        <result property="theYAxisOld" column="the_y_axis_old" jdbcType="DOUBLE"/>
        <result property="theZAxisOld" column="the_z_axis_old" jdbcType="DOUBLE"/>
        <result property="warningLevelOld" column="warning_level_old" jdbcType="INTEGER"/>
    </resultMap>
    <sql id="Base_Column_List">
        processing_number,warning_number,
        processing_opinion,processing_person,create_time,
        warning_level,the_x_axis,the_y_axis,
        the_z_axis,the_x_axis_old,the_y_axis_old,
        the_z_axis_old,warning_level_old
    </sql>
    <select id="processingDetail" resultType="com.sandu.ximon.dao.domain.LightPoleHeelingProcessing">
        SELECT t1.*, t3.pole_code,
        t3.pole_name
        FROM light_pole_heeling_processing t1
        LEFT JOIN pole_binding t2 ON t1.mac = t2.device_code
        AND t2.device_type = 8
        LEFT JOIN pole t3 ON t3.id = t2.pole_id
        <where>
            <if test="processingNumber != null">
                AND t1.processing_number = #{processingNumber}
            </if>
            <if test="userId != null">
                AND (t3.user_id = #{userId} OR t3.client_id = #{userId})
            </if>
        </where>
    </select>
</mapper>
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LightPoleHeelingProcessingController.java
@@ -13,10 +13,7 @@
import com.sandu.ximon.dao.enums.MenuEnum;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
 * 灯杆倾斜警告处理列表
@@ -41,4 +38,18 @@
        return ResponseUtil.success(lightPoleHeelingProcessingServices.ProcessingLightPoleHeeling(param));
    }
    /**
     * 灯杆倾斜警告处理
     *
     * @return
     */
    @GetMapping("/processingDetail")
    public ResponseVO<Object> processingDetail(@RequestParam(required = false, value = "processingNumber") @Validated Long processingNumber) {
        if (!permissionConfig.check(MenuEnum.LIGHT_POLE_HEELING_PROCESSING.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        return ResponseUtil.success(lightPoleHeelingProcessingServices.processingDetail(processingNumber));
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingProcessingServices.java
@@ -22,10 +22,12 @@
@Service
@AllArgsConstructor
public class LightPoleHeelingProcessingServices extends BaseServiceImpl<LightPoleHeelingProcessingMapper, LightPoleHeelingProcessing> {
    private final LightPoleHeelingProcessingMapper lightPoleHeelingProcessingMapper;
    /**
     * 灯杆倾斜警告处理
     */
    public boolean ProcessingLightPoleHeeling(LightPoleHeelingProcessingParam param) {
    public String ProcessingLightPoleHeeling(LightPoleHeelingProcessingParam param) {
        LightPoleHeelingService lightPoleHeelingService = SpringContextHolder.getBean(LightPoleHeelingService.class);
        LightPoleHeeling one = SpringContextHolder.getBean(LightPoleHeelingMapper.class).
@@ -45,6 +47,7 @@
        lightPoleHeelingProcessing.setTheXAxisOld(one.getTheXAxis());
        lightPoleHeelingProcessing.setTheYAxisOld(one.getTheYAxis());
        lightPoleHeelingProcessing.setTheZAxisOld(one.getTheZAxis());
        lightPoleHeelingProcessing.setMac(one.getMac());
        lightPoleHeelingProcessing.setWarningLevelOld(one.getWarningLevel());
        //警告等级
@@ -59,12 +62,36 @@
            //正常
            lightPoleHeelingProcessing.setWarningLevel(0);
        }
        boolean save = save(lightPoleHeelingProcessing);
        if (save) {
            //设置为已处理
            one.setProcessingState(1);
            lightPoleHeelingService.updateById(one);
        boolean save = false;
        try {
            save = save(lightPoleHeelingProcessing);
            if (save) {
                //设置为已处理
                one.setProcessingState(1);
                lightPoleHeelingService.updateById(one);
                return "灯杆倾斜处理成功!";
            }
        } catch (Exception e) {
            System.out.println("异常");
        }
        return save;
        throw new BusinessException("灯杆倾斜处理失败!");
    }
    /**
     * 灯杆倾斜处理警告详情
     *
     * @param processingNumber
     * @return
     */
    public LightPoleHeelingProcessing processingDetail(Long processingNumber) {
        if (processingNumber == null) {
            throw new BusinessException("灯杆倾斜警告处理ID不能为空!");
        }
        LightPoleHeelingProcessing bean = lightPoleHeelingProcessingMapper.processingDetail(SecurityUtils.getClientId(), processingNumber);
        if (bean == null) {
            throw new BusinessException("处理后的灯杆倾斜数据不存在!");
        }
        return bean;
    }
}