浏览代码

新增开门记录模块功能

oyq28 2 年之前
父节点
当前提交
5100935440

+ 25 - 2
imcs-bt-be/imcs-authority-server/src/main/java/com/github/zuihou/api/OpsAppApi.java

@@ -8,6 +8,8 @@ import com.github.zuihou.base.R;
 import com.github.zuihou.base.request.PageParams;
 import com.github.zuihou.base.request.PageParams;
 import com.github.zuihou.business.barrel.entity.EquBarrel;
 import com.github.zuihou.business.barrel.entity.EquBarrel;
 import com.github.zuihou.business.barrel.service.EquBarrelService;
 import com.github.zuihou.business.barrel.service.EquBarrelService;
+import com.github.zuihou.business.door.entity.DoorRecord;
+import com.github.zuihou.business.door.service.DoorRecordService;
 import com.github.zuihou.business.material.entity.Material;
 import com.github.zuihou.business.material.entity.Material;
 import com.github.zuihou.business.material.service.MaterialService;
 import com.github.zuihou.business.material.service.MaterialService;
 import com.github.zuihou.business.order.entity.Order;
 import com.github.zuihou.business.order.entity.Order;
@@ -49,6 +51,8 @@ public class OpsAppApi {
     private EquRecordService equRecordService;
     private EquRecordService equRecordService;
     @Autowired
     @Autowired
     private MaterialService materialService;
     private MaterialService materialService;
+    @Autowired
+    private DoorRecordService doorRecordService;
 
 
 
 
     /**
     /**
@@ -219,7 +223,9 @@ public class OpsAppApi {
     public R<Map> statisticsList(@RequestParam("equId") Long equId) {
     public R<Map> statisticsList(@RequestParam("equId") Long equId) {
         BaseContextHandler.setTenant("0000");
         BaseContextHandler.setTenant("0000");
         QueryWrap<Order> orderStatisticWrap = new QueryWrap<>();
         QueryWrap<Order> orderStatisticWrap = new QueryWrap<>();
-        orderStatisticWrap.eq("id", equId).orderByDesc("create_time");
+        if(equId!=null && equId.longValue()!=0) {
+            orderStatisticWrap.eq("id", equId).orderByDesc("create_time");
+        }
         Map<String, String> paramsMap = new HashMap<String,String>();
         Map<String, String> paramsMap = new HashMap<String,String>();
         String now = DateUtil.dateToString(new Date());
         String now = DateUtil.dateToString(new Date());
         String  sevenAgo = DateUtil.dateToString(DateUtil.getBeforeDate(new Date(), 7));
         String  sevenAgo = DateUtil.dateToString(DateUtil.getBeforeDate(new Date(), 7));
@@ -227,7 +233,13 @@ public class OpsAppApi {
         paramsMap.put("now", now);
         paramsMap.put("now", now);
         paramsMap.put("sevenAgo", sevenAgo);
         paramsMap.put("sevenAgo", sevenAgo);
         paramsMap.put("nextDay", nextDay);
         paramsMap.put("nextDay", nextDay);
-        paramsMap.put("id", equId.toString());
+        if(equId!=null && equId.longValue()!=0) {
+            paramsMap.put("id", equId.toString());
+        }
+        String orgIds = CommonUtil.getOrgIdsStr();
+        if(StringUtils.isNotEmpty(orgIds)) {
+            paramsMap.put("orgIds", orgIds);
+        }
         Map map = orderService.getStatisticMap(paramsMap);
         Map map = orderService.getStatisticMap(paramsMap);
         return R.success(map);
         return R.success(map);
     }
     }
@@ -271,6 +283,17 @@ public class OpsAppApi {
     }
     }
 
 
 
 
+    @PostMapping("/doorRecordList")
+    public  R<IPage<DoorRecord>> equDoorList(@RequestBody PageParams<DoorRecord> params){
+        BaseContextHandler.setTenant("0000");
+        IPage<DoorRecord> page = params.buildPage();
+        LbqWrapper<DoorRecord> doorQueryWrap = Wraps.lbQ();
+        DoorRecord doorRecord = BeanUtil.toBean(params.getModel(), DoorRecord.class);
+        doorQueryWrap.eq(DoorRecord::getEquId, doorRecord.getEquId());
+        //goodsQueryWrap.eq(EquGoodsDto::getEquId, equId).orderByDesc(EquGoodsDto::getGoodsId);
+        IPage<DoorRecord> list = doorRecordService.pageList(page, doorQueryWrap);
+        return R.success(list);
+    }
 
 
 
 
 
 

+ 27 - 0
imcs-bt-be/imcs-business-biz/src/main/java/com/github/zuihou/business/door/dao/DoorRecordMapper.java

@@ -0,0 +1,27 @@
+package com.github.zuihou.business.door.dao;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.zuihou.base.mapper.SuperMapper;
+import com.github.zuihou.business.door.entity.DoorRecord;
+
+import com.github.zuihou.database.mybatis.auth.DataScope;
+import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ * Mapper 接口
+ * 
+ * </p>
+ *
+ * @author zuihou
+ * @date 2022-08-22
+ */
+@Repository
+public interface DoorRecordMapper extends SuperMapper<DoorRecord> {
+
+    IPage<DoorRecord> pageList(IPage<DoorRecord> page, @Param(Constants.WRAPPER)LbqWrapper<DoorRecord> doorQueryWrap, DataScope dataScope);
+}

+ 21 - 0
imcs-bt-be/imcs-business-biz/src/main/java/com/github/zuihou/business/door/service/DoorRecordService.java

@@ -0,0 +1,21 @@
+package com.github.zuihou.business.door.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.zuihou.base.service.SuperService;
+import com.github.zuihou.business.door.entity.DoorRecord;
+import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
+
+/**
+ * <p>
+ * 业务接口
+ * 
+ * </p>
+ *
+ * @author zuihou
+ * @date 2022-08-22
+ */
+public interface DoorRecordService extends SuperService<DoorRecord> {
+
+    IPage<DoorRecord> pageList(IPage<DoorRecord> page, LbqWrapper<DoorRecord> doorQueryWrap);
+}

+ 33 - 0
imcs-bt-be/imcs-business-biz/src/main/java/com/github/zuihou/business/door/service/impl/DoorRecordServiceImpl.java

@@ -0,0 +1,33 @@
+package com.github.zuihou.business.door.service.impl;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.zuihou.business.door.dao.DoorRecordMapper;
+import com.github.zuihou.business.door.entity.DoorRecord;
+import com.github.zuihou.business.door.service.DoorRecordService;
+import com.github.zuihou.base.service.SuperServiceImpl;
+
+import com.github.zuihou.database.mybatis.auth.DataScope;
+import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 业务实现类
+ * 
+ * </p>
+ *
+ * @author zuihou
+ * @date 2022-08-22
+ */
+@Slf4j
+@Service
+
+public class DoorRecordServiceImpl extends SuperServiceImpl<DoorRecordMapper, DoorRecord> implements DoorRecordService {
+    @Override
+    public IPage<DoorRecord> pageList(IPage<DoorRecord> page, LbqWrapper<DoorRecord> doorQueryWrap) {
+        return baseMapper.pageList(page, doorQueryWrap, new DataScope());
+    }
+}

+ 31 - 0
imcs-bt-be/imcs-business-biz/src/main/resources/mapper_business/base/door/DoorRecordMapper.xml

@@ -0,0 +1,31 @@
+<?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.github.zuihou.business.door.dao.DoorRecordMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.github.zuihou.business.door.entity.DoorRecord">
+        <id column="id" jdbcType="BIGINT" property="id"/>
+        <result column="create_user" jdbcType="BIGINT" property="createUser"/>
+        <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
+        <result column="update_user" jdbcType="BIGINT" property="updateUser"/>
+        <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
+        <result column="action" jdbcType="VARCHAR" property="action"/>
+        <result column="equ_id" jdbcType="BIGINT" property="equId"/>
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id,create_user,create_time,update_user,update_time,
+        action, equ_id, deviceName,org_id
+    </sql>
+
+    <select id="pageList" resultMap="BaseResultMap" parameterType="String">
+        select
+        <include refid="Base_Column_List"/>
+        from (
+        select d.*, p.name as deviceName, p.org_id from bt_door_record d
+            left join imcs_tenant_productionresource p on d.equ_id = p.id
+        ) s ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 56 - 11
imcs-bt-be/imcs-business-biz/src/main/resources/mapper_business/base/order/OrderMapper.xml

@@ -124,7 +124,14 @@
         sum(num6) as sevenNum,
         sum(num6) as sevenNum,
         sum(num7) as deviceNum
         sum(num7) as deviceNum
         from (
         from (
-        select count(1) as num1 ,0 as num2,0 as num3,0 as num4,0 as num5,0 as num6, 0 as num7 from bt_order o where 1=1
+        select count(1) as num1 ,0 as num2,0 as num3,0 as num4,0 as num5,0 as num6, 0 as num7 from bt_order o
+        <if test="orgIds != null and orgIds != ''">
+            left join imcs_tenant_productionresource p on o.order_equ_id = p.id
+            where p.org_id in (${orgIds})
+        </if>
+        <if test="orgIds==null ">
+            where 1 = 1
+        </if>
         <if test="now != null">
         <if test="now != null">
             and o.create_time >= #{now, jdbcType=TIMESTAMP}
             and o.create_time >= #{now, jdbcType=TIMESTAMP}
         </if>
         </if>
@@ -136,10 +143,37 @@
         </if>
         </if>
         union
         union
         select 0 as num1, count(1) as num2 ,0 as num3,0 as num4,0 as num5,0 as num6, 0 as num7 from bt_order o
         select 0 as num1, count(1) as num2 ,0 as num3,0 as num4,0 as num5,0 as num6, 0 as num7 from bt_order o
+        <if test="orgIds != null and orgIds != ''">
+            left join imcs_tenant_productionresource p on o.order_equ_id = p.id
+            where p.org_id in (${orgIds})
+        </if>
+        <if test="orgIds == null ">
+            where 1 = 1
+        </if>
+        <if test="id != null">
+            and o.id = #{id}
+        </if>
         union
         union
         select 0 as num1,0 as num2,count(1) as num3,0 as num4,0 as num5,0 as num6, 0 as num7 from bt_order o
         select 0 as num1,0 as num2,count(1) as num3,0 as num4,0 as num5,0 as num6, 0 as num7 from bt_order o
+        <if test="orgIds != null and orgIds != ''">
+            left join imcs_tenant_productionresource p on o.order_equ_id = p.id
+            where p.org_id in (${orgIds})
+        </if>
+        <if test="orgIds == null ">
+            where 1 = 1
+        </if>
+        <if test="id != null">
+            and o.id = #{id}
+        </if>
         union
         union
-        select 0 as num1,0 as num2,0 as num3,sum(o.order_amount) as num4,0 as num5,0 as num6, 0 as num7 from bt_order o where 1=1
+        select 0 as num1,0 as num2,0 as num3,sum(o.order_amount) as num4,0 as num5,0 as num6, 0 as num7 from bt_order o
+        <if test="orgIds != null and orgIds != ''">
+            left join imcs_tenant_productionresource p on o.order_equ_id = p.id
+            where p.org_id in (${orgIds})
+        </if>
+        <if test="orgIds == null ">
+            where 1 = 1
+        </if>
         <if test="now != null">
         <if test="now != null">
             and o.create_time >= #{now, jdbcType=TIMESTAMP}
             and o.create_time >= #{now, jdbcType=TIMESTAMP}
         </if>
         </if>
@@ -150,7 +184,14 @@
             and o.id = #{id}
             and o.id = #{id}
         </if>
         </if>
         union
         union
-        select 0,0,0,0,count(1) as num5,0, 0 from bt_order o where 1=1
+        select 0,0,0,0,count(1) as num5,0, 0 from bt_order o
+        <if test="orgIds != null and orgIds != ''">
+            left join imcs_tenant_productionresource p on o.order_equ_id = p.id
+            where p.org_id in (${orgIds})
+        </if>
+        <if test="orgIds == null ">
+            where 1 = 1
+        </if>
         <if test="sevenAgo != null">
         <if test="sevenAgo != null">
             and o.create_time >= #{sevenAgo, jdbcType=TIMESTAMP}
             and o.create_time >= #{sevenAgo, jdbcType=TIMESTAMP}
         </if>
         </if>
@@ -161,7 +202,14 @@
             and o.id = #{id}
             and o.id = #{id}
         </if>
         </if>
         union
         union
-        select 0,0,0,0,0,sum(o.order_amount) as num6, 0 from bt_order o where produce_status = '1'
+        select 0,0,0,0,0,sum(o.order_amount) as num6, 0 from bt_order o
+        <if test="orgIds != null and orgIds != ''">
+            left join imcs_tenant_productionresource p on o.order_equ_id = p.id
+            where p.org_id in (${orgIds})
+        </if>
+        <if test="orgIds == null ">
+            where o.produce_status = '1'
+        </if>
         <if test="sevenAgo != null">
         <if test="sevenAgo != null">
             and o.create_time >= #{sevenAgo, jdbcType=TIMESTAMP}
             and o.create_time >= #{sevenAgo, jdbcType=TIMESTAMP}
         </if>
         </if>
@@ -173,14 +221,11 @@
         </if>
         </if>
         union
         union
         select 0,0,0,0,0,0, count(p.id) as num7 from imcs_tenant_productionresource p where p.status = '1'
         select 0,0,0,0,0,0, count(p.id) as num7 from imcs_tenant_productionresource p where p.status = '1'
-        <if test="sevenAgo != null">
-            and o.create_time >= #{sevenAgo, jdbcType=TIMESTAMP}
-        </if>
-        <if test="now != null">
-            and o.create_time <![CDATA[ <= ]]> #{now, jdbcType=TIMESTAMP}
-        </if>
         <if test="id != null">
         <if test="id != null">
-            and o.id = #{id}
+            and p.id = #{id}
+        </if>
+        <if test="orgIds != null and orgIds != ''">
+            and p.org_id in (${orgIds})
         </if>
         </if>
         ) f
         ) f
     </select>
     </select>

+ 1 - 1
imcs-bt-be/imcs-business-biz/src/main/resources/mapper_business/base/record/EquRecordMapper.xml

@@ -21,7 +21,7 @@
     <!-- 通用查询结果列 -->
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
     <sql id="Base_Column_List">
         id,create_time,create_user,update_time,update_user, mt_name, mtrName,barrel_code,barrel_type,
         id,create_time,create_user,update_time,update_user, mt_name, mtrName,barrel_code,barrel_type,
-        equ_id, material_id, current_material, replace_material, surplus, specs, date
+        equ_id, material_id, current_material, replace_material, surplus, specs, date, org_id
     </sql>
     </sql>
 
 
 
 

+ 53 - 0
imcs-bt-be/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/door/DoorRecordController.java

@@ -0,0 +1,53 @@
+package com.github.zuihou.business.controller.door;
+
+import com.github.zuihou.business.door.entity.DoorRecord;
+import com.github.zuihou.business.door.dto.DoorRecordSaveDTO;
+import com.github.zuihou.business.door.dto.DoorRecordUpdateDTO;
+import com.github.zuihou.business.door.dto.DoorRecordPageDTO;
+import com.github.zuihou.business.door.service.DoorRecordService;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import com.github.zuihou.base.controller.SuperController;
+import com.github.zuihou.base.R;
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestMapping;
+import com.github.zuihou.security.annotation.PreAuth;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 前端控制器
+ * 
+ * </p>
+ *
+ * @author zuihou
+ * @date 2022-08-22
+ */
+@Slf4j
+@Validated
+@RestController
+@RequestMapping("/doorRecord")
+@Api(value = "DoorRecord", tags = "")
+@PreAuth(replace = "doorRecord:")
+public class DoorRecordController extends SuperController<DoorRecordService, Long, DoorRecord, DoorRecordPageDTO, DoorRecordSaveDTO, DoorRecordUpdateDTO> {
+
+    /**
+     * Excel导入后的操作
+     *
+     * @param list
+     */
+    @Override
+    public R<Boolean> handlerImport(List<Map<String, String>> list){
+        List<DoorRecord> doorRecordList = list.stream().map((map) -> {
+            DoorRecord doorRecord = DoorRecord.builder().build();
+            //TODO 请在这里完成转换
+            return doorRecord;
+        }).collect(Collectors.toList());
+
+        return R.success(baseService.saveBatch(doorRecordList));
+    }
+}

+ 56 - 0
imcs-bt-be/imcs-business-entity/src/main/java/com/github/zuihou/business/door/dto/DoorRecordPageDTO.java

@@ -0,0 +1,56 @@
+package com.github.zuihou.business.door.dto;
+
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.github.zuihou.base.entity.Entity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.constraints.Range;
+import lombok.Data;
+import lombok.Builder;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.AllArgsConstructor;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+import com.github.zuihou.common.constant.DictionaryType;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 实体类
+ * 
+ * </p>
+ *
+ * @author zuihou
+ * @since 2022-08-22
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Accessors(chain = true)
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = false)
+@Builder
+@ApiModel(value = "DoorRecordPageDTO", description = "")
+public class DoorRecordPageDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 操作(1-开门 2-关门)
+     */
+    @ApiModelProperty(value = "操作(1-开门 2-关门)")
+    @Length(max = 255, message = "操作(1-开门 2-关门)长度不能超过255")
+    private String action;
+    /**
+     * 设备ID
+     */
+    @ApiModelProperty(value = "设备ID")
+    private Long equId;
+
+}

