xiang13487 пре 1 месец
родитељ
комит
ad27ee0e53

+ 161 - 0
pipe-network-service/zksy-admin/src/main/java/com/zksy/web/controller/manhole/CaseInfoController.java

@@ -0,0 +1,161 @@
+package com.zksy.web.controller.manhole;
+
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.base.domain.CaseInfo;
+import com.zksy.base.domain.EquipmentBase;
+import com.zksy.base.domain.EquipmentStatus;
+import com.zksy.base.domain.EquipmentType;
+import com.zksy.base.service.CaseInfoService;
+import com.zksy.base.service.EquipmentBaseService;
+import com.zksy.base.service.EquipmentStatusService;
+import com.zksy.base.service.EquipmentTypeService;
+import com.zksy.common.annotation.Anonymous;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.core.domain.AjaxResult2;
+import com.zksy.manhole.dto.in.CaseInfoPageInDTO;
+import com.zksy.manhole.dto.in.CaseInfoSaveInDTO;
+import com.zksy.manhole.dto.in.CaseInfoVerifyInDTO;
+import com.zksy.manhole.dto.out.CaseInfoOutDTO;
+import com.zksy.manhole.dto.out.EquipmentStatusOutDTO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Date;
+import java.util.Random;
+
+/**
+ * 窨井盖监测系统-案件流转管理Controller
+ * 
+ * @author xianggx
+ * @date 2026-05-06
+ */
+@RestController
+@RequestMapping("/manhole/caseInfo")
+@Api(tags = "窨井盖监测系统-案件流转管理")
+public class CaseInfoController extends BaseController
+{
+    @Autowired
+    private CaseInfoService caseInfoService;
+
+    @Autowired
+    private EquipmentBaseService equipmentBaseService;
+
+    @Autowired
+    private EquipmentStatusService equipmentStatusService;
+
+    @Autowired
+    private EquipmentTypeService equipmentTypeService;
+
+    /**
+     * 生成案件编号
+     * @return
+     */
+    public static String generateCaseNo() {
+        // 1. 获取当前时间,格式化为14位年月日时分秒
+        String currentDateTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
+        // 2. 生成4位随机数,不足补0
+        String randomNum = String.format("%04d", new Random().nextInt(10000));
+        // 3. 拼接完整编号
+        return "CS" + currentDateTime + randomNum;
+    }
+
+    /**
+     * 分页查询案件信息列表
+     */
+    @Anonymous
+    @GetMapping(value = "/findByPage")
+    @ApiOperation(value = "分页查询案件信息列表")
+    public AjaxResult2<Page<CaseInfoOutDTO>> findByPage(@RequestBody CaseInfoPageInDTO pageInDTO)
+    {
+        return AjaxResult2.success(caseInfoService.findByPage(pageInDTO));
+    }
+
+    /**
+     * 获取案件信息详情
+     */
+    @Anonymous
+    @GetMapping(value = "/getById/{id}")
+    @ApiOperation(value = "获取案件信息详情")
+    public AjaxResult2<CaseInfoOutDTO> getById(@PathVariable("id") Long id)
+    {
+        CaseInfo caseInfo = caseInfoService.getById(id);
+        if(caseInfo == null){
+            return AjaxResult2.error("案件ID不存在");
+        }
+        CaseInfoOutDTO outDTO = BeanUtil.copyProperties(caseInfo, CaseInfoOutDTO.class);
+        // 查询设备状态
+        EquipmentStatus equipmentStatus = equipmentStatusService.lambdaQuery()
+                .eq(EquipmentStatus::getEquipmentId, outDTO.getDeviceId())
+                .one();
+        if(equipmentStatus != null){
+            EquipmentStatusOutDTO equipmentStatusOutDTO = BeanUtil.copyProperties(equipmentStatus, EquipmentStatusOutDTO.class);
+            outDTO.setEquipmentStatus(equipmentStatusOutDTO);
+        }
+        // 查询设备类别名称
+        EquipmentBase equipmentBase = equipmentBaseService.getById(outDTO.getDeviceId());
+        if(equipmentBase != null){
+            outDTO.setDeviceCode(equipmentBase.getEquipmentCode());
+            EquipmentType equipmentType = equipmentTypeService.getById(equipmentBase.getEquipmentTypeId());
+            if(equipmentType != null){
+                outDTO.setEquipmentTypeName(equipmentType.getTypeName());
+            }
+        }
+        return AjaxResult2.success(outDTO);
+    }
+
+    /**
+     * 核查案件信息
+     * @param inDTO
+     * @return
+     */
+    @Anonymous
+    @PostMapping("/verifyCaseInfo")
+    @ApiOperation(value = "核查案件信息")
+    public AjaxResult verifyCaseInfo(@RequestBody CaseInfoVerifyInDTO inDTO) {
+        CaseInfo caseInfo = caseInfoService.getById(inDTO.getCaseId());
+        if(caseInfo == null){
+            return AjaxResult.error("案件ID不存在");
+        }
+        CaseInfo entity = new CaseInfo();
+        entity.setCaseId(inDTO.getCaseId());
+        entity.setVerifyUser(inDTO.getVerifyUser());
+        entity.setVerifyTime(new Date());
+        if(inDTO.getVerifyResult() != null){
+            if(inDTO.getVerifyResult() == 1){
+                //1-待处理
+                entity.setCaseStatus(2);
+            } if(inDTO.getVerifyResult() == 2){
+                //2-误报
+                entity.setCaseStatus(4);
+            }
+        }
+        boolean updated = caseInfoService.updateById(entity);
+        return updated ? AjaxResult.success("操作成功",updated)
+                : AjaxResult.error("操作失败",updated);
+    }
+
+    /**
+     * 新增案件信息
+     * @param inDTO
+     * @return
+     */
+    @Anonymous
+    @PostMapping("/saveCaseInfo")
+    @ApiOperation(value = "新增案件信息")
+    public AjaxResult saveWarningThreshold(@RequestBody CaseInfoSaveInDTO inDTO) {
+        CaseInfo caseInfo = BeanUtil.copyProperties(inDTO, CaseInfo.class);
+        caseInfo.setCaseNo(generateCaseNo());
+        caseInfo.setCaseSource(4);
+        caseInfo.setCaseStatus(1);
+        boolean result = caseInfoService.save(caseInfo);
+        return result ? AjaxResult.success("保存成功",result)
+                : AjaxResult.error("保存失败",result);
+    }
+}

