package com.ruoyi.sy.controller;
|
|
import java.util.List;
|
import java.util.Map;
|
import javax.servlet.http.HttpServletResponse;
|
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.uuid.IdUtils;
|
import com.ruoyi.sy.domain.ArdTankLockProcessLog;
|
import com.ruoyi.sy.domain.ArdTankWall;
|
import com.ruoyi.sy.service.*;
|
import com.ruoyi.utils.result.Results;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PutMapping;
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.sy.domain.ArdTankLock;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
/**
|
* 电磁锁Controller
|
*
|
* @author ard
|
* @date 2024-07-01
|
*/
|
@Api(tags = "电磁锁")
|
@RestController
|
@RequestMapping("/sy/lock")
|
public class ArdTankLockController extends BaseController {
|
@Autowired
|
private IArdTankLockService ardTankLockService;
|
|
@Autowired
|
private IArdTankWallService ardTankWallService;
|
|
@Autowired
|
private IArdTankWallLockService ardTankWallLockService;
|
|
@Autowired
|
private IArdTankLockProcessLogService ardTankLockProcessLogService;
|
|
@Autowired
|
private IArdTankLockAlarmService ardTankLockAlarmService;
|
|
@Autowired
|
private IArdTankLockPasswordService ardTankLockPasswordService;
|
|
@Autowired
|
private IArdTankWallTemporaryService ardTankWallTemporaryService;
|
|
/**
|
* 查询电磁锁列表
|
*/
|
@ApiOperation("查询电磁锁列表")
|
@PreAuthorize("@ss.hasPermi('sy:lock:list')")
|
@GetMapping("/list")
|
public TableDataInfo list(ArdTankLock ardTankLock) {
|
startPage();
|
List<ArdTankLock> list = ardTankLockService.selectArdTankLockList(ardTankLock);
|
return getDataTable(list);
|
}
|
|
/**
|
* 导出电磁锁列表
|
*/
|
@PreAuthorize("@ss.hasPermi('sy:lock:export')")
|
@Log(title = "电磁锁" , businessType = BusinessType.EXPORT)
|
@PostMapping("/export")
|
public void export(HttpServletResponse response, ArdTankLock ardTankLock) {
|
List<ArdTankLock> list = ardTankLockService.selectArdTankLockList(ardTankLock);
|
ExcelUtil<ArdTankLock> util = new ExcelUtil<ArdTankLock>(ArdTankLock. class);
|
util.exportExcel(response, list, "电磁锁数据");
|
}
|
|
/**
|
* 获取电磁锁详细信息
|
*/
|
@ApiOperation("获取电磁锁详细信息")
|
@PreAuthorize("@ss.hasPermi('sy:lock:query')")
|
@GetMapping(value = "/{id}")
|
public AjaxResult getInfo(@PathVariable("id") String id) {
|
return success(ardTankLockService.selectArdTankLockById(id));
|
}
|
|
/**
|
* 新增电磁锁
|
*/
|
/*@ApiOperation("新增电磁锁")
|
@PreAuthorize("@ss.hasPermi('sy:lock:add')")
|
@Log(title = "电磁锁" , businessType = BusinessType.INSERT)
|
@PostMapping
|
public AjaxResult add(@RequestBody ArdTankLock ardTankLock) {
|
return toAjax(ardTankLockService.insertArdTankLock(ardTankLock));
|
}*/
|
@ApiOperation("新增电磁锁")
|
@PreAuthorize("@ss.hasPermi('sy:lock:add')")
|
@Log(title = "电磁锁" , businessType = BusinessType.INSERT)
|
@PostMapping
|
public AjaxResult add(@RequestBody Map<String,Object> para) {
|
return toAjax(ardTankLockService.insertArdTankLock(para));
|
}
|
|
/**
|
* 修改电磁锁
|
*/
|
@ApiOperation("修改电磁锁")
|
@PreAuthorize("@ss.hasPermi('sy:lock:edit')")
|
@Log(title = "电磁锁" , businessType = BusinessType.UPDATE)
|
@PutMapping
|
public AjaxResult edit(@RequestBody ArdTankLock ardTankLock) {
|
return toAjax(ardTankLockService.updateArdTankLock(ardTankLock));
|
}
|
|
/**
|
* 删除电磁锁
|
*/
|
/*@ApiOperation("删除电磁锁")
|
@PreAuthorize("@ss.hasPermi('sy:lock:remove')")
|
@Log(title = "电磁锁" , businessType = BusinessType.DELETE)
|
@DeleteMapping("/{ids}")
|
public AjaxResult remove(@PathVariable String[] ids) {
|
return toAjax(ardTankLockService.deleteArdTankLockByIds(ids));
|
}*/
|
|
/**
|
* 删除电磁锁
|
*/
|
@ApiOperation("删除单一电磁锁")
|
@PreAuthorize("@ss.hasPermi('sy:lock:remove')")
|
@Log(title = "电磁锁" , businessType = BusinessType.DELETE)
|
@DeleteMapping("/{id}")
|
public AjaxResult remove(@PathVariable String id) {
|
return toAjax(ardTankLockService.deleteArdTankLockById(id));
|
}
|
|
/*@ApiOperation("查询全部电磁锁")
|
@PreAuthorize("@ss.hasPermi('sy:lock:getAll')")
|
@GetMapping("/getAll")
|
public Results getAll() {
|
String userId = SecurityUtils.getUserId();
|
Results result = ardTankLockService.getAll(userId);
|
return result;
|
}*/
|
|
@ApiOperation("查询全部电磁锁")
|
@PreAuthorize("@ss.hasPermi('sy:lock:getAll')")
|
//@GetMapping("/getAll")
|
@PostMapping("/getAll")
|
public TableDataInfo getAll(@RequestBody Map<String,Integer> para) {
|
/*startPage();
|
String userId = SecurityUtils.getUserId();
|
List<Map<String,Object>> result = ardTankLockService.getAll(userId);
|
return getDataTable(result);*/
|
|
PageHelper.startPage((Integer) para.get("pageNum"), (Integer) para.get("pageSize"));
|
String userId = SecurityUtils.getUserId();
|
Map<String,Object> result = ardTankLockService.getAll(userId);
|
|
TableDataInfo dataTable = new TableDataInfo();
|
dataTable.setRows((List<Map<String,Object>>) result.get("list"));
|
dataTable.setTotal((Long) result.get("total"));
|
dataTable.setCode(200);
|
dataTable.setMsg("查询成功");
|
return dataTable;
|
}
|
|
/**
|
* 根据car_id获取电磁锁详细信息
|
*/
|
@ApiOperation("根据car_id获取电磁锁详细信息")
|
@PreAuthorize("@ss.hasPermi('sy:lock:getLockByCarId')")
|
@PostMapping("/getLockByCarId")
|
public AjaxResult getLockByCarId(@RequestBody ArdTankLock ardTankLock) {
|
String userId = SecurityUtils.getUserId();
|
return success(ardTankLockService.getLockByCarId(ardTankLock.getCarId(),userId));
|
}
|
|
/**
|
* 根据car_id删除电磁锁
|
*/
|
@ApiOperation("根据car_id删除电磁锁")
|
@PreAuthorize("@ss.hasPermi('sy:lock:deleteLockByCarId')")
|
@PostMapping("/deleteLockByCarId")
|
public AjaxResult deleteLockByCarId(@RequestBody ArdTankLock ardTankLock) {
|
return toAjax(ardTankLockService.deleteLockByCarId(ardTankLock.getCarId()));
|
}
|
|
@ApiOperation("修改电磁锁")
|
@PreAuthorize("@ss.hasPermi('sy:lock:updateLockByCarId')")
|
@Log(title = "电磁锁" , businessType = BusinessType.UPDATE)
|
@PutMapping("/updateLockByCarId")
|
public AjaxResult updateLockByCarId(@RequestBody Map<String,Object> para) {
|
return toAjax(ardTankLockService.updateLockByCarId(para));
|
}
|
|
/**
|
* 新增电子围栏
|
*/
|
@ApiOperation("新增电子围栏")
|
@PreAuthorize("@ss.hasPermi('sy:lock:addWall')")
|
@Log(title = "电磁锁" , businessType = BusinessType.INSERT)
|
@PostMapping("/addWall")
|
public AjaxResult addWall(@RequestBody ArdTankWall ardTankWall) {
|
return toAjax(ardTankWallService.insertArdTankWall(ardTankWall));
|
}
|
|
/**
|
* 修改电子围栏
|
*/
|
@ApiOperation("修改电子围栏")
|
@PreAuthorize("@ss.hasPermi('sy:lock:updateWall')")
|
@Log(title = "电磁锁" , businessType = BusinessType.UPDATE)
|
@PutMapping("/updateWall")
|
public AjaxResult updateWall(@RequestBody ArdTankWall ardTankWall) {
|
return toAjax(ardTankWallService.updateArdTankWall(ardTankWall));
|
}
|
|
/**
|
* 删除电子围栏
|
*/
|
@ApiOperation("删除单一电子围栏")
|
@PreAuthorize("@ss.hasPermi('sy:lock:removeWall')")
|
@Log(title = "电磁锁" , businessType = BusinessType.DELETE)
|
@DeleteMapping("/removeWall/{id}")
|
public AjaxResult removeWall(@PathVariable String id) {
|
return toAjax(ardTankWallService.deleteArdTankWallById(id));
|
}
|
|
/*@ApiOperation("查询全部电子围栏")
|
@PreAuthorize("@ss.hasPermi('sy:lock:getAllArdTankWall')")
|
@GetMapping("/getAllArdTankWall")
|
public Results getAllArdTankWall() {
|
List<ArdTankWall> result = ardTankWallService.getAllArdTankWall();
|
return Results.succeed(result);
|
}*/
|
|
@ApiOperation("查询全部电子围栏")
|
@PreAuthorize("@ss.hasPermi('sy:lock:getAllArdTankWall')")
|
@PostMapping("/getAllArdTankWall")
|
public TableDataInfo getAllArdTankWall(@RequestBody Map<String,Object> para) {
|
/*startPage();
|
ArdTankWall ardTankWall = new ArdTankWall();
|
ardTankWall.setWallName((String) para.get("wallName"));
|
List<ArdTankWall> list = ardTankWallService.selectArdTankWallList(ardTankWall);
|
return getDataTable(list);*/
|
PageHelper.startPage((Integer) para.get("pageNum"), (Integer) para.get("pageSize"));
|
ArdTankWall ardTankWall = new ArdTankWall();
|
ardTankWall.setWallName((String) para.get("wallName"));
|
Map<String,Object> result = ardTankWallService.selectArdTankWallList(ardTankWall);
|
|
TableDataInfo dataTable = new TableDataInfo();
|
dataTable.setRows((List<ArdTankWall>) result.get("list"));
|
dataTable.setTotal((Long) result.get("total"));
|
dataTable.setCode(200);
|
dataTable.setMsg("查询成功");
|
return dataTable;
|
}
|
|
@ApiOperation("根据主键获取电磁锁电子围栏")
|
@PreAuthorize("@ss.hasPermi('sy:tankWall:getArdTankWallById')")
|
@GetMapping(value = "/getArdTankWallById/{id}")
|
public AjaxResult getArdTankWallById(@PathVariable String id) {
|
return success(ardTankWallService.selectArdTankWallById(id));
|
}
|
|
/**
|
* 模糊查询电磁锁及挂接的车辆
|
*/
|
@ApiOperation("模糊查询电磁锁及挂接的车辆")
|
@PreAuthorize("@ss.hasPermi('sy:lock:getLockByCarPlate')")
|
@PostMapping("/getLockByCarPlate")
|
public TableDataInfo getLockByCarPlate(@RequestBody Map<String,Object> para) {
|
/*startPage();
|
String userId = SecurityUtils.getUserId();
|
List<Map<String,String>> result = ardTankLockService.getLockByCarPlate(userId,para.get("carPlate"));
|
return getDataTable(result);*/
|
//PageHelper.startPage((Integer) para.get("pageNum"), (Integer) para.get("pageSize"));
|
String userId = SecurityUtils.getUserId();
|
Map<String,Object> result = ardTankLockService.getLockByCarPlate(userId, (String) para.get("carPlate"),(Integer) para.get("pageNum"), (Integer) para.get("pageSize"));
|
|
TableDataInfo dataTable = new TableDataInfo();
|
dataTable.setRows((List<Map<String,Object>>) result.get("list"));
|
dataTable.setTotal((Long) result.get("total"));
|
dataTable.setCode(200);
|
dataTable.setMsg("查询成功");
|
return dataTable;
|
}
|
|
@ApiOperation("根据锁主键获取电子围栏")
|
@PreAuthorize("@ss.hasPermi('sy:tankWall:getArdTankWallByLockId')")
|
@GetMapping(value = "/getArdTankWallByLockId/{id}")
|
public AjaxResult getArdTankWallByLockId(@PathVariable String id) {
|
return success(ardTankWallService.getArdTankWallByLockId(id));
|
}
|
|
/**
|
* 挂接电磁锁及电子围栏
|
*/
|
@ApiOperation("挂接电磁锁及电子围栏")
|
@PreAuthorize("@ss.hasPermi('sy:lock:insertWallLock')")
|
@PostMapping("/insertWallLock")
|
public AjaxResult insertWallLock(@RequestBody Map<String,Object> para) {
|
int result = ardTankWallLockService.insertWallLock(para);
|
return toAjax(result);
|
}
|
|
/**
|
* 根据锁主键删除挂接的电子围栏
|
*/
|
@ApiOperation("根据锁主键删除挂接的电子围栏")
|
@PreAuthorize("@ss.hasPermi('sy:lock:deleteArdTankWallLockByLockId')")
|
@Log(title = "电磁锁" , businessType = BusinessType.DELETE)
|
@DeleteMapping("/deleteArdTankWallLockByLockId/{id}")
|
public AjaxResult deleteArdTankWallLockByLockId(@PathVariable String id) {
|
return toAjax(ardTankWallLockService.deleteArdTankWallLockByLockId(id));
|
}
|
|
/**
|
* 操控电磁锁
|
*/
|
@ApiOperation("操控电磁锁")
|
@PreAuthorize("@ss.hasPermi('sy:lock:processArdTankLockByLockId')")
|
@Log(title = "电磁锁" , businessType = BusinessType.INSERT)
|
@PostMapping("/processArdTankLockByLockId")
|
public AjaxResult processArdTankLockByLockId(@RequestBody Map<String,String> para) {
|
String userId = SecurityUtils.getUserId();
|
String username = SecurityUtils.getUsername();
|
return ardTankLockProcessLogService.processArdTankLockByLockId(userId,username,para);
|
}
|
|
@ApiOperation("查询电磁锁报警")
|
@PreAuthorize("@ss.hasPermi('sy:lock:getAlarm')")
|
@PostMapping("/getAlarm")
|
public TableDataInfo getAlarm(@RequestBody Map<String,Object> para) {
|
String userId = SecurityUtils.getUserId();
|
Map<String,Object> result = ardTankLockAlarmService.getAlarm(userId,para);
|
|
TableDataInfo dataTable = new TableDataInfo();
|
dataTable.setRows((List<Map<String,Object>>) result.get("list"));
|
dataTable.setTotal((Long) result.get("total"));
|
dataTable.setCode(200);
|
dataTable.setMsg("查询成功");
|
return dataTable;
|
}
|
|
@ApiOperation("根据锁主键查询电磁锁密码")
|
@PreAuthorize("@ss.hasPermi('sy:lock:getLockPasswordByLockId')")
|
@PostMapping("/getLockPasswordByLockId")
|
public TableDataInfo getLockPasswordByLockId(@RequestBody Map<String,Object> para) {
|
Map<String,Object> result = ardTankLockPasswordService.getLockPasswordByLockId(para);
|
|
TableDataInfo dataTable = new TableDataInfo();
|
dataTable.setRows((List<Map<String,Object>>) result.get("list"));
|
dataTable.setTotal((Long) result.get("total"));
|
dataTable.setCode(200);
|
dataTable.setMsg("查询成功");
|
return dataTable;
|
}
|
|
@ApiOperation("根据三一主键查询电磁锁密码")
|
@PreAuthorize("@ss.hasPermi('sy:lock:getLockPasswordByCarId')")
|
@PostMapping("/getLockPasswordByCarId")
|
public TableDataInfo getLockPasswordByCarId(@RequestBody Map<String,Object> para) {
|
String userId = SecurityUtils.getUserId();
|
Map<String,Object> result = ardTankLockPasswordService.getLockPasswordByCarId(userId,para);
|
|
TableDataInfo dataTable = new TableDataInfo();
|
dataTable.setRows((List<Map<String,Object>>) result.get("list"));
|
dataTable.setTotal((Long) result.get("total"));
|
dataTable.setCode(200);
|
dataTable.setMsg("查询成功");
|
return dataTable;
|
}
|
|
@ApiOperation("新增临时电子围栏")
|
@PreAuthorize("@ss.hasPermi('sy:lock:insertArdTankWallTemporary')")
|
@PostMapping("/insertArdTankWallTemporary")
|
public AjaxResult insertArdTankWallTemporary(@RequestBody Map<String,Object> para) {
|
String userId = SecurityUtils.getUserId();
|
String userName = SecurityUtils.getUsername();
|
return toAjax(ardTankWallTemporaryService.insertArdTankWallTemporary(userId,userName,para));
|
}
|
|
@ApiOperation("更改临时电子围栏")
|
@PreAuthorize("@ss.hasPermi('sy:lock:updateArdTankWallTemporary')")
|
@PostMapping("/updateArdTankWallTemporary")
|
public AjaxResult updateArdTankWallTemporary(@RequestBody Map<String,Object> para) {
|
String userId = SecurityUtils.getUserId();
|
String userName = SecurityUtils.getUsername();
|
return toAjax(ardTankWallTemporaryService.updateArdTankWallTemporary(userId,userName,para));
|
}
|
|
@ApiOperation("根据三一主键查询临时电子围栏")
|
@PreAuthorize("@ss.hasPermi('sy:lock:getArdTankWallTemporaryByCarId')")
|
@PostMapping("/getArdTankWallTemporaryByCarId")
|
public TableDataInfo getArdTankWallTemporaryByCarId(@RequestBody Map<String,Object> para) {
|
Map<String,Object> result = ardTankWallTemporaryService.getArdTankWallTemporaryByCarId(para);
|
|
TableDataInfo dataTable = new TableDataInfo();
|
dataTable.setRows((List<Map<String,Object>>) result.get("list"));
|
dataTable.setTotal((Long) result.get("total"));
|
dataTable.setCode(200);
|
dataTable.setMsg("查询成功");
|
return dataTable;
|
}
|
|
@ApiOperation("修改电磁锁使能")
|
@PreAuthorize("@ss.hasPermi('sy:lock:updateLockEnableByCarId')")
|
@Log(title = "电磁锁" , businessType = BusinessType.UPDATE)
|
@PutMapping("/updateLockEnableByCarId")
|
public AjaxResult updateLockEnableByCarId(@RequestBody Map<String,Object> para) {
|
return toAjax(ardTankLockService.updateLockEnableByCarId(para));
|
}
|
|
@ApiOperation("根据车牌号查询电磁锁手动操控记录")
|
@PreAuthorize("@ss.hasPermi('sy:lock:getArdTankLockProcessLogByCarPlate')")
|
@PostMapping("/getArdTankLockProcessLogByCarPlate")
|
public TableDataInfo getArdTankLockProcessLogByCarPlate(@RequestBody Map<String,Object> para) {
|
Map<String,Object> result = ardTankLockProcessLogService.getArdTankLockProcessLogByCarPlate(para);
|
|
TableDataInfo dataTable = new TableDataInfo();
|
dataTable.setRows((List<Map<String,Object>>) result.get("list"));
|
dataTable.setTotal((Long) result.get("total"));
|
dataTable.setCode(200);
|
dataTable.setMsg("查询成功");
|
return dataTable;
|
}
|
|
/*@ApiOperation("根据车牌号导出电磁锁手动操控记录")
|
@PreAuthorize("@ss.hasPermi('sy:lock:exportArdTankLockProcessLog')")
|
@PostMapping("/exportArdTankLockProcessLog")
|
public void exportArdTankLockProcessLog(HttpServletResponse response, ArdTankLockProcessLog ardTankLockProcessLog) {
|
List<ArdTankLockProcessLog> list = ardTankLockProcessLogService.exportArdTankLockProcessLog(ardTankLockProcessLog.getCarPlate());
|
ExcelUtil<ArdTankLockProcessLog> util = new ExcelUtil<ArdTankLockProcessLog>(ArdTankLockProcessLog. class);
|
util.exportExcel(response, list, "罐车锁操控日志数据");
|
}*/
|
|
}
|