Commit 7185f1e3 by chenjunxiong

build(server): 门禁设备配置功能开发

parent 04092c3e
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
data () { data () {
return { return {
title:'', title:'',
width:800, width:1400,
visible: false, visible: false,
disableSubmit: false disableSubmit: false
} }
......
...@@ -19,6 +19,7 @@ import org.springframework.web.servlet.ModelAndView; ...@@ -19,6 +19,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
/** /**
* @Description: pm_access_control_device * @Description: pm_access_control_device
...@@ -31,6 +32,9 @@ import java.util.Arrays; ...@@ -31,6 +32,9 @@ import java.util.Arrays;
@RequestMapping("/pm/pmAccessControlDevice") @RequestMapping("/pm/pmAccessControlDevice")
@Slf4j @Slf4j
public class PmAccessControlDeviceController extends JeecgController<PmAccessControlDevice, IPmAccessControlDeviceService> { public class PmAccessControlDeviceController extends JeecgController<PmAccessControlDevice, IPmAccessControlDeviceService> {
private static final List<String> TYPES = Arrays.asList("type-1", "type-2", "type-3");
@Autowired @Autowired
private IPmAccessControlDeviceService pmAccessControlDeviceService; private IPmAccessControlDeviceService pmAccessControlDeviceService;
...@@ -51,7 +55,7 @@ public class PmAccessControlDeviceController extends JeecgController<PmAccessCon ...@@ -51,7 +55,7 @@ public class PmAccessControlDeviceController extends JeecgController<PmAccessCon
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) { HttpServletRequest req) {
QueryWrapper<PmAccessControlDevice> queryWrapper = QueryGenerator.initQueryWrapper(pmAccessControlDevice, req.getParameterMap()); QueryWrapper<PmAccessControlDevice> queryWrapper = QueryGenerator.initQueryWrapper(pmAccessControlDevice, req.getParameterMap());
Page<PmAccessControlDevice> page = new Page<PmAccessControlDevice>(pageNo, pageSize); Page<PmAccessControlDevice> page = new Page<>(pageNo, pageSize);
IPage<PmAccessControlDevice> pageList = pmAccessControlDeviceService.page(page, queryWrapper); IPage<PmAccessControlDevice> pageList = pmAccessControlDeviceService.page(page, queryWrapper);
return Result.OK(pageList); return Result.OK(pageList);
} }
...@@ -152,4 +156,8 @@ public class PmAccessControlDeviceController extends JeecgController<PmAccessCon ...@@ -152,4 +156,8 @@ public class PmAccessControlDeviceController extends JeecgController<PmAccessCon
return super.importExcel(request, response, PmAccessControlDevice.class); return super.importExcel(request, response, PmAccessControlDevice.class);
} }
@GetMapping("/types")
public Result<List<String>> getTypes() {
return Result.OK(TYPES);
}
} }
package org.jeecg.modules.demo.pm.controller;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.demo.pm.entity.PmBuildingInfo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author 陈俊雄
* @since 2022/3/17
*/
@Api(tags = "pm_access_control_device")
@RestController
@RequestMapping("/pm/pmBuildingInfo")
@Slf4j
public class PmBuildingInfoController {
private static final List<PmBuildingInfo> BUILDING_INFOS = Arrays.asList(
new PmBuildingInfo()
.setName("望海路1号楼")
.setFloorList(Arrays.asList("-2F", "-1F", "1F", "2F", "3F")),
new PmBuildingInfo()
.setName("望海路2号楼")
.setFloorList(Arrays.asList("-3F", "-2F", "-1F", "1F", "2F", "3F", "4F"))
);
@GetMapping("/list")
public Result<List<PmBuildingInfo>> list() {
return Result.OK(BUILDING_INFOS);
}
}
package org.jeecg.modules.demo.pm.entity;
import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
import com.chanjx.utils.JsonUtils;
import com.fasterxml.jackson.core.JsonProcessingException;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import lombok.extern.slf4j.Slf4j;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author 陈俊雄
* @since 2022/3/17
*/
@Slf4j
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class Coordinate implements Serializable {
private Float x;
private Float y;
@Slf4j
public static class TypeHandler extends AbstractJsonTypeHandler<Coordinate> {
@Override
protected Coordinate parse(String json) {
try {
return JsonUtils.json2Obj(json, Coordinate.class);
} catch (JsonProcessingException e) {
log.error("Json反序列化失败!", e);
}
return null;
}
@Override
protected String toJson(Coordinate obj) {
try {
return JsonUtils.obj2Json(obj);
} catch (JsonProcessingException e) {
log.error("Json序列化失败!", e);
}
return null;
}
}
}
package org.jeecg.modules.demo.pm.entity; package org.jeecg.modules.demo.pm.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
...@@ -9,6 +10,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -9,6 +10,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
...@@ -22,7 +24,7 @@ import java.util.Date; ...@@ -22,7 +24,7 @@ import java.util.Date;
* @Version: V1.0 * @Version: V1.0
*/ */
@Data @Data
@TableName("pm_access_control_device") @TableName(value = "pm_access_control_device", autoResultMap = true)
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ApiModel(value = "pm_access_control_device对象", description = "pm_access_control_device") @ApiModel(value = "pm_access_control_device对象", description = "pm_access_control_device")
...@@ -42,6 +44,12 @@ public class PmAccessControlDevice implements Serializable { ...@@ -42,6 +44,12 @@ public class PmAccessControlDevice implements Serializable {
@ApiModelProperty(value = "设备编码") @ApiModelProperty(value = "设备编码")
private String code; private String code;
/** /**
* 设备类型
*/
@Excel(name = "设备类型", width = 15)
@ApiModelProperty(value = "设备类型")
private String type;
/**
* 设备名称 * 设备名称
*/ */
@Excel(name = "设备名称", width = 15) @Excel(name = "设备名称", width = 15)
...@@ -64,7 +72,7 @@ public class PmAccessControlDevice implements Serializable { ...@@ -64,7 +72,7 @@ public class PmAccessControlDevice implements Serializable {
*/ */
@Excel(name = "楼层", width = 15) @Excel(name = "楼层", width = 15)
@ApiModelProperty(value = "楼层") @ApiModelProperty(value = "楼层")
private Integer floor; private String floor;
/** /**
* 设备位置 * 设备位置
*/ */
...@@ -76,7 +84,8 @@ public class PmAccessControlDevice implements Serializable { ...@@ -76,7 +84,8 @@ public class PmAccessControlDevice implements Serializable {
*/ */
@Excel(name = "xy值", width = 15) @Excel(name = "xy值", width = 15)
@ApiModelProperty(value = "xy值") @ApiModelProperty(value = "xy值")
private String coordinate; @TableField(typeHandler = Coordinate.TypeHandler.class)
private Coordinate coordinate;
/** /**
* 开门时间 * 开门时间
*/ */
...@@ -110,11 +119,9 @@ public class PmAccessControlDevice implements Serializable { ...@@ -110,11 +119,9 @@ public class PmAccessControlDevice implements Serializable {
/** /**
* 生产厂商 * 生产厂商
*/ */
@Excel(name = "生产厂商", width = 15, format = "yyyy-MM-dd") @Excel(name = "生产厂商", width = 15)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "生产厂商") @ApiModelProperty(value = "生产厂商")
private Date manufacturer; private String manufacturer;
/** /**
* 状态 * 状态
*/ */
...@@ -126,17 +133,19 @@ public class PmAccessControlDevice implements Serializable { ...@@ -126,17 +133,19 @@ public class PmAccessControlDevice implements Serializable {
*/ */
@Excel(name = "创建人Id(sys_user)", width = 15) @Excel(name = "创建人Id(sys_user)", width = 15)
@ApiModelProperty(value = "创建人Id(sys_user)") @ApiModelProperty(value = "创建人Id(sys_user)")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
private String createUserId; private String createUserId;
/** /**
* 修改人Id(sys_user) * 修改人Id(sys_user)
*/ */
@Excel(name = "修改人Id(sys_user)", width = 15) @Excel(name = "修改人Id(sys_user)", width = 15)
@ApiModelProperty(value = "修改人Id(sys_user)") @ApiModelProperty(value = "修改人Id(sys_user)")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
private String modifyUserId; private String modifyUserId;
/** /**
* 创建时间 * 创建时间
*/ */
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd hh:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
private Date createTime; private Date createTime;
......
package org.jeecg.modules.demo.pm.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import lombok.extern.slf4j.Slf4j;
import java.io.Serializable;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author 陈俊雄
* @since 2022/3/17
*/
@Slf4j
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class PmBuildingInfo implements Serializable {
private String name;
private List<String> floorList;
}
package org.jeecg.modules.demo.pm.entity; package org.jeecg.modules.demo.pm.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
...@@ -9,6 +10,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -9,6 +10,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
...@@ -22,7 +24,7 @@ import java.util.Date; ...@@ -22,7 +24,7 @@ import java.util.Date;
* @Version: V1.0 * @Version: V1.0
*/ */
@Data @Data
@TableName("pm_monitoring_device") @TableName(value = "pm_monitoring_device", autoResultMap = true)
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ApiModel(value = "pm_monitoring_device对象", description = "pm_monitoring_device") @ApiModel(value = "pm_monitoring_device对象", description = "pm_monitoring_device")
...@@ -42,6 +44,12 @@ public class PmMonitoringDevice implements Serializable { ...@@ -42,6 +44,12 @@ public class PmMonitoringDevice implements Serializable {
@ApiModelProperty(value = "设备编码") @ApiModelProperty(value = "设备编码")
private String code; private String code;
/** /**
* 设备类型
*/
@Excel(name = "设备类型", width = 15)
@ApiModelProperty(value = "设备类型")
private String type;
/**
* 设备名称 * 设备名称
*/ */
@Excel(name = "设备名称", width = 15) @Excel(name = "设备名称", width = 15)
...@@ -64,7 +72,7 @@ public class PmMonitoringDevice implements Serializable { ...@@ -64,7 +72,7 @@ public class PmMonitoringDevice implements Serializable {
*/ */
@Excel(name = "楼层", width = 15) @Excel(name = "楼层", width = 15)
@ApiModelProperty(value = "楼层") @ApiModelProperty(value = "楼层")
private Integer floor; private String floor;
/** /**
* 设备位置 * 设备位置
*/ */
...@@ -76,7 +84,8 @@ public class PmMonitoringDevice implements Serializable { ...@@ -76,7 +84,8 @@ public class PmMonitoringDevice implements Serializable {
*/ */
@Excel(name = "xy值", width = 15) @Excel(name = "xy值", width = 15)
@ApiModelProperty(value = "xy值") @ApiModelProperty(value = "xy值")
private String coordinate; @TableField(typeHandler = Coordinate.TypeHandler.class)
private Coordinate coordinate;
/** /**
* 生产日期 * 生产日期
*/ */
...@@ -104,11 +113,9 @@ public class PmMonitoringDevice implements Serializable { ...@@ -104,11 +113,9 @@ public class PmMonitoringDevice implements Serializable {
/** /**
* 生产厂商 * 生产厂商
*/ */
@Excel(name = "生产厂商", width = 15, format = "yyyy-MM-dd") @Excel(name = "生产厂商", width = 15)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "生产厂商") @ApiModelProperty(value = "生产厂商")
private Date manufacturer; private String manufacturer;
/** /**
* 状态 * 状态
*/ */
...@@ -120,12 +127,14 @@ public class PmMonitoringDevice implements Serializable { ...@@ -120,12 +127,14 @@ public class PmMonitoringDevice implements Serializable {
*/ */
@Excel(name = "创建人Id(sys_user)", width = 15) @Excel(name = "创建人Id(sys_user)", width = 15)
@ApiModelProperty(value = "创建人Id(sys_user)") @ApiModelProperty(value = "创建人Id(sys_user)")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
private String createUserId; private String createUserId;
/** /**
* 修改人Id(sys_user) * 修改人Id(sys_user)
*/ */
@Excel(name = "修改人Id(sys_user)", width = 15) @Excel(name = "修改人Id(sys_user)", width = 15)
@ApiModelProperty(value = "修改人Id(sys_user)") @ApiModelProperty(value = "修改人Id(sys_user)")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
private String modifyUserId; private String modifyUserId;
/** /**
* 创建时间 * 创建时间
......
package org.jeecg.modules.demo.pm.service.impl; package org.jeecg.modules.demo.pm.service.impl;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import org.jeecg.modules.demo.pm.entity.PmAccessControlDevice; import org.jeecg.modules.demo.pm.entity.PmAccessControlDevice;
import org.jeecg.modules.demo.pm.mapper.PmAccessControlDeviceMapper; import org.jeecg.modules.demo.pm.mapper.PmAccessControlDeviceMapper;
import org.jeecg.modules.demo.pm.service.IPmAccessControlDeviceService; import org.jeecg.modules.demo.pm.service.IPmAccessControlDeviceService;
...@@ -7,6 +8,8 @@ import org.springframework.stereotype.Service; ...@@ -7,6 +8,8 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.Date;
/** /**
* @Description: pm_access_control_device * @Description: pm_access_control_device
* @Author: jeecg-boot * @Author: jeecg-boot
...@@ -15,5 +18,17 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -15,5 +18,17 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
*/ */
@Service @Service
public class PmAccessControlDeviceServiceImpl extends ServiceImpl<PmAccessControlDeviceMapper, PmAccessControlDevice> implements IPmAccessControlDeviceService { public class PmAccessControlDeviceServiceImpl extends ServiceImpl<PmAccessControlDeviceMapper, PmAccessControlDevice> implements IPmAccessControlDeviceService {
@Override
public boolean save(PmAccessControlDevice entity) {
entity.setId(IdWorker.getId())
.setCreateTime(new Date())
.setModifyTime(new Date());
return super.save(entity);
}
@Override
public boolean updateById(PmAccessControlDevice entity) {
entity.setModifyTime(new Date());
return super.updateById(entity);
}
} }
package org.jeecg.modules.system.entity; package org.jeecg.modules.system.entity;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/** /**
* <p> * <p>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment