Commit 5341dd21 authored by chenying's avatar chenying

4.17修改预警信息,给预警添加公司

parent 8082a828
......@@ -20,6 +20,8 @@ public class AddAlarmVo {
private String remark;
private String companyName;
public String getAlarmType() {
return alarmType;
}
......@@ -91,4 +93,12 @@ public class AddAlarmVo {
public void setRemark(String remark) {
this.remark = remark;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
}
......@@ -5,6 +5,16 @@ public class DelAlarmVo {
private String alarmScene;
private String companyName;
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public String getAlarmType() {
return alarmType;
}
......
......@@ -24,6 +24,16 @@ public class UpdateAlarmVo {
private String oldAlarmScene;
private String companyName;
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public String getAlarmType() {
return alarmType;
}
......
......@@ -12,9 +12,9 @@ import java.util.List;
@Mapper
public interface AlarmMapper {
List<ResultAlarmVo> getAll();
List<ResultAlarmVo> getAll(String companyName);
List<ResultAlarmVo> getAllByAlarmType(String alarmType);
List<ResultAlarmVo> getAllByAlarmType(@Param("companyName") String companyName,@Param("alarmType") String alarmType);
int addAlarm(AddAlarmVo addAlarmVo);
......@@ -22,9 +22,9 @@ public interface AlarmMapper {
int delAlarm(DelAlarmVo delAlarmVo);
ResultAlarmVo getByTypeAndScene(@Param("alarmType") String alarmType,@Param("alarmScene") String alarmScene);
ResultAlarmVo getByTypeAndScene(@Param("alarmType") String alarmType,@Param("alarmScene") String alarmScene,@Param("companyName") String companyName);
List<String> getForWarehouse();
List<String> getForWarehouse(String companyName);
List<String> getForTransportation();
List<String> getForTransportation(String companyName);
}
......@@ -17,12 +17,12 @@ public class AlarmService {
@Autowired
private AlarmMapper alarmMapper;
public List<ResultAlarmVo> getAll(){
return alarmMapper.getAll();
public List<ResultAlarmVo> getAll(String companyName){
return alarmMapper.getAll(companyName);
}
public List<ResultAlarmVo> getAllByAlarmType(String alarmType){
return alarmMapper.getAllByAlarmType(alarmType);
public List<ResultAlarmVo> getAllByAlarmType(String companyName,String alarmType){
return alarmMapper.getAllByAlarmType(companyName,alarmType);
}
public int addAlarm(AddAlarmVo addAlarmVo){
......@@ -37,16 +37,16 @@ public class AlarmService {
return alarmMapper.delAlarm(delAlarmVo);
}
public ResultAlarmVo getByTypeAndScene(String alarmType,String alarmScene){
return alarmMapper.getByTypeAndScene(alarmType,alarmScene);
public ResultAlarmVo getByTypeAndScene(String alarmType,String alarmScene,String companyName){
return alarmMapper.getByTypeAndScene(alarmType,alarmScene,companyName);
}
public List<String> getForWarehouse(){
return alarmMapper.getForWarehouse();
public List<String> getForWarehouse(String companyName){
return alarmMapper.getForWarehouse(companyName);
}
public List<String> getForTransportation(){
return alarmMapper.getForTransportation();
public List<String> getForTransportation(String companyName){
return alarmMapper.getForTransportation(companyName);
}
}
......@@ -3,9 +3,7 @@ package com.example.tdl.web;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.example.tdl.domain.dto.CommFeedback;
import com.example.tdl.domain.vo.AddAlarmVo;
import com.example.tdl.domain.vo.DelAlarmVo;
import com.example.tdl.domain.vo.UpdateAlarmVo;
import com.example.tdl.domain.vo.*;
import com.example.tdl.service.AlarmService;
import com.example.tdl.service.WarehouseService;
......@@ -21,6 +19,9 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@RestController
@RequestMapping("/alarm")
......@@ -56,8 +57,11 @@ public class AlarmController {
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value="/getAll",method = RequestMethod.GET)
public Object getAll(){
return alarmService.getAll();
public Object getAll(HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
return alarmService.getAll(user.getCompanyName());
}
//根据预警类型模糊查询
......@@ -75,14 +79,17 @@ public class AlarmController {
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value="/getAllByAlarmType",method = RequestMethod.POST)
public Object getAllByAlarmType(@RequestBody String alarmType){
public Object getAllByAlarmType(@RequestBody String alarmType,HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
JSONObject jsonObject= JSON.parseObject(alarmType);
alarmType=(String)jsonObject.get("alarmType");
return alarmService.getAllByAlarmType(alarmType);
return alarmService.getAllByAlarmType(user.getCompanyName(),alarmType);
}
//添加预警信息
@ApiOperation(value = "添加预警信息",notes = "添加预警信息,传递参数:" +
@ApiOperation(value = "添加预警信息",notes = "添加预警信息,companyName不用传,需要传递参数:" +
" alarmType:预警类型," +
" alarmScene:预警场景," +
" temMax:温度上限," +
......@@ -96,7 +103,10 @@ public class AlarmController {
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value="/addAlarm",method = RequestMethod.POST)
public Object addAlarm(@RequestBody AddAlarmVo addAlarmVo){
public Object addAlarm(@RequestBody AddAlarmVo addAlarmVo,HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
if (StringUtils.isEmpty(addAlarmVo.getAlarmType())){
fb.setCode(0);
fb.setMessage("预警类型不能为空");
......@@ -142,11 +152,12 @@ public class AlarmController {
fb.setMessage("震度不能为空");
return gson.toJson(fb);
}
if (alarmService.getByTypeAndScene(addAlarmVo.getAlarmType(),addAlarmVo.getAlarmScene())!=null){
if (alarmService.getByTypeAndScene(addAlarmVo.getAlarmType(),addAlarmVo.getAlarmScene(),user.getCompanyName())!=null){
fb.setCode(0);
fb.setMessage("添加的预警类型在该场景中已存在");
return gson.toJson(fb);
}
addAlarmVo.setCompanyName(user.getCompanyName());
int a=alarmService.addAlarm(addAlarmVo);
if (a>0){
fb.setCode(1);
......@@ -159,7 +170,7 @@ public class AlarmController {
}
//修改预警信息
@ApiOperation(value = "修改预警信息",notes = "修改预警信息,传递参数:" +
@ApiOperation(value = "修改预警信息",notes = "修改预警信息,companyName不用传,需要传递参数:" +
" oldAlarmType:需要修改的预警类型," +
" oldAlarmScene:需要修改的预警场景," +
" alarmType:预警类型," +
......@@ -175,7 +186,10 @@ public class AlarmController {
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value="/updateAlarm",method = RequestMethod.POST)
public Object updateAlarm(@RequestBody UpdateAlarmVo updateAlarmVo){
public Object updateAlarm(@RequestBody UpdateAlarmVo updateAlarmVo,HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
if (StringUtils.isEmpty(updateAlarmVo.getOldAlarmType())){
fb.setCode(0);
fb.setMessage("需要修改的预警类型不能为空");
......@@ -235,11 +249,12 @@ public class AlarmController {
fb.setMessage("震度不能为空");
return gson.toJson(fb);
}
if (alarmService.getByTypeAndScene(updateAlarmVo.getAlarmType(),updateAlarmVo.getAlarmType())!=null&&!updateAlarmVo.getAlarmType().equals(updateAlarmVo.getAlarmType())&&!updateAlarmVo.getAlarmScene().equals(updateAlarmVo.getAlarmScene())){
if (alarmService.getByTypeAndScene(updateAlarmVo.getAlarmType(),updateAlarmVo.getAlarmType(),user.getCompanyName())!=null&&!updateAlarmVo.getAlarmType().equals(updateAlarmVo.getAlarmType())&&!updateAlarmVo.getAlarmScene().equals(updateAlarmVo.getAlarmScene())){
fb.setCode(0);
fb.setMessage("修改的预警类型在该场景中已存在");
return gson.toJson(fb);
}
updateAlarmVo.setCompanyName(user.getCompanyName());
int a=alarmService.updateAlarm(updateAlarmVo);
if (a>0){
fb.setCode(1);
......@@ -253,14 +268,17 @@ public class AlarmController {
}
//删除预警信息
@ApiOperation(value = "删除预警信息",notes = "删除预警信息,传值说明:" +
@ApiOperation(value = "删除预警信息",notes = "删除预警信息,companyName不用传,传值说明:" +
" alarmType:需要删除的预警类型," +
" alarmScene:需要删除的预警场景" )
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value="/delAlarm",method = RequestMethod.POST)
public Object delAlarm(@RequestBody DelAlarmVo delAlarmVo){
public Object delAlarm(@RequestBody DelAlarmVo delAlarmVo,HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
if (StringUtils.isEmpty(delAlarmVo.getAlarmScene())){
fb.setCode(0);
fb.setMessage("需要删除的预警场景不能为空");
......@@ -271,7 +289,8 @@ public class AlarmController {
fb.setMessage("需要删除的预警类型不能为空");
return gson.toJson(fb);
}
if (warehouseService.getByAlarm(delAlarmVo)!=null){
delAlarmVo.setCompanyName(user.getCompanyName());
if (warehouseService.getByAlarm(delAlarmVo).size()>0){
fb.setCode(0);
fb.setMessage("该预警正在被使用");
return gson.toJson(fb);
......@@ -293,8 +312,11 @@ public class AlarmController {
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value="/getForWarehouse",method = RequestMethod.GET)
public Object getForWarehouse(){
return alarmService.getForWarehouse();
public Object getForWarehouse(HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
return alarmService.getForWarehouse(user.getCompanyName());
}
......@@ -304,8 +326,11 @@ public class AlarmController {
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value="/getForTransportation",method = RequestMethod.GET)
public Object getForTransportation(){
return alarmService.getForTransportation();
public Object getForTransportation(HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
return alarmService.getForTransportation(user.getCompanyName());
}
}
......@@ -10,6 +10,7 @@ import com.example.tdl.service.ConfigService;
import com.example.tdl.service.GatewayService;
import com.example.tdl.service.TDLDeviceService;
import com.example.tdl.service.redis.AlarmRedisService;
import com.example.tdl.service.redis.TokenRedisService;
import com.google.gson.Gson;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
......@@ -23,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
......@@ -52,6 +54,9 @@ public class EquipmentBindingController {
@Autowired
private AlarmService alarmService;
@Autowired
private TokenRedisService tokenRedisService;
List<String> list = new ArrayList<String>(){{
add("T");
add("h");
......@@ -73,7 +78,10 @@ public class EquipmentBindingController {
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@PostMapping("/binding")
public Object binding(@RequestBody BindingVo bindingVo){
public Object binding(@RequestBody BindingVo bindingVo,HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
//获取gateWay的信息
ResultGatewayVo resultGatewayVo = gatewayService.getBySNAndType(bindingVo.getSN(),bindingVo.getType());
if(resultGatewayVo.getUseScene() !=0 && resultGatewayVo.getUseScene() !=bindingVo.getMode()){
......@@ -119,7 +127,7 @@ public class EquipmentBindingController {
fb.setCode(1);
fb.setMessage(msg.get("msg").toString());
//根据报警类型货报警信息
ResultAlarmVo alarmVo = alarmService.getByTypeAndScene(bindingVo.getAlarmType(),"运输");
ResultAlarmVo alarmVo = alarmService.getByTypeAndScene(bindingVo.getAlarmType(),"运输",user.getCompanyName());
for(String alias :list){
List<AlarmRuleVo> alarmRuleVos = new ArrayList<>();
AlarmRuleVo alarmRuleVo = new AlarmRuleVo();
......
spring.datasource.url=jdbc:mysql://192.168.1.16:3306/tdlCloud?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tdlCloud?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=37774020
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
threadpool.corepoolsize = 30
......
......@@ -2,14 +2,18 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.tdl.mapper.AlarmMapper">
<!--查询所有预警信息-->
<select id="getAll" resultType="com.example.tdl.domain.vo.ResultAlarmVo">
SELECT alarmType,alarmScene,temMax,temMin,humidityMax,humidityMin,tilt,shock,remark from alarm
<select id="getAll" resultType="com.example.tdl.domain.vo.ResultAlarmVo" parameterType="String">
SELECT alarmType,alarmScene,temMax,temMin,humidityMax,humidityMin,tilt,shock,remark
from alarm a INNER JOIN company c ON a.company_id=c.id
WHERE c.companyName=#{companyName,jdbcType=VARCHAR}
</select>
<!--根据预警类型模糊查询-->
<select id="getAllByAlarmType" resultType="com.example.tdl.domain.vo.ResultAlarmVo" parameterType="String">
SELECT alarmType,alarmScene,temMax,temMin,humidityMax,humidityMin,tilt,shock,remark from alarm
WHERE alarmType LIKE CONCAT(CONCAT('%',#{alarmType,jdbcType=VARCHAR}), '%')
SELECT alarmType,alarmScene,temMax,temMin,humidityMax,humidityMin,tilt,shock,remark
from alarm a INNER JOIN company c ON a.company_id=c.id
WHERE c.companyName=#{companyName,jdbcType=VARCHAR}
AND alarmType LIKE CONCAT(CONCAT('%',#{alarmType,jdbcType=VARCHAR}), '%')
</select>
<!--添加预警信息-->
......@@ -24,6 +28,7 @@
#{humidityMin,jdbcType=FLOAT},
#{tilt,jdbcType=FLOAT},
#{shock,jdbcType=VARCHAR},
(SELECT id from company where companyName=#{companyName,jdbcType=VARCHAR}),
#{remark,jdbcType=VARCHAR}
)
</insert>
......@@ -42,26 +47,32 @@
remark=#{remark,jdbcType=VARCHAR}
WHERE alarmType=#{oldAlarmType,jdbcType=VARCHAR}
AND alarmScene=#{oldAlarmScene,jdbcType=VARCHAR}
AND company_id=(SELECT id from company where companyName=#{companyName,jdbcType=VARCHAR})
</update>
<!--删除预警信息-->
<delete id="delAlarm" parameterType="com.example.tdl.domain.vo.DelAlarmVo">
DELETE from alarm WHERE alarmType=#{alarmType,jdbcType=VARCHAR} AND alarmScene=#{alarmScene,jdbcType=VARCHAR}
DELETE from alarm WHERE alarmType=#{alarmType,jdbcType=VARCHAR}
AND alarmScene=#{alarmScene,jdbcType=VARCHAR}
AND company_id=(SELECT id from company where companyName=#{companyName,jdbcType=VARCHAR})
</delete>
<!--根据预警类型和预警场景查询-->
<select id="getByTypeAndScene" parameterType="String" resultType="com.example.tdl.domain.vo.ResultAlarmVo">
SELECT alarmType,alarmScene,temMax,temMin,humidityMax,humidityMin,tilt,shock,remark from alarm
WHERE alarmType=#{alarmType,jdbcType=VARCHAR} AND alarmScene=#{alarmScene,jdbcType=VARCHAR}
SELECT alarmType,alarmScene,temMax,temMin,humidityMax,humidityMin,tilt,shock,remark
from alarm a INNER JOIN company c ON a.company_id=c.id
WHERE c.companyName=#{companyName,jdbcType=VARCHAR}
AND alarmType=#{alarmType,jdbcType=VARCHAR}
AND alarmScene=#{alarmScene,jdbcType=VARCHAR}
</select>
<!--查询仓库的预警类型-->
<select id="getForWarehouse" resultType="String">
SELECT alarmType from alarm WHERE alarmScene="仓库"
SELECT alarmType from alarm WHERE alarmScene="仓库" AND company_id=(SELECT id from company where companyName=#{companyName,jdbcType=VARCHAR})
</select>
<!--查询仓库的预警类型-->
<select id="getForTransportation" resultType="String">
SELECT alarmType from alarm WHERE alarmScene="运输"
SELECT alarmType from alarm WHERE alarmScene="运输" AND company_id=(SELECT id from company where companyName=#{companyName,jdbcType=VARCHAR})
</select>
</mapper>
\ No newline at end of file
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