+ 55 - 0
imcs-bt-be/imcs-business-entity/src/main/java/com/github/zuihou/business/door/dto/DoorRecordSaveDTO.java

@@ -0,0 +1,55 @@
+package com.github.zuihou.business.door.dto;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.github.zuihou.base.entity.Entity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.constraints.Range;
+import lombok.Data;
+import lombok.Builder;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.AllArgsConstructor;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+import com.github.zuihou.common.constant.DictionaryType;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 实体类
+ * 
+ * </p>
+ *
+ * @author zuihou
+ * @since 2022-08-22
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Accessors(chain = true)
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = false)
+@Builder
+@ApiModel(value = "DoorRecordSaveDTO", description = "")
+public class DoorRecordSaveDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 操作(1-开门 2-关门)
+     */
+    @ApiModelProperty(value = "操作(1-开门 2-关门)")
+    @Length(max = 255, message = "操作(1-开门 2-关门)长度不能超过255")
+    private String action;
+    /**
+     * 设备ID
+     */
+    @ApiModelProperty(value = "设备ID")
+    private Long equId;
+
+}

+ 59 - 0
imcs-bt-be/imcs-business-entity/src/main/java/com/github/zuihou/business/door/dto/DoorRecordUpdateDTO.java

@@ -0,0 +1,59 @@
+package com.github.zuihou.business.door.dto;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.github.zuihou.base.entity.Entity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.constraints.Range;
+import com.github.zuihou.base.entity.SuperEntity;
+import lombok.Data;
+import lombok.Builder;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.AllArgsConstructor;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+import com.github.zuihou.common.constant.DictionaryType;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 实体类
+ * 
+ * </p>
+ *
+ * @author zuihou
+ * @since 2022-08-22
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Accessors(chain = true)
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = false)
+@Builder
+@ApiModel(value = "DoorRecordUpdateDTO", description = "")
+public class DoorRecordUpdateDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @NotNull(message = "id不能为空", groups = SuperEntity.Update.class)
+    private Long id;
+
+    /**
+     * 操作(1-开门 2-关门)
+     */
+    @ApiModelProperty(value = "操作(1-开门 2-关门)")
+    @Length(max = 255, message = "操作(1-开门 2-关门)长度不能超过255")
+    private String action;
+    /**
+     * 设备ID
+     */
+    @ApiModelProperty(value = "设备ID")
+    private Long equId;
+}

