污水bug修复
This commit is contained in:
parent
6a9901a000
commit
e6f714a184
@ -102,7 +102,7 @@ public class SewageAlarmController {
|
|||||||
*/
|
*/
|
||||||
@ApiOperation(value = "编辑污水预警信息", notes = "编辑污水预警信息", httpMethod = "POST")
|
@ApiOperation(value = "编辑污水预警信息", notes = "编辑污水预警信息", httpMethod = "POST")
|
||||||
@PostMapping(value = "/edit")
|
@PostMapping(value = "/edit")
|
||||||
public Result<SewageAlarm> edit(@RequestBody SewageAlarm sewageAlarm) {
|
public Result edit(@RequestBody SewageAlarm sewageAlarm) {
|
||||||
if (Objects.equals(sewageAlarm.getHandleDone(), 1)) {
|
if (Objects.equals(sewageAlarm.getHandleDone(), 1)) {
|
||||||
UserInfo userInfo = SecurityUtils.getUser();
|
UserInfo userInfo = SecurityUtils.getUser();
|
||||||
sewageAlarm.setOperateId(userInfo.getUserId());
|
sewageAlarm.setOperateId(userInfo.getUserId());
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.zhgd.xmgl.modules.sewage.controller;
|
package com.zhgd.xmgl.modules.sewage.controller;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.gexin.fastjson.JSON;
|
||||||
import com.zhgd.jeecg.common.api.vo.Result;
|
import com.zhgd.jeecg.common.api.vo.Result;
|
||||||
import com.zhgd.xmgl.modules.sewage.entity.SewageData;
|
import com.zhgd.xmgl.modules.sewage.entity.SewageData;
|
||||||
import com.zhgd.xmgl.modules.sewage.service.ISewageDataService;
|
import com.zhgd.xmgl.modules.sewage.service.ISewageDataService;
|
||||||
@ -66,7 +67,7 @@ public class SewageDataController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "查询污水设备和最新的一条数据信息", notes = "查询污水设备和最新的一条数据信息", httpMethod = "GET")
|
@ApiOperation(value = "列表查询污水设备和最新的一条数据信息", notes = "列表查询污水设备和最新的一条数据信息", httpMethod = "GET")
|
||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
|
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
|
||||||
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
|
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
|
||||||
@ -87,7 +88,8 @@ public class SewageDataController {
|
|||||||
@ApiOperation(value = "添加污水数据信息", notes = "添加污水数据信息", httpMethod = "POST")
|
@ApiOperation(value = "添加污水数据信息", notes = "添加污水数据信息", httpMethod = "POST")
|
||||||
@PostMapping(value = "/add")
|
@PostMapping(value = "/add")
|
||||||
public Result<SewageData> add(@RequestBody SewageData sewageData) {
|
public Result<SewageData> add(@RequestBody SewageData sewageData) {
|
||||||
sewageDataService.save(sewageData);
|
log.info("添加污水数据信息:{}", JSON.toJSONString(sewageData));
|
||||||
|
sewageDataService.add(sewageData);
|
||||||
return Result.ok();
|
return Result.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,13 +157,11 @@ public class SewageDataController {
|
|||||||
*/
|
*/
|
||||||
@ApiOperation(value = "导出excel污水数据信息", notes = "导出excel污水数据信息", httpMethod = "POST")
|
@ApiOperation(value = "导出excel污水数据信息", notes = "导出excel污水数据信息", httpMethod = "POST")
|
||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
|
|
||||||
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
|
|
||||||
@ApiImplicitParam(name = "createDate_begin", value = "查询开始日期", paramType = "query", required = false, dataType = "String"),
|
@ApiImplicitParam(name = "createDate_begin", value = "查询开始日期", paramType = "query", required = false, dataType = "String"),
|
||||||
@ApiImplicitParam(name = "createDate_end", value = "查询结束日期", paramType = "query", required = false, dataType = "String"),
|
@ApiImplicitParam(name = "createDate_end", value = "查询结束日期", paramType = "query", required = false, dataType = "String"),
|
||||||
})
|
})
|
||||||
@RequestMapping(value = "/exportXls")
|
@RequestMapping(value = "/exportXls")
|
||||||
public ModelAndView exportXls(@ApiIgnore @RequestParam HashMap<String, Object> paramMap) {
|
public ModelAndView exportXls(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
|
||||||
//Step.2 AutoPoi 导出Excel
|
//Step.2 AutoPoi 导出Excel
|
||||||
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
||||||
List<SewageData> pageList = queryList(paramMap).getResult();
|
List<SewageData> pageList = queryList(paramMap).getResult();
|
||||||
|
|||||||
@ -86,7 +86,7 @@ public class SewageDevController {
|
|||||||
@ApiOperation(value = "添加污水设备信息", notes = "添加污水设备信息", httpMethod = "POST")
|
@ApiOperation(value = "添加污水设备信息", notes = "添加污水设备信息", httpMethod = "POST")
|
||||||
@PostMapping(value = "/add")
|
@PostMapping(value = "/add")
|
||||||
public Result<SewageDev> add(@RequestBody SewageDev sewageDev) {
|
public Result<SewageDev> add(@RequestBody SewageDev sewageDev) {
|
||||||
sewageDevService.save(sewageDev);
|
sewageDevService.add(sewageDev);
|
||||||
return Result.ok();
|
return Result.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ public class SewageDevController {
|
|||||||
@ApiOperation(value = "编辑污水设备信息", notes = "编辑污水设备信息", httpMethod = "POST")
|
@ApiOperation(value = "编辑污水设备信息", notes = "编辑污水设备信息", httpMethod = "POST")
|
||||||
@PostMapping(value = "/edit")
|
@PostMapping(value = "/edit")
|
||||||
public Result<SewageDev> edit(@RequestBody SewageDev sewageDev) {
|
public Result<SewageDev> edit(@RequestBody SewageDev sewageDev) {
|
||||||
sewageDevService.updateById(sewageDev);
|
sewageDevService.edit(sewageDev);
|
||||||
return Result.ok();
|
return Result.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,39 +1,21 @@
|
|||||||
package com.zhgd.xmgl.modules.sewage.controller;
|
package com.zhgd.xmgl.modules.sewage.controller;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.zhgd.jeecg.common.api.vo.Result;
|
||||||
import com.zhgd.xmgl.modules.sewage.entity.SewageWarnThreshold;
|
import com.zhgd.xmgl.modules.sewage.entity.SewageWarnThreshold;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.service.ISewageWarnThresholdService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiImplicitParams;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
import java.util.HashMap;
|
|
||||||
|
|
||||||
import springfox.documentation.annotations.ApiIgnore;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
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 org.apache.commons.collections.MapUtils;
|
|
||||||
import com.zhgd.xmgl.modules.sewage.service.ISewageWarnThresholdService;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
|
||||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
|
||||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import springfox.documentation.annotations.ApiIgnore;
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -149,37 +131,10 @@ public class SewageWarnThresholdController {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@ApiOperation(value = "通过devSn查询污水预警阈值信息", notes = "通过devSn查询污水预警阈值信息", httpMethod = "GET")
|
||||||
* 导出excel
|
@ApiImplicitParam(name = "devSn", value = "devSn", paramType = "query", required = true, dataType = "String")
|
||||||
*
|
@GetMapping(value = "/queryByDevSn")
|
||||||
* @param request
|
public Result<SewageWarnThreshold> queryByDevSn(@RequestParam(name = "devSn", required = true) String devSn) {
|
||||||
* @param response
|
return Result.success(sewageWarnThresholdService.queryByDevSn(devSn));
|
||||||
*/
|
|
||||||
@ApiOperation(value = "导出excel污水预警阈值信息", notes = "导出excel污水预警阈值信息", httpMethod = "POST")
|
|
||||||
@RequestMapping(value = "/exportXls")
|
|
||||||
public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
|
|
||||||
// Step.1 组装查询条件
|
|
||||||
QueryWrapper<SewageWarnThreshold> queryWrapper = null;
|
|
||||||
try {
|
|
||||||
String paramsStr = request.getParameter("paramsStr");
|
|
||||||
if (oConvertUtils.isNotEmpty(paramsStr)) {
|
|
||||||
String deString = URLDecoder.decode(paramsStr, "UTF-8");
|
|
||||||
SewageWarnThreshold sewageWarnThreshold = JSON.parseObject(deString, SewageWarnThreshold.class);
|
|
||||||
queryWrapper = QueryGenerator.initQueryWrapper(sewageWarnThreshold, request.getParameterMap());
|
|
||||||
}
|
}
|
||||||
} catch (UnsupportedEncodingException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
//Step.2 AutoPoi 导出Excel
|
|
||||||
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
|
||||||
List<SewageWarnThreshold> pageList = sewageWarnThresholdService.list(queryWrapper);
|
|
||||||
//导出文件名称
|
|
||||||
mv.addObject(NormalExcelConstants.FILE_NAME, "污水预警阈值列表");
|
|
||||||
mv.addObject(NormalExcelConstants.CLASS, SewageWarnThreshold.class);
|
|
||||||
mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("污水预警阈值列表数据", "导出人:Jeecg", "导出信息"));
|
|
||||||
mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
|
|
||||||
return mv;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.sewage.entity;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
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 lombok.Data;
|
import lombok.Data;
|
||||||
@ -131,9 +132,13 @@ public class SewageAlarm implements Serializable {
|
|||||||
@ApiModelProperty(value = "更新时间")
|
@ApiModelProperty(value = "更新时间")
|
||||||
private java.util.Date updateTime;
|
private java.util.Date updateTime;
|
||||||
/**
|
/**
|
||||||
* 报警状态 1预警
|
* 报警状态 1预警 2告警 3正常
|
||||||
*/
|
*/
|
||||||
@Excel(name = "报警状态 1预警", width = 15)
|
@Excel(name = "报警状态 1预警 2告警 3正常", width = 15)
|
||||||
@ApiModelProperty(value = "报警状态 1预警")
|
@ApiModelProperty(value = "报警状态 1预警 2告警 3正常")
|
||||||
private java.lang.Integer alarmType;
|
private java.lang.Integer alarmType;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "设备名称")
|
||||||
|
private java.lang.String devName;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,8 +2,9 @@
|
|||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.zhgd.xmgl.modules.sewage.mapper.SewageAlarmMapper">
|
<mapper namespace="com.zhgd.xmgl.modules.sewage.mapper.SewageAlarmMapper">
|
||||||
<select id="queryPageList" resultType="com.zhgd.xmgl.modules.sewage.entity.SewageAlarm">
|
<select id="queryPageList" resultType="com.zhgd.xmgl.modules.sewage.entity.SewageAlarm">
|
||||||
select *
|
select sa.*,sd.dev_name
|
||||||
from sewage_alarm
|
from sewage_alarm sa
|
||||||
|
join sewage_dev sd on sd.dev_sn=sa.dev_sn
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@ -2,19 +2,10 @@
|
|||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.zhgd.xmgl.modules.sewage.mapper.SewageDataMapper">
|
<mapper namespace="com.zhgd.xmgl.modules.sewage.mapper.SewageDataMapper">
|
||||||
<select id="queryDevAndNewestData" resultType="com.zhgd.xmgl.modules.sewage.entity.SewageData">
|
<select id="queryDevAndNewestData" resultType="com.zhgd.xmgl.modules.sewage.entity.SewageData">
|
||||||
select max(d.ph_value) as ph_value,
|
select d.*, sd.dev_sn, sd.dev_name
|
||||||
max(d.turbidity_value) as turbidity_value,
|
from sewage_dev sd
|
||||||
max(d.conductivity) as conductivity,
|
left join (select * from sewage_data where id in (select max(id) from sewage_data group by dev_sn)) d
|
||||||
max(d.dissolved_oxygen) as dissolved_oxygen,
|
on d.dev_sn = sd.dev_sn
|
||||||
max(d.water_temperature) as water_temperature,
|
|
||||||
max(d.flow_velocity) as flow_velocity,
|
|
||||||
max(d.water_level) as water_level,
|
|
||||||
sd.dev_sn,
|
|
||||||
sd.dev_name,
|
|
||||||
max(d.create_date) as create_date
|
|
||||||
from sewage_data d
|
|
||||||
right join sewage_dev sd on d.dev_sn = sd.dev_sn
|
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
group by sd.dev_sn
|
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@ -18,4 +18,5 @@ public interface ISewageAlarmService extends IService<SewageAlarm> {
|
|||||||
IPage<SewageAlarm> queryPageList(HashMap<String, Object> paramMap);
|
IPage<SewageAlarm> queryPageList(HashMap<String, Object> paramMap);
|
||||||
|
|
||||||
List<SewageAlarm> queryList(HashMap<String, Object> paramMap);
|
List<SewageAlarm> queryList(HashMap<String, Object> paramMap);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,4 +20,6 @@ public interface ISewageDataService extends IService<SewageData> {
|
|||||||
List<SewageData> queryList(HashMap<String, Object> paramMap);
|
List<SewageData> queryList(HashMap<String, Object> paramMap);
|
||||||
|
|
||||||
IPage<SewageData> queryDevAndNewestData(HashMap<String, Object> paramMap);
|
IPage<SewageData> queryDevAndNewestData(HashMap<String, Object> paramMap);
|
||||||
|
|
||||||
|
void add(SewageData sewageData);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,4 +18,8 @@ public interface ISewageDevService extends IService<SewageDev> {
|
|||||||
IPage<SewageDev> queryPageList(HashMap<String, Object> paramMap);
|
IPage<SewageDev> queryPageList(HashMap<String, Object> paramMap);
|
||||||
|
|
||||||
List<SewageDev> queryList(HashMap<String, Object> paramMap);
|
List<SewageDev> queryList(HashMap<String, Object> paramMap);
|
||||||
|
|
||||||
|
void add(SewageDev sewageDev);
|
||||||
|
|
||||||
|
void edit(SewageDev sewageDev);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,4 +18,6 @@ public interface ISewageWarnThresholdService extends IService<SewageWarnThreshol
|
|||||||
IPage<SewageWarnThreshold> queryPageList(HashMap<String, Object> paramMap);
|
IPage<SewageWarnThreshold> queryPageList(HashMap<String, Object> paramMap);
|
||||||
|
|
||||||
List<SewageWarnThreshold> queryList(HashMap<String, Object> paramMap);
|
List<SewageWarnThreshold> queryList(HashMap<String, Object> paramMap);
|
||||||
|
|
||||||
|
SewageWarnThreshold queryByDevSn(String devSn);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
package com.zhgd.xmgl.modules.sewage.service.impl;
|
package com.zhgd.xmgl.modules.sewage.service.impl;
|
||||||
|
|
||||||
import com.zhgd.xmgl.modules.sewage.entity.SewageAlarm;
|
|
||||||
import com.zhgd.xmgl.modules.sewage.mapper.SewageAlarmMapper;
|
|
||||||
import com.zhgd.xmgl.modules.sewage.service.ISewageAlarmService;
|
|
||||||
import com.zhgd.xmgl.util.RefUtil;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
|
||||||
import com.zhgd.xmgl.util.PageUtil;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.entity.SewageAlarm;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.mapper.SewageAlarmMapper;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.service.ISewageAlarmService;
|
||||||
|
import com.zhgd.xmgl.util.PageUtil;
|
||||||
|
import com.zhgd.xmgl.util.RefUtil;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -39,8 +39,9 @@ public class SewageAlarmServiceImpl extends ServiceImpl<SewageAlarmMapper, Sewag
|
|||||||
}
|
}
|
||||||
|
|
||||||
private QueryWrapper<SewageAlarm> getQueryWrapper(HashMap<String, Object> paramMap) {
|
private QueryWrapper<SewageAlarm> getQueryWrapper(HashMap<String, Object> paramMap) {
|
||||||
QueryWrapper<SewageAlarm> queryWrapper = QueryGenerator.initPageQueryWrapper(SewageAlarm.class, paramMap);
|
String alias = "sa.";
|
||||||
queryWrapper.orderByDesc(RefUtil.fieldNameUlc(SewageAlarm::getId));
|
QueryWrapper<SewageAlarm> queryWrapper = QueryGenerator.initPageQueryWrapper(SewageAlarm.class, paramMap, alias);
|
||||||
|
queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(SewageAlarm::getId));
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,15 +1,22 @@
|
|||||||
package com.zhgd.xmgl.modules.sewage.service.impl;
|
package com.zhgd.xmgl.modules.sewage.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||||
import com.zhgd.xmgl.modules.sewage.entity.SewageData;
|
import com.zhgd.xmgl.modules.sewage.entity.SewageData;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.entity.SewageDev;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.entity.SewageWarnThreshold;
|
||||||
import com.zhgd.xmgl.modules.sewage.mapper.SewageDataMapper;
|
import com.zhgd.xmgl.modules.sewage.mapper.SewageDataMapper;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.mapper.SewageDevMapper;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.mapper.SewageWarnThresholdMapper;
|
||||||
import com.zhgd.xmgl.modules.sewage.service.ISewageDataService;
|
import com.zhgd.xmgl.modules.sewage.service.ISewageDataService;
|
||||||
import com.zhgd.xmgl.util.PageUtil;
|
import com.zhgd.xmgl.util.PageUtil;
|
||||||
import com.zhgd.xmgl.util.RefUtil;
|
import com.zhgd.xmgl.util.RefUtil;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -23,6 +30,11 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class SewageDataServiceImpl extends ServiceImpl<SewageDataMapper, SewageData> implements ISewageDataService {
|
public class SewageDataServiceImpl extends ServiceImpl<SewageDataMapper, SewageData> implements ISewageDataService {
|
||||||
|
@Autowired
|
||||||
|
SewageDevMapper sewageDevMapper;
|
||||||
|
@Autowired
|
||||||
|
SewageWarnThresholdMapper sewageWarnThresholdMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<SewageData> queryPageList(HashMap<String, Object> paramMap) {
|
public IPage<SewageData> queryPageList(HashMap<String, Object> paramMap) {
|
||||||
QueryWrapper<SewageData> queryWrapper = getQueryWrapper(paramMap);
|
QueryWrapper<SewageData> queryWrapper = getQueryWrapper(paramMap);
|
||||||
@ -45,6 +57,23 @@ public class SewageDataServiceImpl extends ServiceImpl<SewageDataMapper, SewageD
|
|||||||
return baseMapper.queryDevAndNewestData(queryWrapper, page);
|
return baseMapper.queryDevAndNewestData(queryWrapper, page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void add(SewageData sd) {
|
||||||
|
SewageDev dev = sewageDevMapper.selectOne(new LambdaQueryWrapper<SewageDev>()
|
||||||
|
.eq(SewageDev::getDevSn, sd.getDevSn()));
|
||||||
|
if (dev == null) {
|
||||||
|
throw new OpenAlertException("设备编号不正确");
|
||||||
|
}
|
||||||
|
sd.setDevName(dev.getDevName());
|
||||||
|
sd.setProjectSn(dev.getProjectSn());
|
||||||
|
baseMapper.insert(sd);
|
||||||
|
|
||||||
|
//插入报警
|
||||||
|
SewageWarnThreshold threshold = sewageWarnThresholdMapper.selectOne(new LambdaQueryWrapper<SewageWarnThreshold>()
|
||||||
|
.eq(SewageWarnThreshold::getDevSn, dev.getDevSn()));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private QueryWrapper<SewageData> getQueryWrapperAlias(HashMap<String, Object> paramMap) {
|
private QueryWrapper<SewageData> getQueryWrapperAlias(HashMap<String, Object> paramMap) {
|
||||||
String alias = "sd.";
|
String alias = "sd.";
|
||||||
QueryWrapper<SewageData> queryWrapper = QueryGenerator.initPageQueryWrapper(SewageData.class, paramMap, alias);
|
QueryWrapper<SewageData> queryWrapper = QueryGenerator.initPageQueryWrapper(SewageData.class, paramMap, alias);
|
||||||
|
|||||||
@ -1,16 +1,21 @@
|
|||||||
package com.zhgd.xmgl.modules.sewage.service.impl;
|
package com.zhgd.xmgl.modules.sewage.service.impl;
|
||||||
|
|
||||||
import com.zhgd.xmgl.modules.sewage.service.ISewageDevService;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.zhgd.xmgl.modules.sewage.entity.SewageDev;
|
|
||||||
import com.zhgd.xmgl.modules.sewage.mapper.SewageDevMapper;
|
|
||||||
import com.zhgd.xmgl.util.RefUtil;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
|
||||||
import com.zhgd.xmgl.util.PageUtil;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||||
|
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.entity.SewageDev;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.entity.SewageWarnThreshold;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.mapper.SewageDevMapper;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.mapper.SewageWarnThresholdMapper;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.service.ISewageDevService;
|
||||||
|
import com.zhgd.xmgl.util.PageUtil;
|
||||||
|
import com.zhgd.xmgl.util.RefUtil;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -23,6 +28,11 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class SewageDevServiceImpl extends ServiceImpl<SewageDevMapper, SewageDev> implements ISewageDevService {
|
public class SewageDevServiceImpl extends ServiceImpl<SewageDevMapper, SewageDev> implements ISewageDevService {
|
||||||
|
@Autowired
|
||||||
|
SewageDevMapper sewageDevMapper;
|
||||||
|
@Autowired
|
||||||
|
SewageWarnThresholdMapper sewageWarnThresholdMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<SewageDev> queryPageList(HashMap<String, Object> paramMap) {
|
public IPage<SewageDev> queryPageList(HashMap<String, Object> paramMap) {
|
||||||
QueryWrapper<SewageDev> queryWrapper = getQueryWrapper(paramMap);
|
QueryWrapper<SewageDev> queryWrapper = getQueryWrapper(paramMap);
|
||||||
@ -38,6 +48,46 @@ public class SewageDevServiceImpl extends ServiceImpl<SewageDevMapper, SewageDev
|
|||||||
return dealList(this.list(queryWrapper));
|
return dealList(this.list(queryWrapper));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void add(SewageDev sewageDev) {
|
||||||
|
SewageDev dev = sewageDevMapper.selectOne(new LambdaQueryWrapper<SewageDev>()
|
||||||
|
.eq(SewageDev::getDevSn, sewageDev.getDevSn()));
|
||||||
|
if (dev != null) {
|
||||||
|
throw new OpenAlertException("devSn已存在");
|
||||||
|
}
|
||||||
|
baseMapper.insert(sewageDev);
|
||||||
|
|
||||||
|
insertThresholdIf(sewageDev);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void insertThresholdIf(SewageDev sewageDev) {
|
||||||
|
SewageWarnThreshold threshold = sewageWarnThresholdMapper.selectOne(new LambdaQueryWrapper<SewageWarnThreshold>()
|
||||||
|
.eq(SewageWarnThreshold::getDevSn, sewageDev.getDevSn()));
|
||||||
|
SewageWarnThreshold entity = new SewageWarnThreshold();
|
||||||
|
entity.setProjectSn(sewageDev.getProjectSn());
|
||||||
|
entity.setDevSn(sewageDev.getDevSn());
|
||||||
|
if (threshold == null) {
|
||||||
|
sewageWarnThresholdMapper.insert(entity);
|
||||||
|
} else {
|
||||||
|
sewageWarnThresholdMapper.update(entity, new LambdaQueryWrapper<SewageWarnThreshold>()
|
||||||
|
.eq(SewageWarnThreshold::getDevSn, sewageDev.getDevSn()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void edit(SewageDev sewageDev) {
|
||||||
|
SewageDev dev = sewageDevMapper.selectOne(new LambdaQueryWrapper<SewageDev>()
|
||||||
|
.eq(SewageDev::getDevSn, sewageDev.getDevSn())
|
||||||
|
.ne(SewageDev::getId, sewageDev.getId())
|
||||||
|
);
|
||||||
|
if (dev != null) {
|
||||||
|
throw new OpenAlertException("devSn已存在");
|
||||||
|
}
|
||||||
|
baseMapper.updateById(sewageDev);
|
||||||
|
|
||||||
|
insertThresholdIf(sewageDev);
|
||||||
|
}
|
||||||
|
|
||||||
private QueryWrapper<SewageDev> getQueryWrapper(HashMap<String, Object> paramMap) {
|
private QueryWrapper<SewageDev> getQueryWrapper(HashMap<String, Object> paramMap) {
|
||||||
QueryWrapper<SewageDev> queryWrapper = QueryGenerator.initPageQueryWrapper(SewageDev.class, paramMap);
|
QueryWrapper<SewageDev> queryWrapper = QueryGenerator.initPageQueryWrapper(SewageDev.class, paramMap);
|
||||||
queryWrapper.orderByDesc(RefUtil.fieldNameUlc(SewageDev::getId));
|
queryWrapper.orderByDesc(RefUtil.fieldNameUlc(SewageDev::getId));
|
||||||
|
|||||||
@ -1,16 +1,21 @@
|
|||||||
package com.zhgd.xmgl.modules.sewage.service.impl;
|
package com.zhgd.xmgl.modules.sewage.service.impl;
|
||||||
|
|
||||||
import com.zhgd.xmgl.util.RefUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.zhgd.xmgl.modules.sewage.entity.SewageWarnThreshold;
|
|
||||||
import com.zhgd.xmgl.modules.sewage.mapper.SewageWarnThresholdMapper;
|
|
||||||
import com.zhgd.xmgl.modules.sewage.service.ISewageWarnThresholdService;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
|
||||||
import com.zhgd.xmgl.util.PageUtil;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||||
|
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.entity.SewageDev;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.entity.SewageWarnThreshold;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.mapper.SewageDevMapper;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.mapper.SewageWarnThresholdMapper;
|
||||||
|
import com.zhgd.xmgl.modules.sewage.service.ISewageWarnThresholdService;
|
||||||
|
import com.zhgd.xmgl.util.PageUtil;
|
||||||
|
import com.zhgd.xmgl.util.RefUtil;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -23,6 +28,11 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class SewageWarnThresholdServiceImpl extends ServiceImpl<SewageWarnThresholdMapper, SewageWarnThreshold> implements ISewageWarnThresholdService {
|
public class SewageWarnThresholdServiceImpl extends ServiceImpl<SewageWarnThresholdMapper, SewageWarnThreshold> implements ISewageWarnThresholdService {
|
||||||
|
@Autowired
|
||||||
|
SewageWarnThresholdMapper sewageWarnThresholdMapper;
|
||||||
|
@Autowired
|
||||||
|
SewageDevMapper sewageDevMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<SewageWarnThreshold> queryPageList(HashMap<String, Object> paramMap) {
|
public IPage<SewageWarnThreshold> queryPageList(HashMap<String, Object> paramMap) {
|
||||||
QueryWrapper<SewageWarnThreshold> queryWrapper = getQueryWrapper(paramMap);
|
QueryWrapper<SewageWarnThreshold> queryWrapper = getQueryWrapper(paramMap);
|
||||||
@ -38,6 +48,25 @@ public class SewageWarnThresholdServiceImpl extends ServiceImpl<SewageWarnThresh
|
|||||||
return dealList(this.list(queryWrapper));
|
return dealList(this.list(queryWrapper));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SewageWarnThreshold queryByDevSn(String devSn) {
|
||||||
|
SewageWarnThreshold threshold = sewageWarnThresholdMapper.selectOne(new LambdaQueryWrapper<SewageWarnThreshold>()
|
||||||
|
.eq(SewageWarnThreshold::getDevSn, devSn));
|
||||||
|
if (threshold == null) {
|
||||||
|
SewageDev dev = sewageDevMapper.selectOne(new LambdaQueryWrapper<SewageDev>()
|
||||||
|
.eq(SewageDev::getDevSn, devSn));
|
||||||
|
if (dev == null) {
|
||||||
|
throw new OpenAlertException("devSn不存在");
|
||||||
|
}
|
||||||
|
SewageWarnThreshold entity = new SewageWarnThreshold();
|
||||||
|
entity.setDevSn(devSn);
|
||||||
|
entity.setProjectSn(dev.getProjectSn());
|
||||||
|
sewageWarnThresholdMapper.insert(entity);
|
||||||
|
threshold = entity;
|
||||||
|
}
|
||||||
|
return threshold;
|
||||||
|
}
|
||||||
|
|
||||||
private QueryWrapper<SewageWarnThreshold> getQueryWrapper(HashMap<String, Object> paramMap) {
|
private QueryWrapper<SewageWarnThreshold> getQueryWrapper(HashMap<String, Object> paramMap) {
|
||||||
QueryWrapper<SewageWarnThreshold> queryWrapper = QueryGenerator.initPageQueryWrapper(SewageWarnThreshold.class, paramMap);
|
QueryWrapper<SewageWarnThreshold> queryWrapper = QueryGenerator.initPageQueryWrapper(SewageWarnThreshold.class, paramMap);
|
||||||
queryWrapper.orderByDesc(RefUtil.fieldNameUlc(SewageWarnThreshold::getId));
|
queryWrapper.orderByDesc(RefUtil.fieldNameUlc(SewageWarnThreshold::getId));
|
||||||
|
|||||||
@ -1,8 +1,11 @@
|
|||||||
package com.zhgd.xmgl.modules.worker.controller;
|
package com.zhgd.xmgl.modules.worker.controller;
|
||||||
|
|
||||||
import com.zhgd.jeecg.common.api.vo.Result;
|
import com.zhgd.jeecg.common.api.vo.Result;
|
||||||
|
import com.zhgd.xmgl.modules.worker.entity.WorkerAttendance;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.dto.GetWorkerInfoByDevDto;
|
import com.zhgd.xmgl.modules.worker.entity.dto.GetWorkerInfoByDevDto;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.vo.GetWorkerInfoByDevVo;
|
import com.zhgd.xmgl.modules.worker.entity.vo.GetWorkerInfoByDevVo;
|
||||||
|
import com.zhgd.xmgl.modules.worker.entity.vo.UploadAttendanceByDevDto;
|
||||||
|
import com.zhgd.xmgl.modules.worker.service.IWorkerAttendanceService;
|
||||||
import com.zhgd.xmgl.modules.worker.service.IWorkerInfoService;
|
import com.zhgd.xmgl.modules.worker.service.IWorkerInfoService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
@ -17,6 +20,8 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
public class UfaceDevApiController {
|
public class UfaceDevApiController {
|
||||||
@Autowired
|
@Autowired
|
||||||
IWorkerInfoService workerInfoService;
|
IWorkerInfoService workerInfoService;
|
||||||
|
@Autowired
|
||||||
|
IWorkerAttendanceService workerAttendanceService;
|
||||||
|
|
||||||
@ApiOperation(value = "下载白名单(拉取允许通行人员信息)", notes = "下载白名单(拉取允许通行人员信息)", httpMethod = "GET")
|
@ApiOperation(value = "下载白名单(拉取允许通行人员信息)", notes = "下载白名单(拉取允许通行人员信息)", httpMethod = "GET")
|
||||||
@GetMapping(value = "/service-address/workers")
|
@GetMapping(value = "/service-address/workers")
|
||||||
@ -26,8 +31,8 @@ public class UfaceDevApiController {
|
|||||||
|
|
||||||
@ApiOperation(value = "考勤照片上传", notes = "考勤照片上传", httpMethod = "POST")
|
@ApiOperation(value = "考勤照片上传", notes = "考勤照片上传", httpMethod = "POST")
|
||||||
@PostMapping(value = "/service-address/photo")
|
@PostMapping(value = "/service-address/photo")
|
||||||
public Result<GetWorkerInfoByDevVo> uploadAttendanceByDev(@RequestBody GetWorkerInfoByDevDto dto) {
|
public Result<GetWorkerInfoByDevVo> uploadAttendanceByDev(@RequestBody UploadAttendanceByDevDto dto) {
|
||||||
return Result.success(workerInfoService.getWorkerInfoByDev(dto));
|
return Result.success(workerAttendanceService.uploadAttendanceByDev(dto));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -54,10 +54,10 @@ public class WorkerAttendance implements Serializable {
|
|||||||
@ApiModelProperty(value = "项目sn")
|
@ApiModelProperty(value = "项目sn")
|
||||||
private java.lang.String projectSn;
|
private java.lang.String projectSn;
|
||||||
/**
|
/**
|
||||||
* 卡类型 1 IC卡 2人脸识别 3 指纹识别 4补卡操作,5二维码,6蓝牙,7手机打卡,8车辆通行
|
* 卡类型 1 IC卡 2人脸识别 3 指纹识别 4补卡操作,5二维码,6蓝牙,7手机打卡,8车辆通行,9身份证
|
||||||
*/
|
*/
|
||||||
@Excel(name = "卡类型 1 IC卡 2人脸识别 3 指纹识别 4补卡操作,5二维码,6蓝牙,7手机打卡,8车辆通行", width = 15)
|
@Excel(name = "卡类型 1 IC卡 2人脸识别 3 指纹识别 4补卡操作,5二维码,6蓝牙,7手机打卡,8车辆通行,9身份证", width = 15)
|
||||||
@ApiModelProperty(value = "卡类型 1 IC卡 2人脸识别 3 指纹识别 4补卡操作,5二维码,6蓝牙,7手机打卡,8车辆通行")
|
@ApiModelProperty(value = "卡类型 1 IC卡 2人脸识别 3 指纹识别 4补卡操作,5二维码,6蓝牙,7手机打卡,8车辆通行,9身份证")
|
||||||
private java.lang.Integer cardType;
|
private java.lang.Integer cardType;
|
||||||
/**
|
/**
|
||||||
* 考勤图片URL
|
* 考勤图片URL
|
||||||
@ -83,31 +83,49 @@ public class WorkerAttendance implements Serializable {
|
|||||||
@Excel(name = "考勤状态 1、正常 2、迟到 3、早退 4、加班5、缺卡", width = 15)
|
@Excel(name = "考勤状态 1、正常 2、迟到 3、早退 4、加班5、缺卡", width = 15)
|
||||||
@ApiModelProperty(value = "考勤状态 1、正常 2、迟到 3、早退 4、加班5、缺卡")
|
@ApiModelProperty(value = "考勤状态 1、正常 2、迟到 3、早退 4、加班5、缺卡")
|
||||||
private java.lang.Integer attendanceStatus;
|
private java.lang.Integer attendanceStatus;
|
||||||
|
/**
|
||||||
|
* 温度
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "温度")
|
@ApiModelProperty(value = "温度")
|
||||||
private java.lang.String temperature;
|
private java.lang.String temperature;
|
||||||
|
/**
|
||||||
|
* 通行设备唯一标识
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "通行设备唯一标识")
|
@ApiModelProperty(value = "通行设备唯一标识")
|
||||||
private java.lang.String devSn;
|
private java.lang.String devSn;
|
||||||
|
/**
|
||||||
|
* 是否计入考勤统计
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "是否计入考勤统计")
|
@ApiModelProperty(value = "是否计入考勤统计")
|
||||||
private java.lang.Integer isStatistics;
|
private java.lang.Integer isStatistics;
|
||||||
|
/**
|
||||||
|
* 车牌号
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "车牌号")
|
@ApiModelProperty(value = "车牌号")
|
||||||
private java.lang.String carNumber;
|
private java.lang.String carNumber;
|
||||||
|
/**
|
||||||
|
* 健康码状态,0无,1红码,2黄码,3绿码
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "健康码状态,0无,1红码,2黄码,3绿码")
|
@ApiModelProperty(value = "健康码状态,0无,1红码,2黄码,3绿码")
|
||||||
private java.lang.Integer healthCode;
|
private java.lang.Integer healthCode;
|
||||||
|
/**
|
||||||
|
* 核酸时间
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "核酸时间")
|
@ApiModelProperty(value = "核酸时间")
|
||||||
private java.lang.String nucleicAcidTime;
|
private java.lang.String nucleicAcidTime;
|
||||||
|
/**
|
||||||
|
* 核酸结果 0 未知,1 阴性,2 阳性
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "核酸结果 0 未知,1 阴性,2 阳性")
|
@ApiModelProperty(value = "核酸结果 0 未知,1 阴性,2 阳性")
|
||||||
private java.lang.Integer nucleicAcidResult;
|
private java.lang.Integer nucleicAcidResult;
|
||||||
|
/**
|
||||||
|
* 疫苗接种时间
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "疫苗接种时间")
|
@ApiModelProperty(value = "疫苗接种时间")
|
||||||
private java.lang.String vaccinateTime;
|
private java.lang.String vaccinateTime;
|
||||||
|
/**
|
||||||
|
* 疫苗接种次数,0未接种,1接种一针,2接种两针,3接种三针
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "疫苗接种次数,0未接种,1接种一针,2接种两针,3接种三针")
|
@ApiModelProperty(value = "疫苗接种次数,0未接种,1接种一针,2接种两针,3接种三针")
|
||||||
private java.lang.Integer vaccinateState;
|
private java.lang.Integer vaccinateState;
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -31,7 +31,7 @@ public class GetWorkerInfoByDevVo {
|
|||||||
@ApiModelProperty("身份证号,未加密明文传输")
|
@ApiModelProperty("身份证号,未加密明文传输")
|
||||||
@JsonProperty("idCardNumber")
|
@JsonProperty("idCardNumber")
|
||||||
private String idCardNumber;
|
private String idCardNumber;
|
||||||
@ApiModelProperty("工人编号(存身份证号)")
|
@ApiModelProperty("工人编号")
|
||||||
@JsonProperty("workerId")
|
@JsonProperty("workerId")
|
||||||
private String workerId;
|
private String workerId;
|
||||||
@ApiModelProperty("工人照片")
|
@ApiModelProperty("工人照片")
|
||||||
|
|||||||
@ -5,36 +5,70 @@ import lombok.Data;
|
|||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class UploadAttendanceByDevDto {
|
public class UploadAttendanceByDevDto {
|
||||||
/*
|
/**
|
||||||
base64 string 是 图片base64编码 (没有文件类型的头)
|
* 图片base64编码 (没有文件类型的头)
|
||||||
projectId string 否 项目编号
|
|
||||||
deviceId string 是 设备编号
|
|
||||||
fileName string 是 图片名称
|
|
||||||
workerId string 是 1、系统中的人员编号 2、防疫设备 身份证号或身份证后4位
|
|
||||||
time string 是 通行时间。毫秒时间戳
|
|
||||||
temp string 否 体温
|
|
||||||
currentChipCode string 否 帽子编号
|
|
||||||
direction string 是 进出方向。默认 in in:进;out:出
|
|
||||||
type string 否 通行类型。默认 face。 face 人脸, idcard 身份证, health_qr 健康码, pass_qr 通行二维码
|
|
||||||
pos_type string 否 gps,baidugis,lbs
|
|
||||||
pos_lat sting 否 纬度
|
|
||||||
pos_lng sting 否 经度
|
|
||||||
*/
|
*/
|
||||||
|
@ApiModelProperty("图片base64编码 (没有文件类型的头)")
|
||||||
@ApiModelProperty("")
|
|
||||||
private String base64;
|
private String base64;
|
||||||
|
/**
|
||||||
|
* 项目编号
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("项目编号")
|
||||||
private String projectId;
|
private String projectId;
|
||||||
|
/**
|
||||||
|
* 设备编号
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("设备编号")
|
||||||
private String deviceId;
|
private String deviceId;
|
||||||
|
/**
|
||||||
|
* 图片名称
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("图片名称")
|
||||||
private String fileName;
|
private String fileName;
|
||||||
|
/**
|
||||||
|
* 1、系统中的人员编号 2、防疫设备 身份证号或身份证后4位
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("1、系统中的人员编号 2、防疫设备 身份证号或身份证后4位")
|
||||||
private String workerId;
|
private String workerId;
|
||||||
|
/**
|
||||||
|
* 通行时间。毫秒时间戳
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("通行时间。毫秒时间戳")
|
||||||
private String time;
|
private String time;
|
||||||
|
/**
|
||||||
|
* 体温
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("体温")
|
||||||
private String temp;
|
private String temp;
|
||||||
|
/**
|
||||||
|
* 帽子编号
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("帽子编号")
|
||||||
private String currentChipCode;
|
private String currentChipCode;
|
||||||
|
/**
|
||||||
|
* 进出方向。默认 in in:进;out:出
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("进出方向。默认 in in:进;out:出")
|
||||||
private String direction;
|
private String direction;
|
||||||
|
/**
|
||||||
|
* 通行类型。默认 face。 face 人脸, idcard 身份证, health_qr 健康码, pass_qr 通行二维码
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("通行类型。默认 face。 face 人脸, idcard 身份证, health_qr 健康码, pass_qr 通行二维码")
|
||||||
private String type;
|
private String type;
|
||||||
|
/**
|
||||||
|
* gps,baidugis,lbs
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("gps,baidugis,lbs")
|
||||||
private String pos_type;
|
private String pos_type;
|
||||||
|
/**
|
||||||
|
* 纬度
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("纬度")
|
||||||
private String pos_lat;
|
private String pos_lat;
|
||||||
|
/**
|
||||||
|
* 经度
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("经度")
|
||||||
private String pos_lng;
|
private String pos_lng;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,6 +9,8 @@ import com.zhgd.xmgl.entity.vo.NumberTimeTableVo;
|
|||||||
import com.zhgd.xmgl.modules.worker.entity.WorkerAttendance;
|
import com.zhgd.xmgl.modules.worker.entity.WorkerAttendance;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.dto.GetPassRecordDto;
|
import com.zhgd.xmgl.modules.worker.entity.dto.GetPassRecordDto;
|
||||||
|
import com.zhgd.xmgl.modules.worker.entity.vo.GetWorkerInfoByDevVo;
|
||||||
|
import com.zhgd.xmgl.modules.worker.entity.vo.UploadAttendanceByDevDto;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -75,4 +77,6 @@ public interface IWorkerAttendanceService extends IService<WorkerAttendance> {
|
|||||||
List<NumberTimeTableVo> queryAttendanceTrend(Map<String, Object> map);
|
List<NumberTimeTableVo> queryAttendanceTrend(Map<String, Object> map);
|
||||||
|
|
||||||
AttendanceOfEachCompanyVo queryAttendanceOfEachCompany(Map<String, Object> map);
|
AttendanceOfEachCompanyVo queryAttendanceOfEachCompany(Map<String, Object> map);
|
||||||
|
|
||||||
|
GetWorkerInfoByDevVo uploadAttendanceByDev(UploadAttendanceByDevDto dto);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -123,6 +123,5 @@ public interface IWorkerInfoService extends IService<WorkerInfo> {
|
|||||||
|
|
||||||
WorkerAgeVo statisticsWorkerAge(Map<String, Object> map);
|
WorkerAgeVo statisticsWorkerAge(Map<String, Object> map);
|
||||||
|
|
||||||
|
|
||||||
GetWorkerInfoByDevVo getWorkerInfoByDev(GetWorkerInfoByDevDto dto);
|
GetWorkerInfoByDevVo getWorkerInfoByDev(GetWorkerInfoByDevDto dto);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,7 +29,9 @@ import com.zhgd.xmgl.modules.project.mapper.ProjectUfaceConfigMapper;
|
|||||||
import com.zhgd.xmgl.modules.worker.entity.*;
|
import com.zhgd.xmgl.modules.worker.entity.*;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.bo.WorkerAttendanceBo;
|
import com.zhgd.xmgl.modules.worker.entity.bo.WorkerAttendanceBo;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.dto.GetPassRecordDto;
|
import com.zhgd.xmgl.modules.worker.entity.dto.GetPassRecordDto;
|
||||||
|
import com.zhgd.xmgl.modules.worker.entity.vo.GetWorkerInfoByDevVo;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.vo.ProjectCompanyWorkTotal;
|
import com.zhgd.xmgl.modules.worker.entity.vo.ProjectCompanyWorkTotal;
|
||||||
|
import com.zhgd.xmgl.modules.worker.entity.vo.UploadAttendanceByDevDto;
|
||||||
import com.zhgd.xmgl.modules.worker.mapper.*;
|
import com.zhgd.xmgl.modules.worker.mapper.*;
|
||||||
import com.zhgd.xmgl.modules.worker.service.IWorkerAttendanceService;
|
import com.zhgd.xmgl.modules.worker.service.IWorkerAttendanceService;
|
||||||
import com.zhgd.xmgl.modules.worker.service.IWorkerInfoService;
|
import com.zhgd.xmgl.modules.worker.service.IWorkerInfoService;
|
||||||
@ -64,6 +66,8 @@ import static com.zhgd.xmgl.config.FaceRunner.faceEngine;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public class WorkerAttendanceServiceImpl extends ServiceImpl<WorkerAttendanceMapper, WorkerAttendance> implements IWorkerAttendanceService {
|
public class WorkerAttendanceServiceImpl extends ServiceImpl<WorkerAttendanceMapper, WorkerAttendance> implements IWorkerAttendanceService {
|
||||||
|
@Autowired
|
||||||
|
private UploadFileService uploadFileService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IWorkerInfoService workerInfoService;
|
private IWorkerInfoService workerInfoService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -78,9 +82,6 @@ public class WorkerAttendanceServiceImpl extends ServiceImpl<WorkerAttendanceMap
|
|||||||
private UfaceDevMapper ufaceDevMapper;
|
private UfaceDevMapper ufaceDevMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IWorkerMonthAttendanceStatisticsService workerMonthAttendanceStatisticsService;
|
private IWorkerMonthAttendanceStatisticsService workerMonthAttendanceStatisticsService;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private UploadFileService uploadFileService;
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectUfaceConfigMapper projectUfaceConfigMapper;
|
private ProjectUfaceConfigMapper projectUfaceConfigMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -93,9 +94,10 @@ public class WorkerAttendanceServiceImpl extends ServiceImpl<WorkerAttendanceMap
|
|||||||
private GovtOpenApiService govtOpenApiService;
|
private GovtOpenApiService govtOpenApiService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private EnvironmentUtil environmentUtil;
|
private EnvironmentUtil environmentUtil;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICompanyService companyService;
|
private ICompanyService companyService;
|
||||||
|
@Value("${serverUrl}")
|
||||||
|
private String serverUrl;
|
||||||
@Value("${basePath}")
|
@Value("${basePath}")
|
||||||
private String basePath;
|
private String basePath;
|
||||||
@Value("${imageType}")
|
@Value("${imageType}")
|
||||||
@ -1063,6 +1065,79 @@ status 状态码 String 1表示成功;其余表示失败
|
|||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public GetWorkerInfoByDevVo uploadAttendanceByDev(UploadAttendanceByDevDto dto) {
|
||||||
|
|
||||||
|
WorkerInfo workerInfo = workerInfoMapper.selectById(dto.getWorkerId());
|
||||||
|
if (workerInfo == null) {
|
||||||
|
throw new OpenAlertException("workerId不存在");
|
||||||
|
}
|
||||||
|
UfaceDev dev = ufaceDevMapper.selectOne(new LambdaQueryWrapper<UfaceDev>()
|
||||||
|
.eq(UfaceDev::getDevSn, dto.getDeviceId()));
|
||||||
|
if (dev == null) {
|
||||||
|
throw new OpenAlertException("deviceId不存在");
|
||||||
|
}
|
||||||
|
WorkerAttendance attendance = new WorkerAttendance();
|
||||||
|
attendance.setPersonSn(workerInfo.getPersonSn());
|
||||||
|
attendance.setPassType(getPassType(dto.getDirection()));
|
||||||
|
attendance.setCreateTime(DateUtil.formatDateTime(new Date(dto.getTime())));
|
||||||
|
attendance.setProjectSn(workerInfo.getProjectSn());
|
||||||
|
attendance.setCardType(getCardType(dto.getType()));
|
||||||
|
FileInfo fileInfo = uploadFileService.uploadFileBase64Image(dto.getBase64());
|
||||||
|
attendance.setImageUrl(fileInfo.getUrl());
|
||||||
|
attendance.setAttendanceType(1);
|
||||||
|
attendance.setPassagewayName(dev.getDevName());
|
||||||
|
attendance.setAttendanceStatus(1);
|
||||||
|
attendance.setTemperature(dto.getTemp());
|
||||||
|
attendance.setDevSn(dev.getDevSn());
|
||||||
|
attendance.setIsStatistics(1);
|
||||||
|
baseMapper.insert(attendance);
|
||||||
|
|
||||||
|
HashMap<String, String> rtMap = new HashMap<>();
|
||||||
|
rtMap.put("path", serverUrl + "/image/" + fileInfo.getUrl());
|
||||||
|
GetWorkerInfoByDevVo vo = new GetWorkerInfoByDevVo();
|
||||||
|
vo.setSuccess(true);
|
||||||
|
vo.setCode(0);
|
||||||
|
vo.setMessage("success");
|
||||||
|
vo.setTime(System.currentTimeMillis() / 1000);
|
||||||
|
vo.setData(rtMap);
|
||||||
|
vo.setEvent("photo");
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Integer getCardType(String type) {
|
||||||
|
if (StringUtils.isBlank(type)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
//卡类型 1 IC卡 2人脸识别 3 指纹识别 4补卡操作,5二维码,6蓝牙,7手机打卡,8车辆通行,9身份证
|
||||||
|
//face 人脸, idcard 身份证, health_qr 健康码, pass_qr 通行二维码
|
||||||
|
switch (type) {
|
||||||
|
case "face":
|
||||||
|
return 2;
|
||||||
|
case "idcard":
|
||||||
|
return 9;
|
||||||
|
case "health_qr":
|
||||||
|
return 5;
|
||||||
|
case "pass_qr":
|
||||||
|
return 5;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Integer getPassType(String direction) {
|
||||||
|
if (StringUtils.isBlank(direction)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
//in:进;out:出
|
||||||
|
switch (direction) {
|
||||||
|
case "in":
|
||||||
|
return 1;
|
||||||
|
case "out":
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public WorkerInfo getWorkerInfoByImage(String personImage, String projectSn) {
|
public WorkerInfo getWorkerInfoByImage(String personImage, String projectSn) {
|
||||||
WorkerInfo info = null;
|
WorkerInfo info = null;
|
||||||
File file = null;
|
File file = null;
|
||||||
|
|||||||
@ -1913,13 +1913,14 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
|||||||
return getWorkerInfoByDevVo;
|
return getWorkerInfoByDevVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void addDatas(List<WorkerInfo> infos, String del, ArrayList<GetWorkerInfoByDevVo.Worker> datas) {
|
private void addDatas(List<WorkerInfo> infos, String del, ArrayList<GetWorkerInfoByDevVo.Worker> datas) {
|
||||||
for (WorkerInfo workerInfo : infos) {
|
for (WorkerInfo workerInfo : infos) {
|
||||||
GetWorkerInfoByDevVo.Worker worker = new GetWorkerInfoByDevVo.Worker();
|
GetWorkerInfoByDevVo.Worker worker = new GetWorkerInfoByDevVo.Worker();
|
||||||
worker.setUpdate(String.valueOf(workerInfo.getUpdateTime().getTime() / 1000));
|
worker.setUpdate(String.valueOf(workerInfo.getUpdateTime().getTime() / 1000));
|
||||||
worker.setName(workerInfo.getWorkerName());
|
worker.setName(workerInfo.getWorkerName());
|
||||||
worker.setIdCardNumber(workerInfo.getIdCard());
|
worker.setIdCardNumber(workerInfo.getIdCard());
|
||||||
worker.setWorkerId(String.valueOf(workerInfo.getIdCard()));
|
worker.setWorkerId(String.valueOf(workerInfo.getId()));
|
||||||
if (StringUtils.isNotBlank(workerInfo.getFieldAcquisitionUrl())) {
|
if (StringUtils.isNotBlank(workerInfo.getFieldAcquisitionUrl())) {
|
||||||
worker.setPhoto(serverUrl + "/image/" + workerInfo.getFieldAcquisitionUrl());
|
worker.setPhoto(serverUrl + "/image/" + workerInfo.getFieldAcquisitionUrl());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -271,6 +271,9 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
|
|||||||
.antMatchers("/xmgl/smartBeamFieldMaintainData/getAvgData").permitAll()
|
.antMatchers("/xmgl/smartBeamFieldMaintainData/getAvgData").permitAll()
|
||||||
.antMatchers("/xmgl/smartBeamFieldMakeBeamPedestal/list").permitAll()
|
.antMatchers("/xmgl/smartBeamFieldMakeBeamPedestal/list").permitAll()
|
||||||
.antMatchers("/xmgl/smartBeamFieldBeam/countSmartBeamFieldBeam").permitAll()
|
.antMatchers("/xmgl/smartBeamFieldBeam/countSmartBeamFieldBeam").permitAll()
|
||||||
|
.antMatchers("/service-address/workers").permitAll()
|
||||||
|
.antMatchers("/service-address/photo").permitAll()
|
||||||
|
.antMatchers("/xmgl/sewageData/add").permitAll()
|
||||||
.antMatchers(HttpMethod.OPTIONS, "/**").anonymous()
|
.antMatchers(HttpMethod.OPTIONS, "/**").anonymous()
|
||||||
.anyRequest().authenticated() // 剩下所有的验证都需要验证
|
.anyRequest().authenticated() // 剩下所有的验证都需要验证
|
||||||
.and()
|
.and()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user