访客预约

This commit is contained in:
pengjie 2024-04-27 14:28:11 +08:00
parent b250bc5892
commit 86724b9c0c
13 changed files with 405 additions and 1 deletions

View File

@ -78,6 +78,12 @@ public class AiAnalyseHardWareAlarmRecord implements Serializable {
@Excel(name = "类型 1-烟感报警2-明火报警3-人员到底报警4-未带安全帽报警5-区域入侵报警6-越界入侵报警7-人员聚集报警, 8-反光衣、9-裸土覆盖,13口罩识别,14徘徊预警,15物体滞留监测,16绊线监测", width = 15)
@ApiModelProperty(value = "类型 1-烟感报警2-明火报警3-人员到底报警4-未带安全帽报警5-区域入侵报警6-越界入侵报警7-人员聚集报警, 8-反光衣、9-裸土覆盖,13口罩识别,14徘徊预警,15物体滞留监测,16绊线监测")
private java.lang.Integer alarmType;
/**
* 告警类型
*/
@Excel(name = "告警类型", width = 15)
@ApiModelProperty(value = "告警类型")
private java.lang.String alarmName;
/**
* 位置
*/

View File

@ -190,6 +190,7 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl<AiAnaly
FileInfo alarmImageInfo = fileStorageService.of(UrlUtil.uploadImgUrlToMultipartFile(serverUrl + alarmImage)).setPath(DateUtil.today()).upload();
aiAnalyseHardWareAlarmRecord.setImageUrl(DateUtil.today() + "/" + alarmImageInfo.getUrl());
aiAnalyseHardWareAlarmRecord.setAlarmDesc(body.getString("alarmDesc"));
aiAnalyseHardWareAlarmRecord.setAlarmName(body.getString("alarmType"));
aiAnalyseHardWareAlarmRecordMapper.insert(aiAnalyseHardWareAlarmRecord);
//将数据通过MQTT转发到前台
asyncAiAnalyse.sendAiAnalyse(aiAnalyseHardWareAlarmRecord);

View File

@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@DataScope
public interface WorkerInfoAuditRecordMapper extends BaseMapper<WorkerInfoAuditRecord> {
@DataScope(includeTable = "worker_info_audit_record")
List<EntityMap> selectWorkerInfoAuditList(Page<EntityMap> page, @Param("param")Map<String, Object> map);
EntityMap viewWorkerInfoDetail(Map<String, Object> map);

View File

@ -50,7 +50,7 @@ public class WorkerInfoAuditRecordServiceImpl extends ServiceImpl<WorkerInfoAudi
@Override
public List<EntityMap> getPassList(Map<String, Object> map) {
Page<EntityMap> page = new Page<>(-1, 10);
map.put("isExamPass", true);
map.put("isExamPass", 1);
return workerInfoAuditRecordMapper.selectWorkerInfoAuditList(page, map);
}

View File

@ -3,6 +3,8 @@ package com.zhgd.xmgl.modules.xz.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.zhgd.annotation.OperLog;
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
import com.zhgd.xmgl.modules.worker.service.IEnterpriseInfoService;
import com.zhgd.xmgl.modules.xz.entity.XzMaterialDetail;
import com.zhgd.xmgl.util.PageUtil;
import io.swagger.annotations.Api;
@ -14,6 +16,7 @@ import java.util.*;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@ -59,6 +62,8 @@ public class XzMaterialController {
@Autowired
private IXzMaterialService xzMaterialService;
@Autowired
private IEnterpriseInfoService enterpriseInfoService;
/**
* 分页列表查询
*
@ -75,6 +80,17 @@ public class XzMaterialController {
QueryWrapper<XzMaterial> queryWrapper = QueryGenerator.initPageQueryWrapper(XzMaterial.class, map);
Page<XzMaterial> page = PageUtil.getPage(map);
IPage<XzMaterial> pageList = xzMaterialService.page(page, queryWrapper);
queryWrapper.orderByDesc("entry_time");
if (pageList.getRecords().size() > 0) {
List<EnterpriseInfo> enterpriseInfos = enterpriseInfoService.listByIds(pageList.getRecords().stream().map(r -> r.getEnterpriseId()).collect(Collectors.toSet()));
for (XzMaterial record : pageList.getRecords()) {
for (EnterpriseInfo enterpriseInfo : enterpriseInfos) {
if (record.getEnterpriseId().equals(enterpriseInfo.getId())) {
record.setEnterpriseName(enterpriseInfo.getEnterpriseName());
}
}
}
}
return Result.success(pageList);
}

View File

@ -0,0 +1,230 @@
package com.zhgd.xmgl.modules.xz.controller;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.zhgd.annotation.OperLog;
import com.zhgd.xmgl.util.PageUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.jeecg.common.util.oConvertUtils;
import com.zhgd.xmgl.modules.xz.entity.XzVisitorManageRecord;
import com.zhgd.xmgl.modules.xz.service.IXzVisitorManageRecordService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import springfox.documentation.annotations.ApiIgnore;
/**
* @Title: Controller
* @Description: 访客信息
* @author pengj
* @date 2024-04-26
* @version V1.0
*/
@RestController
@RequestMapping("/xmgl/xzVisitorManageRecord")
@Slf4j
@Api(tags = "访客信息管理")
public class XzVisitorManageRecordController {
@Autowired
private IXzVisitorManageRecordService xzVisitorManageRecordService;
/**
* 分页列表查询
*
* @return
*/
@OperLog(operModul = "访客信息管理", operType = "分页查询", operDesc = "分页列表查询访客信息信息")
@ApiOperation(value = " 分页列表查询访客信息信息", notes = "分页列表查询访客信息信息", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNo", value = "页数", paramType = "body", required = true, defaultValue = "1", dataType = "Integer"),
@ApiImplicitParam(name = "pageSize", value = "每页条数", paramType = "body", required = true, defaultValue = "10", dataType = "Integer")
})
@PostMapping(value = "/page")
public Result<IPage<XzVisitorManageRecord>> queryPageList(@ApiIgnore @RequestBody Map<String, Object> map) {
QueryWrapper<XzVisitorManageRecord> queryWrapper = QueryGenerator.initPageQueryWrapper(XzVisitorManageRecord.class, map);
Page<XzVisitorManageRecord> page = PageUtil.getPage(map);
IPage<XzVisitorManageRecord> pageList = xzVisitorManageRecordService.page(page, queryWrapper);
return Result.success(pageList);
}
/**
* 列表查询
*
* @param xzVisitorManageRecord
* @return
*/
@OperLog(operModul = "访客信息管理", operType = "列表查询", operDesc = "列表查询访客信息信息")
@ApiOperation(value = " 列表查询访客信息信息", notes = "列表查询访客信息信息", httpMethod = "POST")
@PostMapping(value = "/list")
public Result<List<XzVisitorManageRecord>> queryList(@RequestBody XzVisitorManageRecord xzVisitorManageRecord) {
QueryWrapper<XzVisitorManageRecord> queryWrapper = QueryGenerator.initQueryWrapper(xzVisitorManageRecord);
List<XzVisitorManageRecord> list = xzVisitorManageRecordService.list(queryWrapper);
return Result.success(list);
}
/**
* 添加
*
* @param xzVisitorManageRecord
* @return
*/
@OperLog(operModul = "访客信息管理", operType = "新增", operDesc = "添加访客信息信息")
@ApiOperation(value = " 添加访客信息信息", notes = "添加访客信息信息", httpMethod = "POST")
@PostMapping(value = "/add")
public Result<Object> add(@RequestBody XzVisitorManageRecord xzVisitorManageRecord) {
xzVisitorManageRecordService.save(xzVisitorManageRecord);
return Result.success("添加成功!");
}
/**
* 添加
*
* @param map
* @return
*/
@OperLog(operModul = "访客信息管理", operType = "新增", operDesc = "添加访客信息信息")
@ApiOperation(value = " 添加访客信息信息", notes = "添加访客信息信息", httpMethod = "POST")
@PostMapping(value = "/save")
public Result<Object> save(@RequestBody Map<String, Object> map) {
if (map.get("beginTime") != null) {
map.put("beginTime", map.get("beginTime") + ":00");
}
if (map.get("endTime") != null) {
map.put("endTime", map.get("endTime") + ":00");
}
XzVisitorManageRecord xzVisitorManageRecord = JSONObject.parseObject(JSON.toJSONString(map), XzVisitorManageRecord.class);
xzVisitorManageRecord.setCreateTime(new Date());
xzVisitorManageRecord.setIsEnable(DateUtil.compare(xzVisitorManageRecord.getEndTime(), new Date()) > 0 ? 1 : 0);
xzVisitorManageRecordService.save(xzVisitorManageRecord);
return Result.success("添加成功!");
}
/**
* 编辑
*
* @param xzVisitorManageRecord
* @return
*/
@OperLog(operModul = "访客信息管理", operType = "修改", operDesc = "编辑访客信息信息")
@ApiOperation(value = "编辑访客信息信息", notes = "编辑访客信息信息", httpMethod = "POST")
@PostMapping(value = "/edit")
public Result<XzVisitorManageRecord> edit(@RequestBody XzVisitorManageRecord xzVisitorManageRecord) {
Result<XzVisitorManageRecord> result = new Result<XzVisitorManageRecord>();
XzVisitorManageRecord xzVisitorManageRecordEntity = xzVisitorManageRecordService.getById(xzVisitorManageRecord.getId());
if (xzVisitorManageRecordEntity == null) {
result.error500("未找到对应实体");
} else {
boolean ok = xzVisitorManageRecordService.updateById(xzVisitorManageRecord);
if (ok) {
result.success("修改成功!");
} else {
result.success("操作失败!");
}
}
return result;
}
/**
* 通过id删除
*
* @return
*/
@OperLog(operModul = "访客信息管理", operType = "删除", operDesc = "删除访客信息信息")
@ApiOperation(value = "删除访客信息信息", notes = "删除访客信息信息", httpMethod = "POST")
@ApiImplicitParam(name = "id", value = "访客信息ID", paramType = "body", required = true, dataType = "Integer")
@PostMapping(value = "/delete")
public Result<XzVisitorManageRecord> delete(@RequestBody XzVisitorManageRecord xzVisitorManageRecord) {
Result<XzVisitorManageRecord> result = new Result<XzVisitorManageRecord>();
XzVisitorManageRecord xzVisitorManageRecordEntity = xzVisitorManageRecordService.getById(xzVisitorManageRecord.getId());
if (xzVisitorManageRecordEntity == null) {
result.error500("未找到对应实体");
} else {
boolean ok = xzVisitorManageRecordService.removeById(xzVisitorManageRecord.getId());
if (ok) {
result.success("删除成功!");
} else {
result.success("操作失败!");
}
}
return result;
}
/**
* 批量删除
*
* @return
*/
@OperLog(operModul = "访客信息管理", operType = "批量删除", operDesc = "批量删除访客信息信息")
@ApiOperation(value = "批量删除访客信息信息", notes = "批量删除访客信息信息", httpMethod = "POST")
@ApiImplicitParam(name = "ids", value = "访客信息ID字符串", paramType = "body", required = true, dataType = "String")
@PostMapping(value = "/deleteBatch")
public Result<XzVisitorManageRecord> deleteBatch(@ApiIgnore @RequestBody Map<String, Object> map) {
Result<XzVisitorManageRecord> result = new Result<XzVisitorManageRecord>();
String ids = MapUtils.getString(map, "ids");
if (ids == null || "".equals(ids.trim())) {
result.error500("参数不识别!");
} else {
this.xzVisitorManageRecordService.removeByIds(Arrays.asList(ids.split(",")));
result.success("删除成功!");
}
return result;
}
/**
* 通过id查询
*
* @return
*/
@OperLog(operModul = "访客信息管理", operType = "查询", operDesc = "通过id查询访客信息信息")
@ApiOperation(value = "通过id查询访客信息信息", notes = "通过id查询访客信息信息", httpMethod = "POST")
@ApiImplicitParam(name = "id", value = "访客信息ID", paramType = "body", required = true, dataType = "Integer")
@PostMapping(value = "/queryById")
public Result<XzVisitorManageRecord> queryById(@ApiIgnore @RequestBody Map<String, Object> map) {
Result<XzVisitorManageRecord> result = new Result<XzVisitorManageRecord>();
XzVisitorManageRecord xzVisitorManageRecord = xzVisitorManageRecordService.getById(MapUtils.getString(map, "id"));
if (xzVisitorManageRecord == null) {
result.error500("未找到对应实体");
} else {
result.setResult(xzVisitorManageRecord);
result.setSuccess(true);
}
return result;
}
}

View File

@ -58,6 +58,10 @@ public class XzMaterial implements Serializable {
@ApiModelProperty(value = "企业id")
private String enterpriseId;
@TableField(exist = false)
@ApiModelProperty(value = "企业名称")
private String enterpriseName;
@TableField(exist = false)
@ApiModelProperty(value = "项目sn")
private List<XzMaterialDetail> xzMaterialList;

View File

@ -0,0 +1,88 @@
package com.zhgd.xmgl.modules.xz.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* @Description: 访客信息
* @author pengj
* @date 2024-04-26
* @version V1.0
*/
@Data
@TableName("xz_visitor_manage_record")
@ApiModel(value = "XzVisitorManageRecord实体类", description = "XzVisitorManageRecord")
public class XzVisitorManageRecord implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private Long id;
/**
* 项目SN
*/
@Excel(name = "项目SN", width = 15)
@ApiModelProperty(value = "项目SN")
private String projectSn;
/**
* 来访人员姓名
*/
@Excel(name = "来访人员姓名", width = 15)
@ApiModelProperty(value = "来访人员姓名")
private String visitName;
/**
* 预约人员姓名
*/
@Excel(name = "预约人员姓名", width = 15)
@ApiModelProperty(value = "预约人员姓名")
private String appointmentName;
/**
* 来访人员身份证号
*/
@Excel(name = "来访人员身份证号", width = 15)
@ApiModelProperty(value = "来访人员身份证号")
private String idCard;
/**
* 有效开始时间
*/
@Excel(name = "有效开始时间", width = 15)
@ApiModelProperty(value = "有效开始时间")
private Date beginTime;
/**
* 有效结束时间
*/
@Excel(name = "有效结束时间", width = 15)
@ApiModelProperty(value = "有效结束时间")
private Date endTime;
/**
* 预约是否成功
*/
@Excel(name = "预约是否成功", width = 15)
@ApiModelProperty(value = "预约是否成功")
private Integer isSuccess;
/**
* 是否有效
*/
@Excel(name = "是否有效", width = 15)
@ApiModelProperty(value = "是否有效")
private Integer isEnable;
/**
* 创建时间
*/
@Excel(name = "创建时间", width = 15)
@ApiModelProperty(value = "创建时间")
private Date createTime;
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.xz.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.zhgd.xmgl.modules.xz.entity.XzVisitorManageRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 访客信息
* @author pengj
* @date 2024-04-26
* @version V1.0
*/
@Mapper
public interface XzVisitorManageRecordMapper extends BaseMapper<XzVisitorManageRecord> {
}

View File

@ -0,0 +1,5 @@
<?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.zhgd.xmgl.modules.xz.mapper.XzVisitorManageRecordMapper">
</mapper>

View File

@ -0,0 +1,14 @@
package com.zhgd.xmgl.modules.xz.service;
import com.zhgd.xmgl.modules.xz.entity.XzVisitorManageRecord;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 访客信息
* @author pengj
* @date 2024-04-26
* @version V1.0
*/
public interface IXzVisitorManageRecordService extends IService<XzVisitorManageRecord> {
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.xz.service.impl;
import com.zhgd.xmgl.modules.xz.entity.XzVisitorManageRecord;
import com.zhgd.xmgl.modules.xz.mapper.XzVisitorManageRecordMapper;
import com.zhgd.xmgl.modules.xz.service.IXzVisitorManageRecordService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 访客信息
* @author pengj
* @date 2024-04-26
* @version V1.0
*/
@Service
public class XzVisitorManageRecordServiceImpl extends ServiceImpl<XzVisitorManageRecordMapper, XzVisitorManageRecord> implements IXzVisitorManageRecordService {
}

View File

@ -373,6 +373,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers("/xmgl/dangerousEngineeringRecord/save").permitAll()
.antMatchers("/xmgl/carInfo/save").permitAll()
.antMatchers("/xmgl/xzElectrical/**").permitAll()
.antMatchers("/xmgl/xzVisitorManageRecord/save").permitAll()
.antMatchers(HttpMethod.OPTIONS, "/**").anonymous()
.anyRequest().authenticated() // 剩下所有的验证都需要验证.
.and()