+ 86 - 0
imcs-bt-be/imcs-business-entity/src/main/java/com/github/zuihou/business/door/entity/DoorRecord.java

@@ -0,0 +1,86 @@
+package com.github.zuihou.business.door.entity;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import cn.afterturn.easypoi.excel.annotation.ExcelEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.github.zuihou.base.entity.Entity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.constraints.Range;
+import java.time.LocalDateTime;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+import com.github.zuihou.common.constant.DictionaryType;
+import static com.github.zuihou.utils.DateUtils.DEFAULT_DATE_TIME_FORMAT;
+
+import static com.baomidou.mybatisplus.annotation.SqlCondition.LIKE;
+
+/**
+ * <p>
+ * 实体类
+ * 
+ * </p>
+ *
+ * @author zuihou
+ * @since 2022-08-22
+ */
+@Data
+@NoArgsConstructor
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("bt_door_record")
+@ApiModel(value = "DoorRecord", description = "")
+@AllArgsConstructor
+public class DoorRecord extends Entity<Long> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 操作(1-开门 2-关门)
+     */
+    @ApiModelProperty(value = "操作(1-开门 2-关门)")
+    @Length(max = 255, message = "操作(1-开门 2-关门)长度不能超过255")
+    @TableField(value = "action", condition = LIKE)
+    @Excel(name = "操作(1-开门 2-关门)")
+    private String action;
+
+    /**
+     * 设备ID
+     */
+    @ApiModelProperty(value = "设备ID")
+    @TableField("equId")
+    @Excel(name = "设备ID")
+    private Long equId;
+
+
+    /**
+     * 设备名称
+     */
+    @ApiModelProperty(value = "设备名称")
+    @TableField(exist = false)
+    @Excel(name = "设备名称")
+    private String deviceName;
+
+    @Builder
+    public DoorRecord(Long id, Long createUser, LocalDateTime createTime, Long updateUser, LocalDateTime updateTime, 
+                    String action, Long equId) {
+        this.id = id;
+        this.createUser = createUser;
+        this.createTime = createTime;
+        this.updateUser = updateUser;
+        this.updateTime = updateTime;
+        this.action = action;
+        this.equId = equId;
+    }
+
+}