+ 133 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/base/domain/CaseInfo.java

@@ -0,0 +1,133 @@
+package com.zksy.base.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 案件信息表
+ * @TableName case_info
+ */
+@TableName(value ="case_info")
+@Data
+@ApiModel(value = "案件信息入参", description = "案件信息入参")
+public class CaseInfo implements Serializable {
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 案件ID
+     */
+    @ApiModelProperty(value = "案件ID")
+    @TableId(type = IdType.AUTO)
+    private Long caseId;
+
+    /**
+     * 案件编号
+     */
+    @ApiModelProperty(value = "案件编号")
+    private String caseNo;
+
+    /**
+     * 关联报警ID,手动立案可为空
+     */
+    @ApiModelProperty(value = "报警ID")
+    private String alarmId;
+
+    /**
+     * 关联设备ID
+     */
+    @ApiModelProperty(value = "设备ID")
+    private String deviceId;
+
+    /**
+     * 设备编码
+     */
+    @ApiModelProperty(value = "设备编码")
+    private String deviceCode;
+
+    /**
+     * 案件等级:1-严重 2-一般 3-轻微
+     */
+    @ApiModelProperty(value = "案件等级:1-严重 2-一般 3-轻微")
+    private Integer caseLevel;
+
+    /**
+     * 案件描述
+     */
+    @ApiModelProperty(value = "案件描述")
+    private String caseDesc;
+
+    /**
+     * 案件来源:1-系统自动报警 2-运维巡检上报 3-人工投诉上报 4-平台录入
+     */
+    @ApiModelProperty(value = "案件来源:1-系统自动报警 2-运维巡检上报 3-人工投诉上报 4-平台录入")
+    private Integer caseSource;
+
+    /**
+     * 案件状态:1-待核查 2-办理中 3-已办结 4-误报关闭
+     */
+    @ApiModelProperty(value = "案件状态:1-待核查 2-办理中 3-已办结 4-误报关闭")
+    private Integer caseStatus;
+
+    /**
+     * 立案人ID
+     */
+    @ApiModelProperty(value = "立案人ID")
+    private Long fileUser;
+
+    /**
+     * 核查人ID
+     */
+    @ApiModelProperty(value = "核查人ID")
+    private Long verifyUser;
+
+    /**
+     * 核查完成时间
+     */
+    @ApiModelProperty(value = "核查完成时间")
+    @JsonFormat(locale = "zh",pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date verifyTime;
+
+    /**
+     * 案件办结时间
+     */
+    @ApiModelProperty(value = "案件办结时间")
+    @JsonFormat(locale = "zh",pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date finishTime;
+
+    /**
+     * 案件处置结果、整改说明
+     */
+    @ApiModelProperty(value = "案件处置结果")
+    private String handleResult;
+
+    /**
+     * 案件佐证图片、附件地址
+     */
+    @ApiModelProperty(value = "案件佐证图片、附件地址")
+    private String attachUrl;
+
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(locale = "zh",pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    @ApiModelProperty(value = "更新时间")
+    @JsonFormat(locale = "zh",pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date updateTime;
+}

+ 20 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/base/mapper/CaseInfoMapper.java

@@ -0,0 +1,20 @@
+package com.zksy.base.mapper;
+
+import com.zksy.base.domain.CaseInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author Administrator
+* @description 针对表【case_info(案件信息表)】的数据库操作Mapper
+* @createDate 2026-06-08 15:01:11
+* @Entity com.zksy.base.domain.CaseInfo
+*/
+@Mapper
+public interface CaseInfoMapper extends BaseMapper<CaseInfo> {
+
+}
+
+
+
+

+ 22 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/base/service/CaseInfoService.java

@@ -0,0 +1,22 @@
+package com.zksy.base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zksy.base.domain.CaseInfo;
+import com.zksy.manhole.dto.in.CaseInfoPageInDTO;
+import com.zksy.manhole.dto.out.CaseInfoOutDTO;
+
+/**
+* @author Administrator
+* @description 针对表【case_info(案件信息表)】的数据库操作Service
+* @createDate 2026-06-08 15:01:11
+*/
+public interface CaseInfoService extends IService<CaseInfo> {
+
+    /**
+     * 分页查询案件信息列表
+     * @param pageInDTO
+     * @return
+     */
+    Page<CaseInfoOutDTO> findByPage(CaseInfoPageInDTO pageInDTO);
+}

+ 119 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/base/service/impl/CaseInfoServiceImpl.java

@@ -0,0 +1,119 @@
+package com.zksy.base.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zksy.base.domain.CaseInfo;
+import com.zksy.base.domain.EquipmentBase;
+import com.zksy.base.domain.EquipmentStatus;
+import com.zksy.base.domain.EquipmentType;
+import com.zksy.base.mapper.CaseInfoMapper;
+import com.zksy.base.mapper.EquipmentBaseMapper;
+import com.zksy.base.mapper.EquipmentStatusMapper;
+import com.zksy.base.mapper.EquipmentTypeMapper;
+import com.zksy.base.service.CaseInfoService;
+import com.zksy.manhole.dto.in.CaseInfoPageInDTO;
+import com.zksy.manhole.dto.out.CaseInfoOutDTO;
+import com.zksy.manhole.dto.out.EquipmentStatusOutDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+/**
+* @author Administrator
+* @description 针对表【case_info(案件信息表)】的数据库操作Service实现
+* @createDate 2026-06-08 15:01:11
+*/
+@Slf4j
+@Service
+public class CaseInfoServiceImpl extends ServiceImpl<CaseInfoMapper, CaseInfo>
+    implements CaseInfoService{
+
+    @Autowired
+    private EquipmentBaseMapper equipmentBaseMapper;
+
+    @Autowired
+    private EquipmentTypeMapper equipmentTypeMapper;
+
+    @Autowired
+    private EquipmentStatusMapper equipmentStatusMapper;
+
+    /**
+     * 分页查询案件信息列表
+     * @param pageInDTO
+     * @return
+     */
+    @Override
+    public Page<CaseInfoOutDTO> findByPage(CaseInfoPageInDTO pageInDTO) {
+        log.info("分页查询案件信息列表-入参:{}", pageInDTO);
+        List<String> equipmentIds = null;
+        if(StringUtils.isNotEmpty(pageInDTO.getEquipmentLocation())){
+            List<EquipmentBase> equipmentBaseList = equipmentBaseMapper.selectList(new LambdaQueryWrapper<EquipmentBase>()
+                    .like(EquipmentBase::getEquipmentLocation, pageInDTO.getEquipmentLocation()));
+            if(CollUtil.isEmpty(equipmentBaseList)){
+                return new Page<>(pageInDTO.getPageNum(), pageInDTO.getPageSize(), 0);
+            }
+            equipmentIds = equipmentBaseList.stream().map(EquipmentBase::getEquipmentId).distinct().collect(Collectors.toList());
+        }
+        Page<CaseInfo> page = new Page<>(pageInDTO.getPageNum(), pageInDTO.getPageSize());
+        LambdaQueryWrapper<CaseInfo> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(StringUtils.isNotEmpty(pageInDTO.getCaseNo()), CaseInfo::getCaseNo, pageInDTO.getCaseNo())
+                .in(CollUtil.isNotEmpty(equipmentIds), CaseInfo::getDeviceId, equipmentIds)
+                .orderByDesc(CaseInfo::getUpdateTime);
+        Page<CaseInfo> rs = this.page(page, queryWrapper);
+        List<CaseInfoOutDTO> outDTOList = BeanUtil.copyToList(rs.getRecords(), CaseInfoOutDTO.class);
+        if (CollUtil.isNotEmpty(outDTOList)) {
+            //查询设备状态
+            List<String> equipmentIdList = outDTOList.stream().map(CaseInfoOutDTO::getDeviceId).distinct().collect(Collectors.toList());
+            List<EquipmentStatus> equipmentStatusList = equipmentStatusMapper.selectList(new LambdaQueryWrapper<EquipmentStatus>()
+                    .in(EquipmentStatus::getEquipmentId, equipmentIdList));
+            Map<String, EquipmentStatus> equipmentStatusMap = new HashMap<>();
+            if(CollUtil.isNotEmpty(equipmentStatusList)){
+                equipmentStatusMap.putAll(equipmentStatusList.stream().collect(Collectors.toMap(EquipmentStatus::getEquipmentId, Function.identity(), (key1, key2) -> key2)));
+            }
+            //查询设备类型
+            List<EquipmentBase> equipmentBaseList = equipmentBaseMapper.selectBatchIds(equipmentIdList);
+            Map<String, EquipmentBase> equipmentBaseMap = new HashMap<>();
+            if(CollUtil.isNotEmpty(equipmentBaseList)){
+                equipmentBaseMap.putAll(equipmentBaseList.stream().collect(Collectors.toMap(EquipmentBase::getEquipmentId, Function.identity(), (key1, key2) -> key2)));
+            }
+            List<String> equipmentTypeIdList = equipmentBaseList.stream().map(EquipmentBase::getEquipmentTypeId).distinct().collect(Collectors.toList());
+            List<EquipmentType> equipmentTypeList = equipmentTypeMapper.selectBatchIds(equipmentTypeIdList);
+            Map<String, EquipmentType> equipmentTypeMap = new HashMap<>();
+            if(CollUtil.isNotEmpty(equipmentTypeList)){
+                equipmentTypeMap.putAll(equipmentTypeList.stream().collect(Collectors.toMap(EquipmentType::getTypeId, Function.identity(), (key1, key2) -> key2)));
+            }
+            for(CaseInfoOutDTO outDTO : outDTOList) {
+                EquipmentBase equipmentBase = equipmentBaseMap.get(outDTO.getDeviceId());
+                if(equipmentBase != null){
+                    outDTO.setDeviceCode(equipmentBase.getEquipmentCode());
+                    EquipmentType equipmentType = equipmentTypeMap.get(equipmentBase.getEquipmentTypeId());
+                    if(equipmentType != null){
+                        outDTO.setEquipmentTypeName(equipmentType.getTypeName());
+                    }
+                }
+                EquipmentStatus equipmentStatus = equipmentStatusMap.get(outDTO.getDeviceId());
+                if(equipmentStatus != null){
+                    EquipmentStatusOutDTO equipmentStatusOutDTO = BeanUtil.copyProperties(equipmentStatus, EquipmentStatusOutDTO.class);
+                    outDTO.setEquipmentStatus(equipmentStatusOutDTO);
+                }
+            }
+        }
+        Page<CaseInfoOutDTO> outPage = new Page<>(pageInDTO.getPageNum(), pageInDTO.getPageSize(), rs.getTotal());
+        outPage.setRecords(outDTOList);
+        return outPage;
+    }
+}
+
+
+
+

+ 30 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/manhole/dto/in/CaseInfoPageInDTO.java

@@ -0,0 +1,30 @@
+package com.zksy.manhole.dto.in;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 分页查询案件信息列表-入参
+ *
+ * @author xianggx
+ */
+@Data
+@ApiModel(value = "分页查询案件信息列表-入参", description = "分页查询案件信息列表-入参")
+public class CaseInfoPageInDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "案件编号")
+    private String caseNo;
+
+    @ApiModelProperty("设备位置描述")
+    private String equipmentLocation;
+
+    @ApiModelProperty(value = "当前记录起始索引", required = true)
+    private Long pageNum;
+
+    @ApiModelProperty(value = "每页显示记录数", required = true)
+    private Long pageSize;
+}

+ 54 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/manhole/dto/in/CaseInfoSaveInDTO.java

@@ -0,0 +1,54 @@
+package com.zksy.manhole.dto.in;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 新增案件信息-入参
+ *
+ * @author xianggx
+ */
+@Data
+@ApiModel(value = "新增案件信息-入参", description = "新增案件信息-入参")
+public class CaseInfoSaveInDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 关联设备ID
+     */
+    @ApiModelProperty(value = "设备ID", required = true)
+    private String deviceId;
+
+    /**
+     * 设备编码
+     */
+    @ApiModelProperty(value = "设备编码", required = true)
+    private String deviceCode;
+
+    /**
+     * 案件等级:1-严重 2-一般 3-轻微
+     */
+    @ApiModelProperty(value = "案件等级:1-严重 2-一般 3-轻微", required = true)
+    private Integer caseLevel;
+
+    /**
+     * 案件描述
+     */
+    @ApiModelProperty(value = "案件描述", required = true)
+    private String caseDesc;
+
+    /**
+     * 立案人ID
+     */
+    @ApiModelProperty(value = "立案人ID", required = true)
+    private Long fileUser;
+
+    /**
+     * 案件佐证图片、附件地址
+     */
+    @ApiModelProperty(value = "案件佐证图片、附件地址")
+    private String attachUrl;
+}

+ 27 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/manhole/dto/in/CaseInfoVerifyInDTO.java

@@ -0,0 +1,27 @@
+package com.zksy.manhole.dto.in;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 核查案件信息-入参
+ *
+ * @author xianggx
+ */
+@Data
+@ApiModel(value = "核查案件信息-入参", description = "核查案件信息-入参")
+public class CaseInfoVerifyInDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "案件ID", required = true)
+    private Long caseId;
+
+    @ApiModelProperty(value = "核查人ID", required = true)
+    private Long verifyUser;
+
+    @ApiModelProperty(value = "核查结果:1-待处理,2-误报", required = true)
+    private Integer verifyResult;
+}

+ 25 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/manhole/dto/out/CaseInfoOutDTO.java

@@ -0,0 +1,25 @@
+package com.zksy.manhole.dto.out;
+
+import com.zksy.base.domain.CaseInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 获取案件信息详情-出参
+ *
+ * @author xianggx
+ */
+@Data
+@ApiModel(value = "获取案件信息详情-出参", description = "获取案件信息详情-出参")
+public class CaseInfoOutDTO extends CaseInfo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("设备类别名称")
+    private String equipmentTypeName;
+
+    @ApiModelProperty(value = "设备状态详情")
+    private EquipmentStatusOutDTO equipmentStatus;
+}

+ 35 - 0
pipe-network-service/zksy-system/src/main/resources/mapper/CaseInfoMapper.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zksy.base.mapper.CaseInfoMapper">
+
+    <resultMap id="BaseResultMap" type="com.zksy.base.domain.CaseInfo">
+            <id property="caseId" column="case_id" jdbcType="BIGINT"/>
+            <result property="caseNo" column="case_no" jdbcType="VARCHAR"/>
+            <result property="alarmId" column="alarm_id" jdbcType="VARCHAR"/>
+            <result property="deviceId" column="device_id" jdbcType="VARCHAR"/>
+            <result property="deviceCode" column="device_code" jdbcType="VARCHAR"/>
+            <result property="caseLevel" column="case_level" jdbcType="TINYINT"/>
+            <result property="caseDesc" column="case_desc" jdbcType="VARCHAR"/>
+            <result property="caseSource" column="case_source" jdbcType="TINYINT"/>
+            <result property="caseStatus" column="case_status" jdbcType="TINYINT"/>
+            <result property="fileUser" column="file_user" jdbcType="BIGINT"/>
+            <result property="verifyUser" column="verify_user" jdbcType="BIGINT"/>
+            <result property="verifyTime" column="verify_time" jdbcType="TIMESTAMP"/>
+            <result property="finishTime" column="finish_time" jdbcType="TIMESTAMP"/>
+            <result property="handleResult" column="handle_result" jdbcType="VARCHAR"/>
+            <result property="attachUrl" column="attach_url" jdbcType="VARCHAR"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        case_id,case_no,alarm_id,
+        device_id,device_code,case_level,
+        case_desc,case_source,case_status,
+        file_user,verify_user,verify_time,
+        finish_time,handle_result,attach_url,
+        create_time,update_time
+    </sql>
+</mapper>