Commit 0e0d90ad authored by wuqinghua's avatar wuqinghua

Merge remote-tracking branch 'origin/master'

parents 3e04283b d976c169
...@@ -50,7 +50,6 @@ public class THiddenDangerStandingBookController extends BaseController ...@@ -50,7 +50,6 @@ public class THiddenDangerStandingBookController extends BaseController
/** /**
* 导出隐患整治台账列表 * 导出隐患整治台账列表
*/ */
@PreAuthorize("@ss.hasPermi('standingBook:hidden:export')")
@Log(title = "隐患整治台账", businessType = BusinessType.EXPORT) @Log(title = "隐患整治台账", businessType = BusinessType.EXPORT)
@GetMapping("/export") @GetMapping("/export")
public AjaxResult export(THiddenDangerStandingBookForm tHiddenDangerStandingBook) public AjaxResult export(THiddenDangerStandingBookForm tHiddenDangerStandingBook)
...@@ -63,7 +62,6 @@ public class THiddenDangerStandingBookController extends BaseController ...@@ -63,7 +62,6 @@ public class THiddenDangerStandingBookController extends BaseController
/** /**
* 获取隐患整治台账详细信息 * 获取隐患整治台账详细信息
*/ */
@PreAuthorize("@ss.hasPermi('standingBook:hidden:query')")
@GetMapping(value = "/{hiddenId}") @GetMapping(value = "/{hiddenId}")
public AjaxResult getInfo(@PathVariable("hiddenId") Long hiddenId) public AjaxResult getInfo(@PathVariable("hiddenId") Long hiddenId)
{ {
...@@ -73,7 +71,6 @@ public class THiddenDangerStandingBookController extends BaseController ...@@ -73,7 +71,6 @@ public class THiddenDangerStandingBookController extends BaseController
/** /**
* 新增隐患整治台账 * 新增隐患整治台账
*/ */
@PreAuthorize("@ss.hasPermi('standingBook:hidden:add')")
@Log(title = "隐患整治台账", businessType = BusinessType.INSERT) @Log(title = "隐患整治台账", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public AjaxResult add(@RequestBody THiddenDangerStandingBook tHiddenDangerStandingBook) public AjaxResult add(@RequestBody THiddenDangerStandingBook tHiddenDangerStandingBook)
...@@ -84,7 +81,6 @@ public class THiddenDangerStandingBookController extends BaseController ...@@ -84,7 +81,6 @@ public class THiddenDangerStandingBookController extends BaseController
/** /**
* 修改隐患整治台账 * 修改隐患整治台账
*/ */
@PreAuthorize("@ss.hasPermi('standingBook:hidden:edit')")
@Log(title = "隐患整治台账", businessType = BusinessType.UPDATE) @Log(title = "隐患整治台账", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody THiddenDangerStandingBook tHiddenDangerStandingBook) public AjaxResult edit(@RequestBody THiddenDangerStandingBook tHiddenDangerStandingBook)
...@@ -95,7 +91,6 @@ public class THiddenDangerStandingBookController extends BaseController ...@@ -95,7 +91,6 @@ public class THiddenDangerStandingBookController extends BaseController
/** /**
* 删除隐患整治台账 * 删除隐患整治台账
*/ */
@PreAuthorize("@ss.hasPermi('standingBook:hidden:remove')")
@Log(title = "隐患整治台账", businessType = BusinessType.DELETE) @Log(title = "隐患整治台账", businessType = BusinessType.DELETE)
@DeleteMapping("/{hiddenIds}") @DeleteMapping("/{hiddenIds}")
public AjaxResult remove(@PathVariable Long[] hiddenIds) public AjaxResult remove(@PathVariable Long[] hiddenIds)
......
...@@ -50,7 +50,6 @@ public class TSafeEquipmentStandingBookController extends BaseController ...@@ -50,7 +50,6 @@ public class TSafeEquipmentStandingBookController extends BaseController
/** /**
* 导出用户加装安全装置台账列表 * 导出用户加装安全装置台账列表
*/ */
@PreAuthorize("@ss.hasPermi('standingBook:equipment:export')")
@Log(title = "用户加装安全装置台账", businessType = BusinessType.EXPORT) @Log(title = "用户加装安全装置台账", businessType = BusinessType.EXPORT)
@GetMapping("/export") @GetMapping("/export")
public AjaxResult export(TSafeEquipmentStandingBookForm tSafeEquipmentStandingBook) public AjaxResult export(TSafeEquipmentStandingBookForm tSafeEquipmentStandingBook)
...@@ -63,7 +62,6 @@ public class TSafeEquipmentStandingBookController extends BaseController ...@@ -63,7 +62,6 @@ public class TSafeEquipmentStandingBookController extends BaseController
/** /**
* 获取用户加装安全装置台账详细信息 * 获取用户加装安全装置台账详细信息
*/ */
@PreAuthorize("@ss.hasPermi('standingBook:equipment:query')")
@GetMapping(value = "/{safeEquipmentId}") @GetMapping(value = "/{safeEquipmentId}")
public AjaxResult getInfo(@PathVariable("safeEquipmentId") Long safeEquipmentId) public AjaxResult getInfo(@PathVariable("safeEquipmentId") Long safeEquipmentId)
{ {
...@@ -73,7 +71,6 @@ public class TSafeEquipmentStandingBookController extends BaseController ...@@ -73,7 +71,6 @@ public class TSafeEquipmentStandingBookController extends BaseController
/** /**
* 新增用户加装安全装置台账 * 新增用户加装安全装置台账
*/ */
@PreAuthorize("@ss.hasPermi('standingBook:equipment:add')")
@Log(title = "用户加装安全装置台账", businessType = BusinessType.INSERT) @Log(title = "用户加装安全装置台账", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public AjaxResult add(@RequestBody TSafeEquipmentStandingBook tSafeEquipmentStandingBook) public AjaxResult add(@RequestBody TSafeEquipmentStandingBook tSafeEquipmentStandingBook)
...@@ -84,7 +81,6 @@ public class TSafeEquipmentStandingBookController extends BaseController ...@@ -84,7 +81,6 @@ public class TSafeEquipmentStandingBookController extends BaseController
/** /**
* 修改用户加装安全装置台账 * 修改用户加装安全装置台账
*/ */
@PreAuthorize("@ss.hasPermi('standingBook:equipment:edit')")
@Log(title = "用户加装安全装置台账", businessType = BusinessType.UPDATE) @Log(title = "用户加装安全装置台账", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody TSafeEquipmentStandingBook tSafeEquipmentStandingBook) public AjaxResult edit(@RequestBody TSafeEquipmentStandingBook tSafeEquipmentStandingBook)
...@@ -95,7 +91,6 @@ public class TSafeEquipmentStandingBookController extends BaseController ...@@ -95,7 +91,6 @@ public class TSafeEquipmentStandingBookController extends BaseController
/** /**
* 删除用户加装安全装置台账 * 删除用户加装安全装置台账
*/ */
@PreAuthorize("@ss.hasPermi('standingBook:equipment:remove')")
@Log(title = "用户加装安全装置台账", businessType = BusinessType.DELETE) @Log(title = "用户加装安全装置台账", businessType = BusinessType.DELETE)
@DeleteMapping("/{safeEquipmentIds}") @DeleteMapping("/{safeEquipmentIds}")
public AjaxResult remove(@PathVariable Long[] safeEquipmentIds) public AjaxResult remove(@PathVariable Long[] safeEquipmentIds)
......
...@@ -50,7 +50,6 @@ public class TTroubleStandingBookController extends BaseController ...@@ -50,7 +50,6 @@ public class TTroubleStandingBookController extends BaseController
/** /**
* 导出事故台账列表 * 导出事故台账列表
*/ */
@PreAuthorize("@ss.hasPermi('standingBook:trouble:export')")
@Log(title = "事故台账", businessType = BusinessType.EXPORT) @Log(title = "事故台账", businessType = BusinessType.EXPORT)
@GetMapping("/export") @GetMapping("/export")
public AjaxResult export(TTroubleStandingBookForm tTroubleStandingBook) public AjaxResult export(TTroubleStandingBookForm tTroubleStandingBook)
...@@ -63,7 +62,6 @@ public class TTroubleStandingBookController extends BaseController ...@@ -63,7 +62,6 @@ public class TTroubleStandingBookController extends BaseController
/** /**
* 获取事故台账详细信息 * 获取事故台账详细信息
*/ */
@PreAuthorize("@ss.hasPermi('standingBook:trouble:query')")
@GetMapping(value = "/{troubleId}") @GetMapping(value = "/{troubleId}")
public AjaxResult getInfo(@PathVariable("troubleId") Long troubleId) public AjaxResult getInfo(@PathVariable("troubleId") Long troubleId)
{ {
...@@ -73,7 +71,6 @@ public class TTroubleStandingBookController extends BaseController ...@@ -73,7 +71,6 @@ public class TTroubleStandingBookController extends BaseController
/** /**
* 新增事故台账 * 新增事故台账
*/ */
@PreAuthorize("@ss.hasPermi('standingBook:trouble:add')")
@Log(title = "事故台账", businessType = BusinessType.INSERT) @Log(title = "事故台账", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public AjaxResult add(@RequestBody TTroubleStandingBook tTroubleStandingBook) public AjaxResult add(@RequestBody TTroubleStandingBook tTroubleStandingBook)
...@@ -84,7 +81,6 @@ public class TTroubleStandingBookController extends BaseController ...@@ -84,7 +81,6 @@ public class TTroubleStandingBookController extends BaseController
/** /**
* 修改事故台账 * 修改事故台账
*/ */
@PreAuthorize("@ss.hasPermi('standingBook:trouble:edit')")
@Log(title = "事故台账", businessType = BusinessType.UPDATE) @Log(title = "事故台账", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody TTroubleStandingBook tTroubleStandingBook) public AjaxResult edit(@RequestBody TTroubleStandingBook tTroubleStandingBook)
...@@ -95,7 +91,6 @@ public class TTroubleStandingBookController extends BaseController ...@@ -95,7 +91,6 @@ public class TTroubleStandingBookController extends BaseController
/** /**
* 删除事故台账 * 删除事故台账
*/ */
@PreAuthorize("@ss.hasPermi('standingBook:trouble:remove')")
@Log(title = "事故台账", businessType = BusinessType.DELETE) @Log(title = "事故台账", businessType = BusinessType.DELETE)
@DeleteMapping("/{troubleIds}") @DeleteMapping("/{troubleIds}")
public AjaxResult remove(@PathVariable Long[] troubleIds) public AjaxResult remove(@PathVariable Long[] troubleIds)
......
package com.zehong.web.controller.supervise;
import com.zehong.common.annotation.Log;
import com.zehong.common.core.controller.BaseController;
import com.zehong.common.core.domain.AjaxResult;
import com.zehong.common.core.page.TableDataInfo;
import com.zehong.common.enums.BusinessType;
import com.zehong.common.enums.ResultEnum;
import com.zehong.common.exception.IOCException;
import com.zehong.common.utils.poi.ExcelUtil;
import com.zehong.system.domain.TDetectorInfo;
import com.zehong.system.domain.vo.TDetectorAlarmInfoVO;
import com.zehong.system.service.ITDetectorInfoService;
import com.zehong.system.service.ITDetectorReportDataService;
import com.zehong.system.service.ITDetectorUserService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 探测器Controller
*
* @author zehong
* @date 2021-11-02
*/
@RestController
@RequestMapping("/detector/detectorInfo")
@Slf4j
public class TDetectorInfoController extends BaseController
{
@Autowired
private ITDetectorInfoService tDetectorInfoService;
@Autowired
private ITDetectorUserService tDetectorUserService;
@Autowired
private ITDetectorReportDataService tDetectorReportDataService;
/**
* 查询探测器列表
*/
@GetMapping("/list")
public TableDataInfo list(TDetectorInfo tDetectorInfo)
{
startPage();
List<TDetectorInfo> list = tDetectorInfoService.selectTDetectorInfoList(tDetectorInfo);
return getDataTable(list);
}
/**
* 获取探测器列表
* @param tDetectorInfo
* @return
*/
@GetMapping("/detectorInfoList")
public AjaxResult detectorInfoList(TDetectorInfo tDetectorInfo){
return AjaxResult.success(tDetectorInfoService.selectTDetectorInfoList(tDetectorInfo));
}
/**
* 导出探测器列表
*/
@Log(title = "探测器", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(TDetectorInfo tDetectorInfo)
{
List<TDetectorInfo> list = tDetectorInfoService.selectTDetectorInfoList(tDetectorInfo);
ExcelUtil<TDetectorInfo> util = new ExcelUtil<TDetectorInfo>(TDetectorInfo.class);
return util.exportExcel(list, "探测器数据");
}
/**
* 获取探测器详细信息
*/
@GetMapping(value = "/{detectorId}")
public AjaxResult getInfo(@PathVariable("detectorId") Long detectorId)
{
return AjaxResult.success(tDetectorInfoService.selectTDetectorInfoById(detectorId));
}
/**
* 新增探测器
*/
@Log(title = "探测器", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody TDetectorInfo tDetectorInfo)
{
return toAjax(tDetectorInfoService.insertTDetectorInfo(tDetectorInfo));
}
/**
* 修改探测器
*/
@Log(title = "探测器", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody TDetectorInfo tDetectorInfo)
{
return toAjax(tDetectorInfoService.updateTDetectorInfo(tDetectorInfo));
}
/**
* 删除探测器
*/
@Log(title = "探测器", businessType = BusinessType.DELETE)
@DeleteMapping("/{detectorIds}")
public AjaxResult remove(@PathVariable Long[] detectorIds)
{
return toAjax(tDetectorInfoService.deleteTDetectorInfoByIds(detectorIds));
}
@ApiOperation(value = "大屏数据初始化时主动查询的感知设备报警信息前50条")
@GetMapping("/getAlarmData")
public AjaxResult getAlarmData(){
ModelMap map = new ModelMap();
try {
TDetectorInfo detector = new TDetectorInfo();
detector.setIsDel("0");
detector.setDetectorStatus("0");
List<TDetectorInfo> onlineList = tDetectorInfoService.selectTDetectorInfoList(detector);
int onlineNum = onlineList.size();
detector.setDetectorStatus("1");
List<TDetectorInfo> offlineList = tDetectorInfoService.selectTDetectorInfoList(detector);
int offlineNum = offlineList.size();
detector.setDetectorStatus("2");
List<TDetectorInfo> alarmList = tDetectorInfoService.selectTDetectorInfoList(detector);
int alarmNum = alarmList.size();
List<TDetectorAlarmInfoVO> alarmVO = tDetectorReportDataService.selectTDetectorAlarm();
for(TDetectorAlarmInfoVO alarm : alarmVO){
if("1".equals(alarm.getDetectorType())){
alarm.setDetectorType("家用探测器");
} else if ("2".equals(alarm.getDetectorType())){
alarm.setDetectorType("工业探测器");
}
}
map.put("alarmNum", alarmNum);
map.put("onlineNum", onlineNum);
map.put("offlineNum", offlineNum);
map.put("pageData", alarmVO);
} catch (Exception ie){
ie.printStackTrace();
log.error("【查询报警数据】操作出错,error={}",ie.getMessage());
throw new IOCException(ResultEnum.OPERATION_FAIL.getCode(), "查询报警数据操作出错");
}
return AjaxResult.success(map);
}
}
package com.zehong.web.controller.supervise;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.zehong.common.core.controller.BaseController;
import com.zehong.common.core.domain.AjaxResult;
import com.zehong.common.enums.ResultEnum;
import com.zehong.common.exception.IOCException;
import com.zehong.system.domain.TDetectorInfo;
import com.zehong.system.domain.TDetectorReportData;
import com.zehong.system.domain.TDetectorUser;
import com.zehong.system.domain.dto.TDetectorInfoDTO;
import com.zehong.system.domain.form.TDetectorReportDataForm;
import com.zehong.system.domain.vo.TDetectorUserVO;
import com.zehong.system.service.ITDetectorInfoService;
import com.zehong.system.service.ITDetectorReportDataService;
import com.zehong.system.service.ITDetectorUserService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* 泽宏云数据推送Controller
*
*/
@RestController
@RequestMapping("/detector/detectorReport")
@Slf4j
public class TDetectorReportController extends BaseController
{
@Autowired
private ITDetectorInfoService tDetectorInfoService;
@Autowired
private ITDetectorUserService tDetectorUserService;
@Autowired
private ITDetectorReportDataService tDetectorReportDataService;
@ApiOperation(value = "泽宏报警器信息推送接口")
@PostMapping("/reportTDetectorInfoData")
public AjaxResult reportTDetectorInfoData(@RequestBody String param) throws IOException {
log.info(param);
JSONObject object = JSONObject.parseObject(param);
String operateType = object.getString("operateType");
String data = object.getString("data");
JSONArray arr = JSONArray.parseArray(data);
List<TDetectorInfo> list = new ArrayList<TDetectorInfo>();
String username = "";
String deviceName = "";
String deviceNo = "";
String deviceType = "";
String medium = "";
String address = "";
String longitude = "";
String latitude = "";
String contacts = "";
String telephone = "";
if("1".equals(operateType)){ // 新增操作
for(int i=0; i<arr.size(); i++){
JSONObject obj = arr.getJSONObject(i);
username = obj.getString("username");
deviceName = obj.getString("deviceName");
deviceNo = obj.getString("deviceNo");
deviceType = obj.getString("deviceType");
medium = obj.getString("medium");
address = obj.getString("address");
longitude = obj.getString("longitude");
latitude = obj.getString("latitude");
contacts = obj.getString("contacts");
telephone = obj.getString("telephone");
// MapResourcesInfoExample example = new MapResourcesInfoExample();
// example.createCriteria().andFullNameEqualTo(username).andIsEnableEqualTo("0");
// List<MapResourcesInfo> mapResourcesList = mapResourcesService.selectByExample(example);
TDetectorUser tDetectorUser = new TDetectorUser();
tDetectorUser.setNickName(username);
tDetectorUser.setIsDel("0");
List<TDetectorUserVO> tDetectorUserList = tDetectorUserService.detectorUserList(tDetectorUser);
if(tDetectorUserList.size() == 0){
return AjaxResult.error(1,"查询不到用户名username=" + username);
}
TDetectorInfo tDetectorInfo = new TDetectorInfo();
tDetectorInfo.setUserId(tDetectorUserList.get(0).getUserId());
tDetectorInfo.setDetectorName(deviceName);
tDetectorInfo.setDetectorCode(deviceNo);
tDetectorInfo.setDetectorType(deviceType);
if(!"".equals(medium)){
tDetectorInfo.setMedium(medium);
}
if(!"".equals(address)) {
tDetectorInfo.setDetectorAddr(address);
}
if(!"".equals(longitude)){
tDetectorInfo.setLongitude(new BigDecimal(longitude));
}
if(!"".equals(latitude)){
tDetectorInfo.setLatitude(new BigDecimal(latitude));
}
if(!"".equals(contacts)) {
tDetectorInfo.setLinkman(contacts);
}
if(!"".equals(telephone)) {
tDetectorInfo.setPhone(telephone);
}
// 如果该设备编号已存在,则执行修改
// TDetectorInfoExample deviceInfoExample = new TDetectorInfoExample();
// MapResourcesInfo mapResourcesInfo = mapResourcesList.get(0);
// deviceInfoExample.createCriteria().andDetectorNoEqualTo(deviceNo)
// .andEnterpriseIdEqualTo(mapResourcesInfo.getResourceNo()).andIsEnableEqualTo("0");
TDetectorInfo detector = new TDetectorInfo();
detector.setDetectorCode(deviceNo);
detector.setIsDel("0");
List<TDetectorInfo> detectorList = tDetectorInfoService.selectTDetectorInfoList(detector);
if(detectorList.size() > 0){
tDetectorInfo.setDetectorId(detectorList.get(0).getDetectorId());
tDetectorInfo.setUpdateTime(new Date());
tDetectorInfoService.updateTDetectorInfo(tDetectorInfo);
continue;
}
tDetectorInfo.setCreateTime(new Date());
list.add(tDetectorInfo);
}
if(list.size() > 0) {
tDetectorInfoService.insertBatch(list);
}
} else if ("2".equals(operateType)) { // 修改操作
List<String> errList = new ArrayList<>();
for(int i=0; i<arr.size(); i++){
JSONObject obj = arr.getJSONObject(i);
username = obj.getString("username");
deviceName = obj.getString("deviceName");
deviceNo = obj.getString("deviceNo");
deviceType = obj.getString("deviceType");
medium = obj.getString("medium");
address = obj.getString("address");
longitude = obj.getString("longitude");
latitude = obj.getString("latitude");
contacts = obj.getString("contacts");
telephone = obj.getString("telephone");
TDetectorInfo tDetectorInfo = new TDetectorInfo();
tDetectorInfo.setDetectorCode(deviceNo);
// MapResourcesInfoExample example = new MapResourcesInfoExample();
// example.createCriteria().andFullNameEqualTo(username).andIsEnableEqualTo("0");
// List<MapResourcesInfo> mapResourcesList = mapResourcesService.selectByExample(example);
TDetectorUser tDetectorUser = new TDetectorUser();
tDetectorUser.setNickName(username);
tDetectorUser.setIsDel("0");
List<TDetectorUserVO> tDetectorUserList = tDetectorUserService.detectorUserList(tDetectorUser);
if(tDetectorUserList.size() == 0){
return AjaxResult.error(1,"查询不到用户名username=" + username);
}
// 设备编号不存在执行的操作
TDetectorInfo detector = new TDetectorInfo();
detector.setDetectorCode(deviceNo);
detector.setIsDel("0");
List<TDetectorInfo> detectorList = tDetectorInfoService.selectTDetectorInfoList(detector);
if(detectorList.size() == 0){
errList.add(deviceNo);
continue;
}
if(!"".equals(deviceType)) {
tDetectorInfo.setDetectorType(deviceType);
}
if(!"".equals(deviceName)) {
tDetectorInfo.setDetectorName(deviceName);
}
if(!"".equals(medium)) {
tDetectorInfo.setMedium(medium);
}
if(!"".equals(address)) {
tDetectorInfo.setDetectorAddr(address);
}
if(!"".equals(longitude)){
tDetectorInfo.setLongitude(new BigDecimal(longitude));
}
if(!"".equals(latitude)){
tDetectorInfo.setLatitude(new BigDecimal(latitude));
}
if(!"".equals(contacts)) {
tDetectorInfo.setLinkman(contacts);
}
if(!"".equals(telephone)) {
tDetectorInfo.setPhone(telephone);
}
tDetectorInfo.setUpdateTime(new Date());
list.add(tDetectorInfo);
}
if(errList.size() > 0){
return AjaxResult.error(3,"设备不存在" + errList);
}
tDetectorInfoService.updateBatch(list);
} else if ("3".equals(operateType)) { // 删除操作
for(int i=0; i<arr.size(); i++){
JSONObject obj = arr.getJSONObject(i);
deviceNo = obj.get("deviceNo").toString();
username = obj.getString("username");
//用户不存在无操作
TDetectorUser tDetectorUser = new TDetectorUser();
tDetectorUser.setNickName(username);
tDetectorUser.setIsDel("0");
List<TDetectorUserVO> tDetectorUserList = tDetectorUserService.detectorUserList(tDetectorUser);
if(tDetectorUserList.size() == 0){
continue;
}
//设备编号不存在无操作
TDetectorInfo detector = new TDetectorInfo();
detector.setDetectorCode(deviceNo);
detector.setIsDel("0");
List<TDetectorInfo> detectorList = tDetectorInfoService.selectTDetectorInfoList(detector);
if(detectorList.size() == 0){
continue;
}
TDetectorInfo tDetectorInfo = new TDetectorInfo();
tDetectorInfo.setDetectorCode(deviceNo);
tDetectorInfo.setIsDel("1");
tDetectorInfo.setUpdateTime(new Date());
list.add(tDetectorInfo);
}
if(list.size() > 0) {
tDetectorInfoService.updateBatch(list);
}
} else if ("4".equals(operateType)) { // 批量转移操作
List<String> errList = new ArrayList<>();
String sourceUsername = "";
String targetUsername = "";
for(int i=0; i<arr.size(); i++){
JSONObject obj = arr.getJSONObject(i);
deviceNo = obj.getString("deviceNo");
sourceUsername = obj.getString("sourceUsername");
targetUsername = obj.getString("targetUsername");
TDetectorInfo tDetectorInfo = new TDetectorInfo();
tDetectorInfo.setDetectorCode(deviceNo);
TDetectorUser tDetectorUser1 = new TDetectorUser();
tDetectorUser1.setNickName(sourceUsername);
tDetectorUser1.setIsDel("0");
List<TDetectorUserVO> tDetectorUserList1 = tDetectorUserService.detectorUserList(tDetectorUser1);
if(tDetectorUserList1.size() == 0){
return AjaxResult.error(4,"查询不到原用户名sourceUsername=" + sourceUsername);
}
TDetectorUser tDetectorUser2 = new TDetectorUser();
tDetectorUser2.setNickName(targetUsername);
tDetectorUser2.setIsDel("0");
List<TDetectorUserVO> tDetectorUserList2 = tDetectorUserService.detectorUserList(tDetectorUser2);
if(tDetectorUserList2.size() == 0){
return AjaxResult.error(5,"查询不到目标用户名targetUsername=" + targetUsername);
}
tDetectorInfo.setUserId(tDetectorUserList2.get(0).getUserId());
TDetectorInfo detector = new TDetectorInfo();
detector.setDetectorCode(deviceNo);
detector.setIsDel("0");
List<TDetectorInfo> detectorList = tDetectorInfoService.selectTDetectorInfoList(detector);
if(detectorList.size() == 0){
errList.add(deviceNo);
continue;
}
tDetectorInfo.setUpdateTime(new Date());
list.add(tDetectorInfo);
}
if(errList.size() > 0){
return AjaxResult.error(3,"设备不存在" + errList);
}
tDetectorInfoService.updateBatch(list);
}
return AjaxResult.success();
}
@ApiOperation(value = "泽宏报警器更新数据推送接口")
@PostMapping("/reportZHDeviceStatus")
public AjaxResult reportZHDeviceStatus(@RequestBody List<TDetectorInfoDTO> tDetectorInfoDTOList){
log.info(tDetectorInfoDTOList.toString());
List<TDetectorInfo> list = new ArrayList<>();
try {
for(TDetectorInfoDTO dto : tDetectorInfoDTOList){
TDetectorInfo tDetectorInfo = new TDetectorInfo();
tDetectorInfo.setDetectorCode(dto.getDeviceCode());
// 1探测器
if(!StringUtils.isEmpty(dto.getDeviceType()) && dto.getDeviceType().equals("1")) {
if (!StringUtils.isEmpty(dto.getDeviceStatus()) && dto.getDeviceStatus().equals("1")) {
tDetectorInfo.setDetectorStatus("0");
tDetectorInfo.setAlarmTime(null);
} else if (new ArrayList<String>(Arrays.asList("7", "9")).contains(dto.getDeviceStatus())) {
tDetectorInfo.setDetectorStatus("1");
tDetectorInfo.setAlarmTime(dto.getAlarmTime());
} else {
tDetectorInfo.setDetectorStatus("2");
tDetectorInfo.setAlarmTime(dto.getAlarmTime());
}
tDetectorInfo.setUpdateTime(new Date());
}
// else{
// if(!StringUtils.isEmpty(dto.getDetectorStatus()) && dto.getDetectorStatus().equals("0")){
// tDetectorInfo.setAlarmTime(null);
// }
// }
list.add(tDetectorInfo);
}
tDetectorInfoService.updateBatch(list);
} catch (Exception e) {
e.printStackTrace();
log.error("【泽宏设备状态】操作出错,error={}",e.getMessage());
throw new IOCException(ResultEnum.OPERATION_FAIL);
}
return AjaxResult.success();
}
@ApiOperation(value = "泽宏设备预警数据推送接口")
@PostMapping("/reportZHDeviceAlarmData")
public AjaxResult reportZHDeviceAlarmData(@Valid @RequestBody TDetectorReportDataForm tDetectorReportDataForm, BindingResult bindingResult){
if(bindingResult.hasErrors()){
log.error("【新增泽宏设备上报数据】参数不正确,zhDeviceReportDataForm={}",tDetectorReportDataForm);
throw new IOCException(ResultEnum.PARAM_ERROR.getCode(),bindingResult.getFieldError().getDefaultMessage());
}
log.info("泽宏设备上报数据===="+tDetectorReportDataForm.toString());
// 查询设备编号,is_del是0
TDetectorInfo detector = tDetectorInfoService.selectTDetectorInfoByCode(tDetectorReportDataForm.getDeviceNo());
if(detector == null){
throw new IOCException(ResultEnum.DETECTOR_NOEXIST);
}
try {
boolean flag = true;
if(!StringUtils.isEmpty(tDetectorReportDataForm.getDeviceType()) && tDetectorReportDataForm.getDeviceType().equals("1") && !StringUtils.isEmpty(tDetectorReportDataForm.getDeviceStatusId()) && new ArrayList<String>(Arrays.asList("7","9")).contains((tDetectorReportDataForm.getDeviceStatusId()))){
flag = false;
}
//7,9通信故障不处理
if(flag){
TDetectorInfo tDetectorInfo = new TDetectorInfo();
tDetectorInfo.setDetectorCode(tDetectorReportDataForm.getDeviceNo());
List<TDetectorInfo> tDetectorInfoList = tDetectorInfoService.selectTDetectorInfoList(tDetectorInfo);
if(tDetectorInfoList.size() > 0){
//报警设备类型,1探测器,2智慧用电 E+原始类型
if(!StringUtils.isEmpty(tDetectorReportDataForm.getDeviceType()) && tDetectorReportDataForm.getDeviceType().equals("1") && !StringUtils.isEmpty(tDetectorReportDataForm.getDeviceStatusId()) && !tDetectorReportDataForm.getDeviceStatusId().equals("1")){
List<TDetectorReportData> reportDataList = tDetectorReportDataService.selectTDetectorReportDataByCode(tDetectorReportDataForm.getDeviceNo());
// 有未消警的数据
if(reportDataList.size()>0){
// 对比未消警数据与新推送数据的状态
if(!reportDataList.get(0).getDetectorStatusId().equals(tDetectorReportDataForm.getDeviceStatusId())) {
TDetectorReportData temp = reportDataList.get(0);
temp.setIsCancelAlarm("1");
temp.setCancelTime(new Date());
tDetectorReportDataService.updateTDetectorReportData(temp);
TDetectorReportData datas = new TDetectorReportData();
datas.setSourceId(tDetectorReportDataForm.getSourceId());
datas.setDetectorCode(tDetectorReportDataForm.getDeviceNo());
datas.setDetectorStatusId(tDetectorReportDataForm.getDeviceStatusId());
datas.setStatusName(tDetectorReportDataForm.getStatusName());
datas.setReportValue(StringUtils.isEmpty(tDetectorReportDataForm.getReportValue()) ? null : Float.parseFloat(tDetectorReportDataForm.getReportValue()));
datas.setZhHostStatusId(StringUtils.isEmpty(tDetectorReportDataForm.getZhHostStatusId()) ? null : Integer.parseInt(tDetectorReportDataForm.getZhHostStatusId()));
datas.setSignalStrength(StringUtils.isEmpty(tDetectorReportDataForm.getSignalStrength()) ? null : Integer.parseInt(tDetectorReportDataForm.getSignalStrength()));
datas.setNetPoint(StringUtils.isEmpty(tDetectorReportDataForm.getNetPoint()) ? null : Integer.parseInt(tDetectorReportDataForm.getNetPoint()));
datas.setIpAddress(StringUtils.isEmpty(tDetectorReportDataForm.getIpAddress()) ? null : tDetectorReportDataForm.getIpAddress());
datas.setCreateTime(StringUtils.isEmpty(tDetectorReportDataForm.getCreateTime()) ? null : new Date());
tDetectorReportDataService.insertTDetectorReportData(datas);
}
} else {
TDetectorReportData datas = new TDetectorReportData();
datas.setSourceId(tDetectorReportDataForm.getSourceId());
datas.setDetectorCode(tDetectorReportDataForm.getDeviceNo());
datas.setDetectorStatusId(tDetectorReportDataForm.getDeviceStatusId());
datas.setStatusName(tDetectorReportDataForm.getStatusName());
datas.setReportValue(StringUtils.isEmpty(tDetectorReportDataForm.getReportValue()) ? null : Float.parseFloat(tDetectorReportDataForm.getReportValue()));
datas.setZhHostStatusId(StringUtils.isEmpty(tDetectorReportDataForm.getZhHostStatusId()) ? null : Integer.parseInt(tDetectorReportDataForm.getZhHostStatusId()));
datas.setSignalStrength(StringUtils.isEmpty(tDetectorReportDataForm.getSignalStrength()) ? null : Integer.parseInt(tDetectorReportDataForm.getSignalStrength()));
datas.setNetPoint(StringUtils.isEmpty(tDetectorReportDataForm.getNetPoint()) ? null : Integer.parseInt(tDetectorReportDataForm.getNetPoint()));
datas.setIpAddress(StringUtils.isEmpty(tDetectorReportDataForm.getIpAddress()) ? null : tDetectorReportDataForm.getIpAddress());
datas.setCreateTime(StringUtils.isEmpty(tDetectorReportDataForm.getCreateTime()) ? null : new Date());
tDetectorReportDataService.insertTDetectorReportData(datas);
}
}
// else if(!StringUtils.isEmpty(tDetectorReportDataForm.getDeviceType()) && tDetectorReportDataForm.getDeviceType().equals("2") && !StringUtils.isEmpty(tDetectorReportDataForm.getDeviceStatusId()) && !tDetectorReportDataForm.getDeviceStatusId().equals("E")){
// TDetectorReportData datas = new TDetectorReportData();
// datas.setSourceId(tDetectorReportDataForm.getSourceId());
// datas.setDetectorCode(tDetectorReportDataForm.getDeviceNo());
//
// //设备类型,1家用报警器,2工业探测器
// datas.setDetectorStatus(StringUtils.isEmpty(tDetectorReportDataForm.getDeviceStatusId())?null:"E"+tDetectorReportDataForm.getDeviceStatusId());
// datas.setReportValue(StringUtils.isEmpty(tDetectorReportDataForm.getReportValue())?null:Float.parseFloat(tDetectorReportDataForm.getReportValue()));
// datas.setZhHostStatusId(StringUtils.isEmpty(tDetectorReportDataForm.getZhHostStatusId())?null:Integer.parseInt(tDetectorReportDataForm.getZhHostStatusId()));
// datas.setSignalStrength(StringUtils.isEmpty(tDetectorReportDataForm.getSignalStrength())?null:Integer.parseInt(tDetectorReportDataForm.getSignalStrength()));
// datas.setNetPoint(StringUtils.isEmpty(tDetectorReportDataForm.getNetPoint())?null:Integer.parseInt(tDetectorReportDataForm.getNetPoint()));
// datas.setIpAddress(StringUtils.isEmpty(tDetectorReportDataForm.getIpAddress())?null:tDetectorReportDataForm.getIpAddress());
// datas.setCreateTime(StringUtils.isEmpty(tDetectorReportDataForm.getCreateTime())?null:new Date());
//
// tDetectorReportDataService.insertTDetectorReportData(datas);
// }
//设备状态更新
TDetectorInfo detectorInfo = new TDetectorInfo();
detectorInfo.setDetectorId(tDetectorInfoList.get(0).getDetectorId());
// 探测器 推送数据(1正常,7、9离线,其他值预警) 用电推送数据(E正常,其他都为报警值)用电手动消警 用 E 代表
if(!StringUtils.isEmpty(tDetectorReportDataForm.getDeviceStatusId()) && "1".equals((tDetectorReportDataForm.getDeviceStatusId()))){
detectorInfo.setDetectorStatus("0"); // 设备表状态 0正常,1故障(掉线)
detectorInfo.setAlarmTime(null);
detectorInfo.setUpdateTime(new Date());
}else{
if(!StringUtils.isEmpty(tDetectorReportDataForm.getDeviceType()) && tDetectorReportDataForm.getDeviceType().equals("1")){
if(!StringUtils.isEmpty(tDetectorReportDataForm.getDeviceStatusId()) && new ArrayList<String>(Arrays.asList("7","9")).contains((tDetectorReportDataForm.getDeviceStatusId()))){
detectorInfo.setDetectorStatus("1");
}else{
detectorInfo.setDetectorStatus("2");
}
}
// else{
// detectorInfo.setDetectorStatus("2");
// }
detectorInfo.setAlarmTime(tDetectorReportDataForm.getCreateTime());
detectorInfo.setUpdateTime(new Date());
}
tDetectorInfoService.updateTDetectorInfo(detectorInfo);
//消警处理
if(!StringUtils.isEmpty(tDetectorReportDataForm.getDeviceStatusId()) && "1".equals((tDetectorReportDataForm.getDeviceStatusId()))){
// ZHDeviceReportDatasExample zhDeviceReportDatasExample = new ZHDeviceReportDatasExample();
// zhDeviceReportDatasExample.createCriteria().andDeviceNoEqualTo(tDetectorReportDataForm.getDeviceNo());
// zhDeviceReportDatasExample.setOrderByClause(" create_time DESC LIMIT 1");
//
// List<ZHDeviceReportDatas> dataList = zHDeviceReportDataService.selectByExample(zhDeviceReportDatasExample);
// 查询该设备所有未消警的数据
List<TDetectorReportData> dataList = tDetectorReportDataService.selectTDetectorReportDataByCode(tDetectorReportDataForm.getDeviceNo());
if(dataList.size() > 0){
for(TDetectorReportData data : dataList) {
data.setIsCancelAlarm("1"); // 1自动消警
data.setCancelTime(StringUtils.isEmpty(tDetectorReportDataForm.getCreateTime()) ? null : new Date());
tDetectorReportDataService.updateTDetectorReportData(data);
}
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
log.error("【新增泽宏设备上报数据】操作出错,error={},zhDeviceReportDataForm={}",e.getMessage(),tDetectorReportDataForm);
throw new IOCException(ResultEnum.OPERATION_FAIL);
}
return AjaxResult.success();
}
}
...@@ -118,6 +118,10 @@ ...@@ -118,6 +118,10 @@
<groupId>javax.servlet</groupId> <groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId> <artifactId>javax.servlet-api</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies> </dependencies>
......
package com.zehong.common.enums;
import lombok.Getter;
@Getter
public enum ResultEnum {
SUCCESS(0,"成功"),
PARAM_ERROR(10000,"参数不正确"),
NOT_EXIST(20000,"记录不存在"),
ACCOUNT_EXIST(20001,"帐号已存在"),
LOGIN_FAIL(30000,"登录失败"),
ACCOUNT_NO(30001,"账号不存在"),
ACCOUNT_PWD_ERROR(30002,"登录失败,账号或密码错误"),
ACCOUNT_LOCKED(30003,"账号冻结"),
LOGOUT_FAIL(30004,"登出失败"),
AUTH_FAIL(30005,"认证失败"),
AUTH_INFO_ERROR(30006,"认证信息异常"),
ERROR_PERMISSION(30007,"权限不足"),
ERROR_JWT(30008,"凭证认证失败"),
EXPIRED_JWT(30009,"失效的jwtToken"),
ACCOUNT_PWD_EMPTY(30010,"登录失败,帐号或密码不能为空"),
ACCOUNT_OLD_PWD_ERROR(30011,"旧密码错误"),
OPERATION_FAIL(4000,"操作失败"),
INDICATOR_CREATE_FAIL(4001,"新增失败,最多添加3个引领性指标!"),
ORG_CREATE_FAIL(4002,"新增失败,该主管在该时间段内已存在至关重要指标!"),
REQUEST_METHOD_SUPPORT_ERROR(4003,"当前请求方法不支持"),
MEETING_CREATE_FAIL(4004,"本周已填写至关重要目标会议!"),
SERVER_FAIL(5000,"服务器开小差了~~"),
INTERNAL_SERVER_ERROR(5001, "服务器内部错误!"),
SERVER_BUSY(5002, "服务器正忙,请稍后再试!"),
ENTERPRISE_EXIST(6000, "企业机构代码已注册!"),
ENTERPRISE_NOEXIST(6001, "企业机构代码不存在!"),
DETECTOR_NOEXIST(7000, "探测器编号不存在!")
;
private Integer code;
private String message;
ResultEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
}
package com.zehong.common.exception;
import com.zehong.common.enums.ResultEnum;
import lombok.Getter;
@Getter
public class IOCException extends RuntimeException {
private static final long serialVersionUID = 7272332822781740888L;
private Integer code;
public IOCException(ResultEnum resultEnum){
super(resultEnum.getMessage());
this.code = resultEnum.getCode();
}
public IOCException(Integer code, String message){
super(message);
this.code = code;
}
}
package com.zehong.system.domain;
import com.zehong.common.annotation.Excel;
import com.zehong.common.core.domain.BaseEntity;
import java.math.BigDecimal;
import java.util.Date;
/**
* 探测器对象 t_detector_info
*
* @author zehong
* @date 2021-11-02
*/
public class TDetectorInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 设备id */
private Long detectorId;
/** 企业id */
private Integer enterpriseId;
/** 用户id */
@Excel(name = "用户id")
private Long userId;
/** 设备名称 */
@Excel(name = "设备名称")
private String detectorName;
/** 设备编号 */
@Excel(name = "设备编号")
private String detectorCode;
/** 设备地址 */
@Excel(name = "设备地址")
private String detectorAddr;
/** 设备类型(1家用报警器,2工业报警器) */
@Excel(name = "设备类型", readConverterExp = "1家用报警器,2工业报警器")
private String detectorType;
/** 检测介质(1甲烷,2氨气,3一氧化碳,4可燃气体,5有毒气体) */
@Excel(name = "检测介质", readConverterExp = "1甲烷,2氨气,3一氧化碳,4可燃气体,5有毒气体")
private String medium;
/** 经度 */
@Excel(name = "经度")
private BigDecimal longitude;
/** 纬度 */
@Excel(name = "纬度")
private BigDecimal latitude;
/** 物联网编号 */
@Excel(name = "物联网编号")
private String iotNo;
/** 联系人 */
@Excel(name = "联系人")
private String linkman;
/** 电话 */
@Excel(name = "电话")
private String phone;
/** 创建时间 */
private Date creatTime;
/** 报警时间 */
private String alarmTime;
/** 设备状态(0正常,1离线,2报警) */
@Excel(name = "设备状态")
private String detectorStatus;
/** 是否删除(0正常,1删除) */
@Excel(name = "是否删除(0正常,1删除)")
private String isDel;
/** 备注 */
@Excel(name = "备注")
private String remarks;
public void setDetectorId(Long detectorId)
{
this.detectorId = detectorId;
}
public Long getDetectorId()
{
return detectorId;
}
public Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
public void setUserId(Long userId)
{
this.userId = userId;
}
public Long getUserId()
{
return userId;
}
public void setDetectorName(String detectorName)
{
this.detectorName = detectorName;
}
public String getDetectorName()
{
return detectorName;
}
public void setDetectorCode(String detectorCode)
{
this.detectorCode = detectorCode;
}
public String getDetectorCode()
{
return detectorCode;
}
public void setDetectorAddr(String detectorAddr)
{
this.detectorAddr = detectorAddr;
}
public String getDetectorAddr()
{
return detectorAddr;
}
public void setDetectorType(String detectorType)
{
this.detectorType = detectorType;
}
public String getDetectorType()
{
return detectorType;
}
public void setMedium(String medium)
{
this.medium = medium;
}
public String getMedium()
{
return medium;
}
public void setLongitude(BigDecimal longitude)
{
this.longitude = longitude;
}
public BigDecimal getLongitude()
{
return longitude;
}
public void setLatitude(BigDecimal latitude)
{
this.latitude = latitude;
}
public BigDecimal getLatitude()
{
return latitude;
}
public void setIotNo(String iotNo)
{
this.iotNo = iotNo;
}
public String getIotNo()
{
return iotNo;
}
public void setLinkman(String linkman)
{
this.linkman = linkman;
}
public String getLinkman()
{
return linkman;
}
public void setPhone(String phone)
{
this.phone = phone;
}
public String getPhone()
{
return phone;
}
public Date getCreatTime() {
return creatTime;
}
public void setCreatTime(Date creatTime) {
this.creatTime = creatTime;
}
public String getAlarmTime() {
return alarmTime;
}
public void setAlarmTime(String alarmTime) {
this.alarmTime = alarmTime;
}
public void setIsDel(String isDel)
{
this.isDel = isDel;
}
public String getIsDel()
{
return isDel;
}
public String getDetectorStatus() {
return detectorStatus;
}
public void setDetectorStatus(String detectorStatus) {
this.detectorStatus = detectorStatus;
}
public void setRemarks(String remarks)
{
this.remarks = remarks;
}
public String getRemarks()
{
return remarks;
}
}
package com.zehong.system.domain;
import java.io.Serializable;
import java.util.Date;
public class TDetectorReportData implements Serializable {
private Integer id;
private String sourceId;
private String detectorCode;
private String detectorStatusId;
private String statusName;
private Float reportValue;
private Integer zhHostStatusId;
private Integer netPoint;
private Integer signalStrength;
private String ipAddress;
private Date createTime;
// 是否销警,默认0, 1自动销警,2手动销警
private String isCancelAlarm;
private Date cancelTime;
private static final long serialVersionUID = 1L;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getSourceId() {
return sourceId;
}
public void setSourceId(String sourceId) {
this.sourceId = sourceId == null ? null : sourceId.trim();
}
public String getDetectorCode() {
return detectorCode;
}
public void setDetectorCode(String detectorCode) {
this.detectorCode = detectorCode;
}
public String getDetectorStatusId() {
return detectorStatusId;
}
public void setDetectorStatusId(String detectorStatusId) {
this.detectorStatusId = detectorStatusId;
}
public String getStatusName() {
return statusName;
}
public void setStatusName(String statusName) {
this.statusName = statusName;
}
public Float getReportValue() {
return reportValue;
}
public void setReportValue(Float reportValue) {
this.reportValue = reportValue;
}
public Integer getZhHostStatusId() {
return zhHostStatusId;
}
public void setZhHostStatusId(Integer zhHostStatusId) {
this.zhHostStatusId = zhHostStatusId;
}
public Integer getNetPoint() {
return netPoint;
}
public void setNetPoint(Integer netPoint) {
this.netPoint = netPoint;
}
public Integer getSignalStrength() {
return signalStrength;
}
public void setSignalStrength(Integer signalStrength) {
this.signalStrength = signalStrength;
}
public String getIpAddress() {
return ipAddress;
}
public void setIpAddress(String ipAddress) {
this.ipAddress = ipAddress == null ? null : ipAddress.trim();
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getIsCancelAlarm() {
return isCancelAlarm;
}
public void setIsCancelAlarm(String isCancelAlarm) {
this.isCancelAlarm = isCancelAlarm == null ? null : isCancelAlarm.trim();
}
public Date getCancelTime() {
return cancelTime;
}
public void setCancelTime(Date cancelTime) {
this.cancelTime = cancelTime;
}
}
\ No newline at end of file
package com.zehong.system.domain.dto;
import lombok.Data;
@Data
public class TDetectorInfoDTO {
private String deviceType; // 1探测器、2安全用电设备
private String deviceCode;
//探测器 推送数据(1正常,7、9离线,其他值预警) 用电推送数据(E正常,0正常,1故障,2预警)
private String deviceStatus;
private String alarmTime;
}
package com.zehong.system.domain.form;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
@Data
public class TDetectorReportDataForm {
//数据上报原始ID必填 正常数据为用户名,报警数据为用户名+主键id
@NotEmpty(message="数据上报原始ID必填")
private String sourceId;
@NotEmpty(message="设备编号必填")
private String deviceNo;
//报警设备类型,1探测器,2智慧用电
private String deviceType;
//探测器 推送数据(1正常,7、9离线,其他值预警)
private String deviceStatusId;
//状态名称
private String statusName;
private String reportValue;
private String zhHostStatusId;
private String netPoint;
private String signalStrength;
private String ipAddress;
//创建时间
@NotEmpty(message="上报时间必填")
private String createTime;
}
package com.zehong.system.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
/**
* 推送的报警数据信息
* @author zhangzhizhong
*
*/
public class TDetectorAlarmInfoVO {
// 设备编号
private String detectorCode;
// 监测单位
private String unitName;
// 设备类型
private String detectorType;
// 预警类型
private String statusName;
// 预警时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date alarmTime;
// 处理状态
private String handledStatus;
public String getDetectorCode() {
return detectorCode;
}
public void setDetectorCode(String detectorCode) {
this.detectorCode = detectorCode;
}
public String getUnitName() {
return unitName;
}
public void setUnitName(String unitName) {
this.unitName = unitName;
}
public String getDetectorType() {
return detectorType;
}
public void setDetectorType(String detectorType) {
this.detectorType = detectorType;
}
public String getStatusName() {
return statusName;
}
public void setStatusName(String statusName) {
this.statusName = statusName;
}
public Date getAlarmTime() {
return alarmTime;
}
public void setAlarmTime(Date alarmTime) {
this.alarmTime = alarmTime;
}
public String getHandledStatus() {
return handledStatus;
}
public void setHandledStatus(String handledStatus) {
this.handledStatus = handledStatus;
}
}
package com.zehong.system.domain.vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* 探测器用户对象 t_detector_user
*
* @author zehong
* @date 2021-11-02
*/
@Data
public class TDetectorUserVO
{
private static final long serialVersionUID = 1L;
/** 用户id */
private Long userId;
/** 用户账号 */
private String username;
/** 用户名称 */
private String nickName;
/** 用户类型(1居民用户,2商业用户,3工业用户) */
private String userType;
/** 探测器总数 */
private Integer detectorCount;
/** 在线数量 */
private Integer onLineNum;
/** 离线数量 */
private Integer offLineNum;
/** 历史报警数 */
private Integer historyAlarmNum;
/** 已处理报警 */
private Integer cancelAlarmNum;
/** 报警中 */
private Integer processingAlarmNum;
/** 地址 */
private String address;
/** 经度 */
private BigDecimal longitude;
/** 纬度 */
private BigDecimal latitude;
/** 联系人 */
private String linkman;
/** 电话 */
private String phone;
/** 邮箱 */
private String email;
/** 是否删除(0正常,1删除) */
private String isDel;
/** 备注 */
private String remarks;
}
package com.zehong.system.mapper;
import com.zehong.system.domain.TDetectorInfo;
import java.util.List;
/**
* 探测器Mapper接口
*
* @author zehong
* @date 2021-11-02
*/
public interface TDetectorInfoMapper
{
/**
* 查询探测器
*
* @param detectorId 探测器ID
* @return 探测器
*/
public TDetectorInfo selectTDetectorInfoById(Long detectorId);
/**
* 查询探测器
*
* @param detectorCode 探测器编号
* @return 探测器
*/
public TDetectorInfo selectTDetectorInfoByCode(String detectorCode);
/**
* 查询探测器列表
*
* @param tDetectorInfo 探测器
* @return 探测器集合
*/
public List<TDetectorInfo> selectTDetectorInfoList(TDetectorInfo tDetectorInfo);
/**
* 新增探测器
*
* @param tDetectorInfo 探测器
* @return 结果
*/
public int insertTDetectorInfo(TDetectorInfo tDetectorInfo);
public int insertBatch(List<TDetectorInfo> detectorList);
public int updateBatch(List<TDetectorInfo> detectorList);
/**
* 修改探测器
*
* @param tDetectorInfo 探测器
* @return 结果
*/
public int updateTDetectorInfo(TDetectorInfo tDetectorInfo);
/**
* 删除探测器
*
* @param detectorId 探测器ID
* @return 结果
*/
public int deleteTDetectorInfoById(Long detectorId);
/**
* 批量删除探测器
*
* @param detectorIds 需要删除的数据ID
* @return 结果
*/
public int deleteTDetectorInfoByIds(Long[] detectorIds);
}
package com.zehong.system.mapper;
import com.zehong.system.domain.TDetectorInfo;
import com.zehong.system.domain.TDetectorReportData;
import com.zehong.system.domain.vo.TDetectorAlarmInfoVO;
import java.util.List;
/**
* 设备上报的数据Mapper接口
*
* @author zehong
* @date 2021-11-08
*/
public interface TDetectorReportDataMapper
{
/**
* 查询设备上报的数据
*
* @param id 设备上报的数据ID
* @return 设备上报的数据
*/
public TDetectorReportData selectTDetectorReportDataById(Long id);
public List<TDetectorReportData> selectTDetectorReportDataByCode(String detectorCode);
public List<TDetectorReportData> countDetectorByUserId(TDetectorInfo tDetectorInfo);
public List<TDetectorAlarmInfoVO> selectTDetectorAlarm();
public List<TDetectorReportData> selectRealtimeDataList();
/**
* 查询设备上报的数据列表
*
* @param tDetectorReportData 设备上报的数据
* @return 设备上报的数据集合
*/
public List<TDetectorReportData> selectTDetectorReportDataList(TDetectorReportData tDetectorReportData);
/**
* 新增设备上报的数据
*
* @param tDetectorReportData 设备上报的数据
* @return 结果
*/
public int insertTDetectorReportData(TDetectorReportData tDetectorReportData);
/**
* 修改设备上报的数据
*
* @param tDetectorReportData 设备上报的数据
* @return 结果
*/
public int updateTDetectorReportData(TDetectorReportData tDetectorReportData);
/**
* 删除设备上报的数据
*
* @param id 设备上报的数据ID
* @return 结果
*/
public int deleteTDetectorReportDataById(Long id);
/**
* 批量删除设备上报的数据
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteTDetectorReportDataByIds(Long[] ids);
}
package com.zehong.system.service;
import com.github.pagehelper.PageInfo;
import com.zehong.system.domain.TDetectorInfo;
import java.util.List;
/**
* 探测器Service接口
*
* @author zehong
* @date 2021-11-02
*/
public interface ITDetectorInfoService
{
/**
* 查询探测器
*
* @param detectorId 探测器ID
* @return 探测器
*/
public TDetectorInfo selectTDetectorInfoById(Long detectorId);
/**
* 查询探测器
*
* @param detectorCode 探测器编号
* @return 探测器
*/
public TDetectorInfo selectTDetectorInfoByCode(String detectorCode);
/**
* 查询探测器列表
*
* @param tDetectorInfo 探测器
* @return 探测器集合
*/
public List<TDetectorInfo> selectTDetectorInfoList(TDetectorInfo tDetectorInfo);
/**
* 查询探测器分页列表
*
* @param tDetectorInfo 探测器
* @return 探测器分页集合
*/
public PageInfo<TDetectorInfo> selectTDetectorInfoPage(TDetectorInfo tDetectorInfo);
/**
* 新增探测器
*
* @param tDetectorInfo 探测器
* @return 结果
*/
public int insertTDetectorInfo(TDetectorInfo tDetectorInfo);
public int insertBatch(List<TDetectorInfo> detectorList);
public int updateBatch(List<TDetectorInfo> detectorList);
/**
* 修改探测器
*
* @param tDetectorInfo 探测器
* @return 结果
*/
public int updateTDetectorInfo(TDetectorInfo tDetectorInfo);
/**
* 批量删除探测器
*
* @param detectorIds 需要删除的探测器ID
* @return 结果
*/
public int deleteTDetectorInfoByIds(Long[] detectorIds);
/**
* 删除探测器信息
*
* @param detectorId 探测器ID
* @return 结果
*/
public int deleteTDetectorInfoById(Long detectorId);
}
package com.zehong.system.service;
import com.github.pagehelper.PageInfo;
import com.zehong.system.domain.TDetectorInfo;
import com.zehong.system.domain.TDetectorReportData;
import com.zehong.system.domain.vo.TDetectorAlarmInfoVO;
import java.util.List;
/**
* 设备上报的数据Service接口
*
* @author zehong
* @date 2021-11-08
*/
public interface ITDetectorReportDataService
{
/**
* 查询设备上报的数据
*
* @param id 设备上报的数据ID
* @return 设备上报的数据
*/
public TDetectorReportData selectTDetectorReportDataById(Long id);
public List<TDetectorReportData> selectTDetectorReportDataByCode(String detectorCode);
public List<TDetectorReportData> selectRealtimeDataList();
public List<TDetectorAlarmInfoVO> selectTDetectorAlarm();
public List<TDetectorReportData> countDetectorByUserId(TDetectorInfo tDetectorInfo);
/**
* 查询设备上报的数据列表
*
* @param tDetectorReportData 设备上报的数据
* @return 设备上报的数据集合
*/
public List<TDetectorReportData> selectTDetectorReportDataList(TDetectorReportData tDetectorReportData);
/**
* 查询设备上报的数据分页列表
*
* @param tDetectorReportData 设备上报的数据
* @return 设备上报的数据分页集合
*/
public PageInfo<TDetectorReportData> selectTDetectorReportDataPage(TDetectorReportData tDetectorReportData);
/**
* 新增设备上报的数据
*
* @param tDetectorReportData 设备上报的数据
* @return 结果
*/
public int insertTDetectorReportData(TDetectorReportData tDetectorReportData);
/**
* 修改设备上报的数据
*
* @param tDetectorReportData 设备上报的数据
* @return 结果
*/
public int updateTDetectorReportData(TDetectorReportData tDetectorReportData);
/**
* 批量删除设备上报的数据
*
* @param ids 需要删除的设备上报的数据ID
* @return 结果
*/
public int deleteTDetectorReportDataByIds(Long[] ids);
/**
* 删除设备上报的数据信息
*
* @param id 设备上报的数据ID
* @return 结果
*/
public int deleteTDetectorReportDataById(Long id);
}
...@@ -2,6 +2,7 @@ package com.zehong.system.service; ...@@ -2,6 +2,7 @@ package com.zehong.system.service;
import java.util.List; import java.util.List;
import com.zehong.system.domain.TDetectorUser; import com.zehong.system.domain.TDetectorUser;
import com.zehong.system.domain.vo.TDetectorUserVO;
/** /**
* 燃气用户Service接口 * 燃气用户Service接口
...@@ -11,6 +12,15 @@ import com.zehong.system.domain.TDetectorUser; ...@@ -11,6 +12,15 @@ import com.zehong.system.domain.TDetectorUser;
*/ */
public interface ITDetectorUserService public interface ITDetectorUserService
{ {
/**
* 查询探测器用户列表
*
* @param tDetectorUser 探测器用户
* @return 探测器用户集合
*/
public List<TDetectorUserVO> detectorUserList(TDetectorUser tDetectorUser);
/** /**
* 查询燃气用户 * 查询燃气用户
* *
......
package com.zehong.system.service.impl;
import com.github.pagehelper.PageInfo;
import com.zehong.system.domain.TDetectorInfo;
import com.zehong.system.mapper.TDetectorInfoMapper;
import com.zehong.system.service.ITDetectorInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 探测器Service业务层处理
*
* @author zehong
* @date 2021-11-02
*/
@Service
public class TDetectorInfoServiceImpl implements ITDetectorInfoService
{
@Autowired
private TDetectorInfoMapper tDetectorInfoMapper;
/**
* 查询探测器
*
* @param detectorId 探测器ID
* @return 探测器
*/
@Override
public TDetectorInfo selectTDetectorInfoById(Long detectorId)
{
return tDetectorInfoMapper.selectTDetectorInfoById(detectorId);
}
/**
* 查询探测器
*
* @param detectorCode 探测器编号
* @return 探测器
*/
public TDetectorInfo selectTDetectorInfoByCode(String detectorCode) {
return tDetectorInfoMapper.selectTDetectorInfoByCode(detectorCode);
}
/**
* 查询探测器列表
*
* @param tDetectorInfo 探测器
* @return 探测器
*/
@Override
public List<TDetectorInfo> selectTDetectorInfoList(TDetectorInfo tDetectorInfo)
{
List<TDetectorInfo> list = tDetectorInfoMapper.selectTDetectorInfoList(tDetectorInfo);
for(TDetectorInfo detector : list){
if("0".equals(detector.getDetectorStatus())){
detector.setDetectorStatus("正常");
} else {
detector.setDetectorStatus("离线");
}
}
return list;
}
/**
* 查询探测器分页列表
*
* @param tDetectorInfo 探测器
* @return 探测器
*/
@Override
public PageInfo<TDetectorInfo> selectTDetectorInfoPage(TDetectorInfo tDetectorInfo)
{
List<TDetectorInfo> list = tDetectorInfoMapper.selectTDetectorInfoList(tDetectorInfo);
for(TDetectorInfo detector : list){
if("0".equals(detector.getDetectorStatus())){
detector.setDetectorStatus("正常");
} else {
detector.setDetectorStatus("离线");
}
}
return new PageInfo(list);
}
/**
* 新增探测器
*
* @param tDetectorInfo 探测器
* @return 结果
*/
@Override
public int insertTDetectorInfo(TDetectorInfo tDetectorInfo)
{
return tDetectorInfoMapper.insertTDetectorInfo(tDetectorInfo);
}
@Override
public int insertBatch(List<TDetectorInfo> detectorList) {
// TODO Auto-generated method stub
return tDetectorInfoMapper.insertBatch(detectorList);
}
@Override
public int updateBatch(List<TDetectorInfo> detectorList) {
// TODO Auto-generated method stub
return tDetectorInfoMapper.updateBatch(detectorList);
}
/**
* 修改探测器
*
* @param tDetectorInfo 探测器
* @return 结果
*/
@Override
public int updateTDetectorInfo(TDetectorInfo tDetectorInfo)
{
return tDetectorInfoMapper.updateTDetectorInfo(tDetectorInfo);
}
/**
* 批量删除探测器
*
* @param detectorIds 需要删除的探测器ID
* @return 结果
*/
@Override
public int deleteTDetectorInfoByIds(Long[] detectorIds)
{
return tDetectorInfoMapper.deleteTDetectorInfoByIds(detectorIds);
}
/**
* 删除探测器信息
*
* @param detectorId 探测器ID
* @return 结果
*/
@Override
public int deleteTDetectorInfoById(Long detectorId)
{
return tDetectorInfoMapper.deleteTDetectorInfoById(detectorId);
}
}
package com.zehong.system.service.impl;
import com.github.pagehelper.PageInfo;
import com.zehong.common.utils.DateUtils;
import com.zehong.system.domain.TDetectorInfo;
import com.zehong.system.domain.TDetectorReportData;
import com.zehong.system.domain.vo.TDetectorAlarmInfoVO;
import com.zehong.system.mapper.TDetectorReportDataMapper;
import com.zehong.system.service.ITDetectorReportDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 设备上报的数据Service业务层处理
*
* @author zehong
* @date 2021-11-08
*/
@Service
public class TDetectorReportDataServiceImpl implements ITDetectorReportDataService
{
@Autowired
private TDetectorReportDataMapper tDetectorReportDataMapper;
/**
* 查询设备上报的数据
*
* @param id 设备上报的数据ID
* @return 设备上报的数据
*/
@Override
public TDetectorReportData selectTDetectorReportDataById(Long id)
{
return tDetectorReportDataMapper.selectTDetectorReportDataById(id);
}
@Override
public List<TDetectorReportData> selectTDetectorReportDataByCode(String detectorCode)
{
return tDetectorReportDataMapper.selectTDetectorReportDataByCode(detectorCode);
}
@Override
public List<TDetectorAlarmInfoVO> selectTDetectorAlarm()
{
return tDetectorReportDataMapper.selectTDetectorAlarm();
}
@Override
public List<TDetectorReportData> selectRealtimeDataList()
{
return tDetectorReportDataMapper.selectRealtimeDataList();
}
@Override
public List<TDetectorReportData> countDetectorByUserId(TDetectorInfo tDetectorInfo){
return tDetectorReportDataMapper.countDetectorByUserId(tDetectorInfo);
}
/**
* 查询设备上报的数据列表
*
* @param tDetectorReportData 设备上报的数据
* @return 设备上报的数据
*/
@Override
public List<TDetectorReportData> selectTDetectorReportDataList(TDetectorReportData tDetectorReportData)
{
return tDetectorReportDataMapper.selectTDetectorReportDataList(tDetectorReportData);
}
/**
* 查询设备上报的数据分页列表
*
* @param tDetectorReportData 设备上报的数据
* @return 设备上报的数据
*/
@Override
public PageInfo<TDetectorReportData> selectTDetectorReportDataPage(TDetectorReportData tDetectorReportData)
{
return new PageInfo(tDetectorReportDataMapper.selectTDetectorReportDataList(tDetectorReportData));
}
/**
* 新增设备上报的数据
*
* @param tDetectorReportData 设备上报的数据
* @return 结果
*/
@Override
public int insertTDetectorReportData(TDetectorReportData tDetectorReportData)
{
tDetectorReportData.setCreateTime(DateUtils.getNowDate());
return tDetectorReportDataMapper.insertTDetectorReportData(tDetectorReportData);
}
/**
* 修改设备上报的数据
*
* @param tDetectorReportData 设备上报的数据
* @return 结果
*/
@Override
public int updateTDetectorReportData(TDetectorReportData tDetectorReportData)
{
return tDetectorReportDataMapper.updateTDetectorReportData(tDetectorReportData);
}
/**
* 批量删除设备上报的数据
*
* @param ids 需要删除的设备上报的数据ID
* @return 结果
*/
@Override
public int deleteTDetectorReportDataByIds(Long[] ids)
{
return tDetectorReportDataMapper.deleteTDetectorReportDataByIds(ids);
}
/**
* 删除设备上报的数据信息
*
* @param id 设备上报的数据ID
* @return 结果
*/
@Override
public int deleteTDetectorReportDataById(Long id)
{
return tDetectorReportDataMapper.deleteTDetectorReportDataById(id);
}
}
package com.zehong.system.service.impl; package com.zehong.system.service.impl;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.zehong.system.domain.TDetectorInfo;
import com.zehong.system.domain.TDetectorReportData;
import com.zehong.system.domain.vo.TDetectorUserVO;
import com.zehong.system.mapper.TDetectorInfoMapper;
import com.zehong.system.mapper.TDetectorReportDataMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.zehong.system.mapper.TDetectorUserMapper; import com.zehong.system.mapper.TDetectorUserMapper;
import com.zehong.system.domain.TDetectorUser; import com.zehong.system.domain.TDetectorUser;
import com.zehong.system.service.ITDetectorUserService; import com.zehong.system.service.ITDetectorUserService;
import org.springframework.util.StringUtils;
/** /**
* 燃气用户Service业务层处理 * 燃气用户Service业务层处理
...@@ -18,6 +27,69 @@ public class TDetectorUserServiceImpl implements ITDetectorUserService ...@@ -18,6 +27,69 @@ public class TDetectorUserServiceImpl implements ITDetectorUserService
{ {
@Autowired @Autowired
private TDetectorUserMapper tDetectorUserMapper; private TDetectorUserMapper tDetectorUserMapper;
@Autowired
private TDetectorInfoMapper tDetectorInfoMapper;
@Autowired
private TDetectorReportDataMapper tDetectorReportDataMapper;
/**
* 查询探测器用户列表
*
* @param tDetectorUser 探测器用户
* @return 探测器用户
*/
@Override
public List<TDetectorUserVO> detectorUserList(TDetectorUser tDetectorUser)
{
List<TDetectorUserVO> list = new ArrayList<>();
List<TDetectorUser> tDetectorUserList = tDetectorUserMapper.selectTDetectorUserList(tDetectorUser);
TDetectorInfo detector = new TDetectorInfo();
for(TDetectorUser user : tDetectorUserList){
TDetectorUserVO userVO = new TDetectorUserVO();
BeanUtils.copyProperties(user, userVO);
detector.setUserId(user.getUserId());
detector.setIsDel("0");
List<TDetectorInfo> tDetectorInfoList = tDetectorInfoMapper.selectTDetectorInfoList(detector);
int onLineNum = 0;
int offLineNum = 0;
int cancelAlarmNum = 0;
int historyAlarmNum = 0;
if(tDetectorInfoList.size() > 0){
for(TDetectorInfo info : tDetectorInfoList){
if(!StringUtils.isEmpty(info.getDetectorStatus()) && info.getDetectorStatus().equals("0")){
++onLineNum;
}else{
++offLineNum;
}
}
List<TDetectorReportData> dataList = tDetectorReportDataMapper.countDetectorByUserId(detector);
historyAlarmNum = dataList.size();
for(TDetectorReportData data : dataList){
if(!StringUtils.isEmpty(data.getIsCancelAlarm()) && data.getIsCancelAlarm().equals("1")){
++cancelAlarmNum;
}
}
}
userVO.setDetectorCount(tDetectorInfoList.size());
userVO.setOnLineNum(onLineNum);
userVO.setOffLineNum(offLineNum);
userVO.setHistoryAlarmNum(historyAlarmNum);
userVO.setCancelAlarmNum(cancelAlarmNum);
userVO.setProcessingAlarmNum(Math.abs(historyAlarmNum - cancelAlarmNum));
list.add(userVO);
}
return list;
}
/** /**
* 查询燃气用户 * 查询燃气用户
......
<?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.zehong.system.mapper.TDetectorInfoMapper">
<resultMap type="TDetectorInfo" id="TDetectorInfoResult">
<result property="detectorId" column="detector_id" />
<result property="enterpriseId" column="enterprise_id" />
<result property="userId" column="user_id" />
<result property="detectorName" column="detector_name" />
<result property="detectorCode" column="detector_code" />
<result property="detectorAddr" column="detector_addr" />
<result property="detectorType" column="detector_type" />
<result property="medium" column="medium" />
<result property="longitude" column="longitude" />
<result property="latitude" column="latitude" />
<result property="iotNo" column="iot_no" />
<result property="linkman" column="linkman" />
<result property="phone" column="phone" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="alarmTime" column="alarm_time" />
<result property="detectorStatus" column="detector_status" />
<result property="isDel" column="is_del" />
<result property="remarks" column="remarks" />
</resultMap>
<sql id="selectTDetectorInfoVo">
select detector_id, enterprise_id, user_id, detector_name, detector_code, detector_addr, detector_type, medium, longitude, latitude, iot_no, linkman, phone, create_time, update_time, alarm_time, detector_status, is_del, remarks from t_detector_info
</sql>
<select id="selectTDetectorInfoList" parameterType="TDetectorInfo" resultMap="TDetectorInfoResult">
<include refid="selectTDetectorInfoVo"/>
<where>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="enterpriseId != null and enterpriseId != 0 "> and enterprise_id = #{enterpriseId}</if>
<if test="detectorName != null and detectorName != ''"> and detector_name like concat('%', #{detectorName}, '%')</if>
<if test="detectorCode != null and detectorCode != ''"> and detector_code = #{detectorCode}</if>
<if test="detectorAddr != null and detectorAddr != ''"> and detector_addr = #{detectorAddr}</if>
<if test="detectorType != null and detectorType != ''"> and detector_type = #{detectorType}</if>
<if test="medium != null and medium != ''"> and medium = #{medium}</if>
<if test="longitude != null "> and longitude = #{longitude}</if>
<if test="latitude != null "> and latitude = #{latitude}</if>
<if test="iotNo != null and iotNo != ''"> and iot_no = #{iotNo}</if>
<if test="linkman != null and linkman != ''"> and linkman = #{linkman}</if>
<if test="phone != null and phone != ''"> and phone = #{phone}</if>
<if test="createTime != null "> and create_time = #{createTime}</if>
<if test="updateTime != null "> and update_time = #{updateTime}</if>
<if test="alarmTime != null "> and alarm_time = #{alarmTime}</if>
<if test="detectorStatus != null and detectorStatus != ''"> and detector_status = #{detectorStatus}</if>
<if test="isDel != null and isDel != ''"> and is_del = #{isDel}</if>
<if test="remarks != null and remarks != ''"> and remarks = #{remarks}</if>
</where>
</select>
<select id="selectTDetectorInfoById" parameterType="Long" resultMap="TDetectorInfoResult">
<include refid="selectTDetectorInfoVo"/>
where detector_id = #{detectorId}
</select>
<select id="selectTDetectorInfoByCode" parameterType="String" resultMap="TDetectorInfoResult">
<include refid="selectTDetectorInfoVo"/>
where detector_code = #{detectorCode}
and is_del = '0'
</select>
<insert id="insertTDetectorInfo" parameterType="TDetectorInfo" useGeneratedKeys="true" keyProperty="detectorId">
insert into t_detector_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="userId != null">user_id,</if>
<if test="enterpriseId != null and enterpriseId != 0">enterprise_id,</if>
<if test="detectorName != null">detector_name,</if>
<if test="detectorCode != null">detector_code,</if>
<if test="detectorAddr != null">detector_addr,</if>
<if test="detectorType != null">detector_type,</if>
<if test="medium != null">medium,</if>
<if test="longitude != null">longitude,</if>
<if test="latitude != null">latitude,</if>
<if test="iotNo != null">iot_no,</if>
<if test="linkman != null">linkman,</if>
<if test="phone != null">phone,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="alarmTime != null">alarm_time,</if>
<if test="detectorStatus != null">detector_status,</if>
<if test="isDel != null">is_del,</if>
<if test="remarks != null">remarks,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="userId != null">#{userId},</if>
<if test="enterpriseId != null and enterpriseId != 0">#{enterpriseId},</if>
<if test="detectorName != null">#{detectorName},</if>
<if test="detectorCode != null">#{detectorCode},</if>
<if test="detectorAddr != null">#{detectorAddr},</if>
<if test="detectorType != null">#{detectorType},</if>
<if test="medium != null">#{medium},</if>
<if test="longitude != null">#{longitude},</if>
<if test="latitude != null">#{latitude},</if>
<if test="iotNo != null">#{iotNo},</if>
<if test="linkman != null">#{linkman},</if>
<if test="phone != null">#{phone},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="alarmTime != null">#{alarmTime},</if>
<if test="detectorStatus != null">#{detectorStatus},</if>
<if test="isDel != null">#{isDel},</if>
<if test="remarks != null">#{remarks},</if>
</trim>
</insert>
<insert id="insertBatch" parameterType="java.util.List" >
insert into t_detector_info (
user_id, detector_name, detector_code, detector_addr, detector_type, medium, longitude, latitude, linkman, phone, create_time
)
values
<foreach collection="list" item="item" index="index" separator=",">
(
#{item.userId,jdbcType=INTEGER}, #{item.detectorName,jdbcType=VARCHAR}, #{item.detectorCode,jdbcType=VARCHAR},
#{item.detectorAddr,jdbcType=VARCHAR}, #{item.detectorType,jdbcType=VARCHAR}, #{item.medium,jdbcType=VARCHAR},
#{item.longitude,jdbcType=DECIMAL}, #{item.latitude,jdbcType=DECIMAL}, #{item.linkman,jdbcType=VARCHAR},
#{item.phone,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}
)
</foreach>
</insert>
<update id="updateBatch" parameterType="java.util.List">
update t_detector_info d
<trim prefix="set" suffixOverrides=",">
<trim prefix="user_id=case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.userId != null">
when detector_code=#{item.detectorCode} then #{item.userId}
</if>
</foreach>
</trim>
<trim prefix="detector_name=case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.detectorName != null &amp;&amp; item.detectorName != ''">
when detector_code=#{item.detectorCode} then #{item.detectorName}
</if>
</foreach>
</trim>
<trim prefix="detector_addr=case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.detectorAddr != null &amp;&amp; item.detectorAddr != ''">
when detector_code=#{item.detectorCode} then #{item.detectorAddr}
</if>
</foreach>
</trim>
<trim prefix="detector_type=case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.detectorType != null &amp;&amp; item.detectorType != ''">
when detector_code=#{item.detectorCode} then #{item.detectorType}
</if>
</foreach>
</trim>
<trim prefix="medium=case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.medium != null &amp;&amp; item.medium != ''">
when detector_code=#{item.detectorCode} then #{item.medium}
</if>
</foreach>
</trim>
<trim prefix="longitude=case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.longitude != null &amp;&amp; item.longitude != ''">
when detector_code=#{item.detectorCode} then #{item.longitude}
</if>
</foreach>
</trim>
<trim prefix="latitude=case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.latitude != null &amp;&amp; item.latitude != ''">
when detector_code=#{item.detectorCode} then #{item.latitude}
</if>
</foreach>
</trim>
<trim prefix="linkman=case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.linkman != null &amp;&amp; item.linkman != ''">
when detector_code=#{item.detectorCode} then #{item.linkman}
</if>
</foreach>
</trim>
<trim prefix="phone=case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.phone != null &amp;&amp; item.phone != ''">
when detector_code=#{item.detectorCode} then #{item.phone}
</if>
</foreach>
</trim>
<trim prefix="is_del=case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.isDel != null &amp;&amp; item.isDel != ''">
when detector_code=#{item.detectorCode} then #{item.isDel}
</if>
</foreach>
</trim>
<trim prefix="detector_status=case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.detectorStatus != null &amp;&amp; item.detectorStatus != ''">
when detector_code=#{item.detectorCode} then #{item.detectorStatus}
</if>
</foreach>
</trim>
<trim prefix="update_time=case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.updateTime != null">
when detector_code=#{item.detectorCode} then #{item.updateTime}
</if>
</foreach>
</trim>
<trim prefix="alarm_time=case" suffix="end,">
<foreach collection="list" item="item" index="index">
when detector_code=#{item.detectorCode} then #{item.alarmTime}
</foreach>
</trim>
</trim>
where
<foreach collection="list" separator="or" item="item" index="index">
detector_code=#{item.detectorCode}
</foreach>
</update>
<update id="updateTDetectorInfo" parameterType="TDetectorInfo">
update t_detector_info
<trim prefix="SET" suffixOverrides=",">
<if test="userId != null">user_id = #{userId},</if>
<if test="detectorName != null">detector_name = #{detectorName},</if>
<if test="detectorCode != null">detector_code = #{detectorCode},</if>
<if test="detectorAddr != null">detector_addr = #{detectorAddr},</if>
<if test="detectorType != null">detector_type = #{detectorType},</if>
<if test="medium != null">medium = #{medium},</if>
<if test="longitude != null">longitude = #{longitude},</if>
<if test="latitude != null">latitude = #{latitude},</if>
<if test="iotNo != null">iot_no = #{iotNo},</if>
<if test="linkman != null">linkman = #{linkman},</if>
<if test="phone != null">phone = #{phone},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
alarm_time = #{alarmTime},
<if test="detectorStatus != null">detector_status = #{detectorStatus},</if>
<if test="isDel != null">is_del = #{isDel},</if>
<if test="remarks != null">remarks = #{remarks},</if>
</trim>
where detector_id = #{detectorId}
</update>
<delete id="deleteTDetectorInfoById" parameterType="Long">
delete from t_detector_info where detector_id = #{detectorId}
</delete>
<delete id="deleteTDetectorInfoByIds" parameterType="String">
delete from t_detector_info where detector_id in
<foreach item="detectorId" collection="array" open="(" separator="," close=")">
#{detectorId}
</foreach>
</delete>
</mapper>
\ No newline at end of file
<?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.zehong.system.mapper.TDetectorReportDataMapper">
<resultMap type="TDetectorReportData" id="TDetectorReportDataResult">
<result property="id" column="id" />
<result property="sourceId" column="source_id" />
<result property="detectorCode" column="detector_code" />
<result property="detectorStatusId" column="detector_status_id" />
<result property="statusName" column="status_name" />
<result property="reportValue" column="report_value" />
<result property="zhHostStatusId" column="zh_host_status_id" />
<result property="netPoint" column="net_point" />
<result property="signalStrength" column="signal_strength" />
<result property="ipAddress" column="ip_address" />
<result property="createTime" column="create_time" />
<result property="isCancelAlarm" column="is_cancel_alarm" />
<result property="cancelTime" column="cancel_time" />
</resultMap>
<sql id="selectTDetectorReportDataVo">
select id, source_id, detector_code, detector_status_id, status_name, report_value, zh_host_status_id, net_point, signal_strength, ip_address, create_time, is_cancel_alarm, cancel_time from t_detector_report_data
</sql>
<select id="selectTDetectorReportDataList" parameterType="TDetectorReportData" resultMap="TDetectorReportDataResult">
<include refid="selectTDetectorReportDataVo"/>
<where>
<if test="sourceId != null and sourceId != ''"> and source_id = #{sourceId}</if>
<if test="detectorCode != null and detectorCode != ''"> and detector_code = #{detectorCode}</if>
<if test="detectorStatusId != null and detectorStatusId != ''"> and detector_status_id = #{detectorStatusId}</if>
<if test="statusName != null and statusName != ''"> and status_name = #{statusName}</if>
<if test="reportValue != null "> and report_value = #{reportValue}</if>
<if test="zhHostStatusId != null "> and zh_host_status_id = #{zhHostStatusId}</if>
<if test="netPoint != null "> and net_point = #{netPoint}</if>
<if test="signalStrength != null "> and signal_strength = #{signalStrength}</if>
<if test="ipAddress != null and ipAddress != ''"> and ip_address = #{ipAddress}</if>
<if test="isCancelAlarm != null and isCancelAlarm != ''"> and is_cancel_alarm = #{isCancelAlarm}</if>
<if test="cancelTime != null "> and cancel_time = #{cancelTime}</if>
</where>
</select>
<select id="selectTDetectorReportDataById" parameterType="Long" resultMap="TDetectorReportDataResult">
<include refid="selectTDetectorReportDataVo"/>
where id = #{id}
</select>
<select id="selectTDetectorReportDataByCode" parameterType="String" resultMap="TDetectorReportDataResult">
<include refid="selectTDetectorReportDataVo"/>
where detector_code = #{detectorCode}
and is_cancel_alarm = '0'
ORDER BY create_time DESC
</select>
<select id="selectTDetectorAlarm" resultType="TDetectorAlarmInfoVO">
SELECT
rd.detector_code detectorCode,
CONCAT_WS("#",IFNULL(u.nick_name,IFNULL(di.linkman,di.detector_addr)),di.linkman) unitName,
di.detector_type detectorType,
rd.status_name statusName,
rd.create_time alarmTime,
IF (
rd.is_cancel_alarm = 0,
'未消除',
'已消除'
) handledStatus
FROM
t_detector_report_data rd
LEFT JOIN t_detector_info di ON rd.detector_code = di.detector_code
LEFT JOIN t_detector_user u ON u.user_id = di.user_id
WHERE u.is_del = '0'
ORDER BY rd.create_time DESC LIMIT 50
</select>
<select id="selectRealtimeDataList" resultMap="TDetectorReportDataResult">
SELECT * FROM
(
SELECT
t.source_id,
t.detector_code,
t.detector_status_id,
t.status_name,
t.report_value,
t.zh_host_status_id,
t.net_point,
t.signal_strength,
t.ip_address,
t.create_time,
t.is_cancel_alarm,
t.cancel_time,
d.detector_id,
d.detector_name,
d.detector_type
FROM
t_detector_report_data t
LEFT JOIN t_detector_info d ON t.detector_code = d.detector_code
WHERE
t.detector_status_id != '1'
ORDER BY t.create_time DESC
)data
GROUP BY data.detector_id LIMIT 50
</select>
<select id="countDetectorByUserId" parameterType="TDetectorInfo" resultMap="TDetectorReportDataResult" >
select r.id, r.source_id, r.detector_code, r.detector_status_id, r.is_cancel_alarm, r.cancel_time
from t_detector_report_data r
left join t_detector_info d on r.detector_code = d.detector_code
where r.detector_status_id != '1' and d.user_id = #{userId} and d.is_del = #{isDel}
</select>
<insert id="insertTDetectorReportData" parameterType="TDetectorReportData" useGeneratedKeys="true" keyProperty="id">
insert into t_detector_report_data
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="sourceId != null">source_id,</if>
<if test="detectorCode != null and detectorCode != ''">detector_code,</if>
<if test="detectorStatusId != null">detector_status_id,</if>
<if test="statusName != null">status_name,</if>
<if test="reportValue != null">report_value,</if>
<if test="zhHostStatusId != null">zh_host_status_id,</if>
<if test="netPoint != null">net_point,</if>
<if test="signalStrength != null">signal_strength,</if>
<if test="ipAddress != null">ip_address,</if>
<if test="createTime != null">create_time,</if>
<if test="isCancelAlarm != null">is_cancel_alarm,</if>
<if test="cancelTime != null">cancel_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="sourceId != null">#{sourceId},</if>
<if test="detectorCode != null and detectorCode != ''">#{detectorCode},</if>
<if test="detectorStatusId != null">#{detectorStatusId},</if>
<if test="statusName != null">#{statusName},</if>
<if test="reportValue != null">#{reportValue},</if>
<if test="zhHostStatusId != null">#{zhHostStatusId},</if>
<if test="netPoint != null">#{netPoint},</if>
<if test="signalStrength != null">#{signalStrength},</if>
<if test="ipAddress != null">#{ipAddress},</if>
<if test="createTime != null">#{createTime},</if>
<if test="isCancelAlarm != null">#{isCancelAlarm},</if>
<if test="cancelTime != null">#{cancelTime},</if>
</trim>
</insert>
<update id="updateTDetectorReportData" parameterType="TDetectorReportData">
update t_detector_report_data
<trim prefix="SET" suffixOverrides=",">
<if test="sourceId != null">source_id = #{sourceId},</if>
<if test="detectorCode != null and detectorCode != ''">detector_code = #{detectorCode},</if>
<if test="detectorStatusId != null">detector_status_id = #{detectorStatusId},</if>
<if test="statusName != null">status_name = #{statusName},</if>
<if test="reportValue != null">report_value = #{reportValue},</if>
<if test="zhHostStatusId != null">zh_host_status_id = #{zhHostStatusId},</if>
<if test="netPoint != null">net_point = #{netPoint},</if>
<if test="signalStrength != null">signal_strength = #{signalStrength},</if>
<if test="ipAddress != null">ip_address = #{ipAddress},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="isCancelAlarm != null">is_cancel_alarm = #{isCancelAlarm},</if>
<if test="cancelTime != null">cancel_time = #{cancelTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteTDetectorReportDataById" parameterType="Long">
delete from t_detector_report_data where id = #{id}
</delete>
<delete id="deleteTDetectorReportDataByIds" parameterType="String">
delete from t_detector_report_data where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
...@@ -25,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -25,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectTDetectorUserList" parameterType="TDetectorUser" resultMap="TDetectorUserResult"> <select id="selectTDetectorUserList" parameterType="TDetectorUser" resultMap="TDetectorUserResult">
select user_id, username, nick_name, (CASE user_type WHEN '1' THEN '居民用户' WHEN '2' THEN '商业用户'WHEN '3' THEN '工业用户'end) as user_type , address, longitude, latitude, linkman, phone, email, is_del, remarks from t_detector_user select user_id, username, nick_name, (CASE user_type WHEN '1' THEN '居民用户' WHEN '2' THEN '商业用户'WHEN '3' THEN '工业用户'end) as user_type , address, longitude, latitude, linkman, phone, email, is_del, remarks from t_detector_user
<where> <where> is_del = '0'
<if test="username != null and username != ''"> and username like concat('%', #{username}, '%')</if> <if test="username != null and username != ''"> and username like concat('%', #{username}, '%')</if>
<if test="nickName != null and nickName != ''"> and nick_name like concat('%', #{nickName}, '%')</if> <if test="nickName != null and nickName != ''"> and nick_name like concat('%', #{nickName}, '%')</if>
</where> </where>
......
import request from '@/utils/request'
// 查询探测器列表
export function listDetectorInfo(query) {
return request({
url: '/detector/detectorInfo/list',
method: 'get',
params: query
})
}
// 探测器列表
export function detectorInfoList(query) {
return request({
url: '/detector/detectorInfo/detectorInfoList',
method: 'get',
params: query
})
}
// 新增探测器
export function addDetectorInfo(data) {
return request({
url: '/detector/detectorInfo',
method: 'post',
data: data
})
}
// 修改探测器
export function updateDetectorInfo(data) {
return request({
url: '/detector/detectorInfo',
method: 'put',
data: data
})
}
// 删除探测器
export function delDetectorInfo(detectorId) {
return request({
url: '/detector/detectorInfo/' + detectorId,
method: 'delete'
})
}
// 导出探测器
export function exportDetectorInfo(query) {
return request({
url: '/detector/detectorInfo/export',
method: 'get',
params: query
})
}
// 右上角的综合列表
export function alarmData(query) {
return request({
url: '/detector/detectorInfo/getAlarmData',
method: 'get',
params: query
})
}
import request from '@/utils/request'
// 查询探测器用户列表
export function listDetectorUser(query) {
return request({
url: '/detector/detectorUser/list',
method: 'get',
params: query
})
}
// 探测器用户列表
export function detectorUserList(query) {
return request({
url: '/detector/detectorUser/detectorUserList',
method: 'get',
params: query
})
}
// 查询探测器用户详细
export function getDetectorUser(userId) {
return request({
url: '/detector/detectorUser/' + userId,
method: 'get'
})
}
// 新增探测器用户
export function addDetectorUser(data) {
return request({
url: '/detector/detectorUser',
method: 'post',
data: data
})
}
// 修改探测器用户
export function updateDetectorUser(data) {
return request({
url: '/detector/detectorUser',
method: 'put',
data: data
})
}
// 删除探测器用户
export function delDetectorUser(userId) {
return request({
url: '/detector/detectorUser/' + userId,
method: 'delete'
})
}
// 导出探测器用户
export function exportDetectorUser(query) {
return request({
url: '/detector/detectorUser/export',
method: 'get',
params: query
})
}
...@@ -197,15 +197,17 @@ ...@@ -197,15 +197,17 @@
<el-form-item label="转办记录" prop="transferRecord" :style="display"> <el-form-item label="转办记录" prop="transferRecord" :style="display">
<el-input v-model="form.transferRecord" type="textarea" placeholder="请输入转办记录" :disabled="readonly"/> <el-input v-model="form.transferRecord" type="textarea" placeholder="请输入转办记录" :disabled="readonly"/>
</el-form-item> </el-form-item>
<el-form-item label="任务状态" :style="display"> <el-form-item label="任务状态" :style="display" >
<el-select v-model="form.complainStatus" placeholder="请选择任务状态" :disabled="readonly">
<el-option <el-input v-model="form.complainStatus" placeholder="" :disabled="readonly"/>
v-for="dict in taskStateOptions" <!--<el-select v-model="form.complainStatus" placeholder="请选择任务状态" :disabled="readonly">-->
:key="dict.dictValue" <!--<el-option-->
:label="dict.dictLabel" <!--v-for="dict in taskStateOptions"-->
:value="dict.dictValue" <!--:key="dict.dictValue"-->
></el-option> <!--:label="dict.dictLabel"-->
</el-select> <!--:value="dict.dictValue"-->
<!--&gt;</el-option>-->
<!--</el-select>-->
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remarks"> <el-form-item label="备注" prop="remarks">
<el-input v-model="form.remarks" type="textarea" placeholder="请输入备注" :disabled="readonly"/> <el-input v-model="form.remarks" type="textarea" placeholder="请输入备注" :disabled="readonly"/>
...@@ -359,7 +361,6 @@ export default { ...@@ -359,7 +361,6 @@ export default {
this.form.complainAssignEnterproseName = obj.enterpriseName; this.form.complainAssignEnterproseName = obj.enterpriseName;
this.form.complainAssignEnterproseId = value; this.form.complainAssignEnterproseId = value;
getUserList(value).then(response => { getUserList(value).then(response => {
console.log(response.data)
//console.log(this.peopleList) //console.log(this.peopleList)
this.peopleList=response.data; this.peopleList=response.data;
}); });
...@@ -371,7 +372,6 @@ export default { ...@@ -371,7 +372,6 @@ export default {
}); });
this.form.complainAssignManId === value; this.form.complainAssignManId === value;
this.form.complainAssignMan = obj.nickName; this.form.complainAssignMan = obj.nickName;
console.log(this.form);
}, },
// 取消按钮 // 取消按钮
cancel() { cancel() {
...@@ -480,6 +480,8 @@ export default { ...@@ -480,6 +480,8 @@ export default {
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
this.title = "修改投诉处置"; this.title = "修改投诉处置";
var statusName = this.selectDictLabel(this.taskStateOptions, row.complainStatus);
this.form.complainStatus=statusName;
}); });
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
:rules="loginRules" :rules="loginRules"
class="login-form" class="login-form"
> >
<h3 class="title">泽宏后台管理系统</h3> <h3 class="title">智慧管网后台管理系统</h3>
<el-form-item prop="username"> <el-form-item prop="username">
<el-input <el-input
v-model="loginForm.username" v-model="loginForm.username"
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
</el-form> </el-form>
<!-- 底部 --> <!-- 底部 -->
<div class="el-login-footer"> <div class="el-login-footer">
<span>Copyright © 2018-2021 ruoyi.vip All Rights Reserved.</span> <span> </span>
</div> </div>
</div> </div>
</template> </template>
......
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户账号" prop="username"> <!--<el-form-item label="用户账号" prop="username">
<el-input <el-input
v-model="queryParams.username" v-model="queryParams.username"
placeholder="请输入用户账号" placeholder="请输入用户账号"
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
size="small" size="small"
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>-->
<el-form-item label="用户名称" prop="nickName"> <el-form-item label="用户名称" prop="nickName">
<el-input <el-input
v-model="queryParams.nickName" v-model="queryParams.nickName"
...@@ -36,28 +36,6 @@ ...@@ -36,28 +36,6 @@
v-hasPermi="['supervise:user:add']" v-hasPermi="['supervise:user:add']"
>新增</el-button> >新增</el-button>
</el-col> </el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['supervise:user:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['supervise:user:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="warning" type="warning"
...@@ -74,7 +52,7 @@ ...@@ -74,7 +52,7 @@
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="用户账号" align="center" prop="username" /> <!--<el-table-column label="用户账号" align="center" prop="username" />-->
<el-table-column label="用户名称" align="center" prop="nickName" /> <el-table-column label="用户名称" align="center" prop="nickName" />
<el-table-column label="用户类型" align="center" prop="userType" /> <el-table-column label="用户类型" align="center" prop="userType" />
<el-table-column label="地址" align="center" prop="address" /> <el-table-column label="地址" align="center" prop="address" />
...@@ -83,7 +61,7 @@ ...@@ -83,7 +61,7 @@
<el-table-column label="联系人" align="center" prop="linkman" /> <el-table-column label="联系人" align="center" prop="linkman" />
<el-table-column label="电话" align="center" prop="phone" /> <el-table-column label="电话" align="center" prop="phone" />
<el-table-column label="邮箱" align="center" prop="email" /> <el-table-column label="邮箱" align="center" prop="email" />
<el-table-column label="备注" align="center" prop="remarks" /> <!--<el-table-column label="备注" align="center" prop="remarks" />-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
...@@ -270,10 +248,10 @@ export default { ...@@ -270,10 +248,10 @@ export default {
form: {}, form: {},
// 表单校验 // 表单校验
rules: { rules: {
username: [ /*username: [
{ required: true, message: "请输入用户账号", trigger: "blur" }, { required: true, message: "请输入用户账号", trigger: "blur" },
// { min: 0, max: 20, message: "长度20位", trigger: "blur" }, // { min: 0, max: 20, message: "长度20位", trigger: "blur" },
], ],*/
nickName: [ nickName: [
{ required: true, message: "请输入用户名称", trigger: "blur" }, { required: true, message: "请输入用户名称", trigger: "blur" },
// { min: 0, max: 20, message: "长度20位", trigger: "blur" }, // { min: 0, max: 20, message: "长度20位", trigger: "blur" },
......
...@@ -56,7 +56,6 @@ ...@@ -56,7 +56,6 @@
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['standingBook:equipment:add']"
>新增</el-button> >新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
...@@ -67,7 +66,6 @@ ...@@ -67,7 +66,6 @@
size="mini" size="mini"
:loading="exportLoading" :loading="exportLoading"
@click="handleExport" @click="handleExport"
v-hasPermi="['standingBook:equipment:export']"
>导出</el-button> >导出</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
...@@ -87,21 +85,18 @@ ...@@ -87,21 +85,18 @@
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['standingBook:equipment:edit']"
>修改</el-button> >修改</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="showDetail(scope.row)" @click="showDetail(scope.row)"
v-hasPermi="['standingBook:equipment:query']"
>详情</el-button> >详情</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['standingBook:equipment:remove']"
>删除</el-button> >删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
......
...@@ -49,7 +49,6 @@ ...@@ -49,7 +49,6 @@
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['standingBook:hidden:add']"
>新增</el-button> >新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
...@@ -60,7 +59,6 @@ ...@@ -60,7 +59,6 @@
size="mini" size="mini"
:loading="exportLoading" :loading="exportLoading"
@click="handleExport" @click="handleExport"
v-hasPermi="['standingBook:hidden:export']"
>导出</el-button> >导出</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
...@@ -103,21 +101,18 @@ ...@@ -103,21 +101,18 @@
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['standingBook:hidden:edit']"
>修改</el-button> >修改</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="showDetail(scope.row)" @click="showDetail(scope.row)"
v-hasPermi="['standingBook:hidden:query']"
>详情</el-button> >详情</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['standingBook:hidden:remove']"
>删除</el-button> >删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
......
...@@ -58,7 +58,6 @@ ...@@ -58,7 +58,6 @@
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['standingBook:trouble:add']"
>新增</el-button> >新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
...@@ -69,7 +68,6 @@ ...@@ -69,7 +68,6 @@
size="mini" size="mini"
:loading="exportLoading" :loading="exportLoading"
@click="handleExport" @click="handleExport"
v-hasPermi="['standingBook:trouble:export']"
>导出</el-button> >导出</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
...@@ -107,21 +105,18 @@ ...@@ -107,21 +105,18 @@
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['standingBook:trouble:edit']"
>修改</el-button> >修改</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="showDetail(scope.row)" @click="showDetail(scope.row)"
v-hasPermi="['standingBook:trouble:query']"
>详情</el-button> >详情</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['standingBook:trouble:remove']"
>删除</el-button> >删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
......
...@@ -83,7 +83,6 @@ ...@@ -83,7 +83,6 @@
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="showDetail(scope.row)" @click="showDetail(scope.row)"
v-hasPermi="['standingBook:hidden:query']"
>详情</el-button> >详情</el-button>
</template> </template>
</el-table-column> </el-table-column>
...@@ -103,54 +102,59 @@ ...@@ -103,54 +102,59 @@
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="隐患名称:"> <el-form-item label="隐患名称:">
<font>{{detailForm.hiddenTitle}}</font> <el-input v-model="detailForm.hiddenTitle" disabled/>
</el-form-item> </el-form-item>
<el-form-item label="隐患发现人员:"> <el-form-item label="隐患发现人员:">
<font>{{detailForm.hiddenFindPeople}}</font> <el-input v-model="detailForm.hiddenFindPeople" disabled/>
</el-form-item> </el-form-item>
<el-form-item label="发现时间:"> <el-form-item label="发现时间:">
<font>{{detailForm.hiddenFindDate}}</font> <el-input v-model="detailForm.hiddenFindDate" disabled/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="13"> <el-col :span="13">
<el-form-item label="隐患等级:"> <el-form-item label="隐患等级:">
<font v-if="detailForm.hiddenType == '1'">一级隐患</font> <el-input v-if="detailForm.hiddenType == '1'" value="一级隐患" disabled/>
<font v-if="detailForm.hiddenType == '2'">二级隐患</font> <el-input v-if="detailForm.hiddenType == '2'" value="二级隐患" disabled/>
<font v-if="detailForm.hiddenType == '3'">三级隐患</font> <el-input v-if="detailForm.hiddenType == '3'" value="三级隐患" disabled/>
</el-form-item> </el-form-item>
<el-form-item label="隐患位置:"> <el-form-item label="隐患位置:">
<font>{{detailForm.hiddenLocation}}</font> <el-input v-model="detailForm.hiddenLocation" disabled/>
</el-form-item> </el-form-item>
<el-form-item label="整治情况:">
<el-input v-if="detailForm.remediation == '1'" value="已完成" disabled/>
<el-input v-if="detailForm.remediation == '2'" value="未完成" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="23">
<el-form-item label="处理方案:"> <el-form-item label="处理方案:">
<span class="dbtn" @click="checkFile(detailForm.dealPlanUrl)" v-if="detailForm.dealPlan != ''"> <span class="dbtn" @click="checkFile(detailForm.dealPlanUrl)" v-if="detailForm.dealPlan != ''">
<i class="el-icon el-icon-view"></i>查看/下载 <i class="el-icon el-icon-view"></i>查看/下载
</span> </span>
<span v-else>-</span> <span v-else><el-input disabled/></span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="23">
<el-form-item label="隐患内容:"> <el-form-item label="隐患内容:">
<font>{{detailForm.hiddenContent}}</font> <el-input type="textarea" v-model="detailForm.hiddenContent" disabled/>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="整治情况:">
<font v-if="detailForm.remediation == '1'">已完成</font>
<font v-if="detailForm.remediation == '2'">未完成</font>
</el-form-item> </el-form-item>
</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="23">
<el-form-item label="备注信息:"> <el-form-item label="备注信息:">
<font v-if="detailForm.remarks != '' && detailForm.remarks != null">{{detailForm.remarks}}</font> <el-input type="textarea" v-model="detailForm.remarks" disabled/>
<font v-else> - </font>
</el-form-item> </el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<div style="width: 100%;height: 390px;margin-top: -25px; border: 1px solid rgb(218, 213, 213);margin-bottom: 10px;"> <div style="width: 100%;height: 390px; border: 1px solid rgb(218, 213, 213);margin-bottom: 10px;">
<div style="width: 100%;height: 100%" id="hiddenContainer"></div> <div style="width: 100%;height: 100%" id="hiddenContainer"></div>
</div> </div>
</el-col> </el-col>
......
...@@ -56,7 +56,6 @@ ...@@ -56,7 +56,6 @@
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="showDetail(scope.row)" @click="showDetail(scope.row)"
v-hasPermi="['standingBook:trouble:query']"
>详情</el-button> >详情</el-button>
</template> </template>
</el-table-column> </el-table-column>
...@@ -74,75 +73,76 @@ ...@@ -74,75 +73,76 @@
<el-col :span="14"> <el-col :span="14">
<el-form ref="detailForm" :model="detailForm" label-width="120px"> <el-form ref="detailForm" :model="detailForm" label-width="120px">
<el-row> <el-row>
<el-col :span="10"> <el-col :span="11">
<el-form-item label="事故名称:"> <el-form-item label="事故名称:">
<font>{{detailForm.troubleName}}</font> <el-input v-model="detailForm.troubleName" disabled/>
</el-form-item> </el-form-item>
<el-form-item label="事故原因:"> <el-form-item label="事故原因:">
<font>{{detailForm.troubleReason}}</font> <el-input v-model="detailForm.troubleReason" disabled/>
</el-form-item> </el-form-item>
<el-form-item label="责任单位:"> <el-form-item label="责任单位:">
<font v-if="detailForm.responsibleUnit != '' && detailForm.responsibleUnit != null">{{detailForm.responsibleUnit}}</font> <el-input v-model="detailForm.responsibleUnit" disabled/>
<font v-else> - </font>
</el-form-item> </el-form-item>
<el-form-item label="是否人员伤亡:"> <el-form-item label="是否人员伤亡:">
<font v-if="detailForm.isCasualties == '1'"></font> <el-input v-if="detailForm.isCasualties == '1'" value="是" disabled/>
<font v-if="detailForm.isCasualties == '2'"></font> <el-input v-if="detailForm.isCasualties == '2'" value="是" disabled/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="13"> <el-col :span="12">
<el-form-item label="事故类型:"> <el-form-item label="事故类型:">
<font v-if="detailForm.troubleType == '1'">安全生产事故</font> <el-input v-if="detailForm.troubleType == '1'" value="安全生产事故" disabled/>
<font v-if="detailForm.troubleType == '2'">非生产安全事故</font> <el-input v-if="detailForm.troubleType == '2'" value="非生产安全事故" disabled/>
</el-form-item> </el-form-item>
<el-form-item label="事故地点:"> <el-form-item label="事故地点:">
<font>{{detailForm.troubleLocation}}</font> <el-input v-model="detailForm.troubleLocation" disabled/>
</el-form-item> </el-form-item>
<el-form-item label="责任人员:"> <el-form-item label="责任人员:">
<font v-if="detailForm.responsiblePeople != '' && detailForm.responsiblePeople != null">{{detailForm.responsiblePeople}}</font> <el-input v-model="detailForm.responsiblePeople" disabled/>
<font v-else> - </font>
</el-form-item> </el-form-item>
<el-form-item label="是否处理:"> <el-form-item label="是否处理:">
<font v-if="detailForm.isDeal == '1'">已处理</font> <el-input v-if="detailForm.isDeal == '1'" value="已处理" disabled/>
<font v-if="detailForm.isDeal == '2'">未处理</font> <el-input v-if="detailForm.isDeal == '2'" value="未处理" disabled/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-if="detailForm.isCasualties == '1'"> <el-row v-if="detailForm.isCasualties == '1'">
<el-col :span="11"> <el-col :span="11">
<el-form-item label="受伤人数:"> <el-form-item label="受伤人数:">
<font>{{detailForm.injuryNum}}</font> <el-input v-model="detailForm.injuryNum" disabled/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="死亡人数:"> <el-form-item label="死亡人数:">
<font>{{detailForm.deathNum}}</font> <el-input v-model="detailForm.deathNum" disabled/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="23">
<el-form-item label="处理完成时间:"> <el-form-item label="处理完成时间:">
<font v-if="detailForm.dealDate != '' && detailForm.dealDate != null">{{detailForm.dealDate}}</font> <el-input v-model="detailForm.dealDate" disabled/>
<font v-else> - </font>
</el-form-item> </el-form-item>
</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="23">
<el-form-item label="简要经过:"> <el-form-item label="简要经过:">
<font v-if="detailForm.briefProcess != '' && detailForm.briefProcess != null">{{detailForm.briefProcess}}</font> <el-input type="textarea" v-model="detailForm.briefProcess" disabled/>
<font v-else> - </font>
</el-form-item> </el-form-item>
</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="23">
<el-form-item label="备注信息:"> <el-form-item label="备注信息:">
<font v-if="detailForm.remarks != '' && detailForm.remarks != null">{{detailForm.remarks}}</font> <el-input type="textarea" v-model="detailForm.remarks" disabled/>
<font v-else> - </font>
</el-form-item> </el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<div style="width: 100%;height: 390px;margin-top: -25px; border: 1px solid rgb(218, 213, 213);margin-bottom: 10px;"> <div style="width: 100%;height: 390px; border: 1px solid rgb(218, 213, 213);margin-bottom: 10px;">
<div style="width: 100%;height: 100%" id="troubleContainer"></div> <div style="width: 100%;height: 100%" id="troubleContainer"></div>
</div> </div>
</el-col> </el-col>
......
...@@ -447,7 +447,7 @@ export default { ...@@ -447,7 +447,7 @@ export default {
const eventId = row.eventId || this.ids const eventId = row.eventId || this.ids
getEventInfo(eventId).then(response => { getEventInfo(eventId).then(response => {
this.form = response.data; this.form = response.data;
this.title = "修改事件处置"; this.title = "事件处置详情";
if(row.iconUrl!=null){ if(row.iconUrl!=null){
this.fileList = [{name: '附件', url: uploadfile}]; this.fileList = [{name: '附件', url: uploadfile}];
} }
......
...@@ -34,6 +34,7 @@ module.exports = { ...@@ -34,6 +34,7 @@ module.exports = {
proxy: { proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
// target: `http://localhost:8903/gassafety`,
target: `http://222.223.203.154:8092/gassafety`, target: `http://222.223.203.154:8092/gassafety`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
......
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