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; } }