liusuyi
2024-08-08 57c673aa3e83677bcf5d30b4b45d06bae6609db8
ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java
@@ -1,9 +1,17 @@
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;
@@ -21,7 +29,6 @@
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.sy.domain.ArdTankLock;
import com.ruoyi.sy.service.IArdTankLockService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
@@ -29,7 +36,7 @@
 * 电磁锁Controller
 *
 * @author ard
 * @date 2024-06-29
 * @date 2024-07-01
 */
@Api(tags = "电磁锁")
@RestController
@@ -38,12 +45,30 @@
    @Autowired
    private IArdTankLockService ardTankLockService;
/**
 * 查询电磁锁列表
 */
@ApiOperation("查询电磁锁列表")
@PreAuthorize("@ss.hasPermi('sy:lock:list')")
@GetMapping("/list")
    @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);
@@ -75,14 +100,19 @@
    /**
     * 新增电磁锁
     */
    @ApiOperation("新增电磁锁")
    /*@ApiOperation("新增电磁锁")
    @PreAuthorize("@ss.hasPermi('sy:lock:add')")
    @Log(title = "电磁锁" , businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ArdTankLock ardTankLock) {
        String id = IdUtils.simpleUUID();
        ardTankLock.setId(id);
        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));
    }
    /**
@@ -99,11 +129,325 @@
    /**
     * 删除电磁锁
     */
    @ApiOperation("删除电磁锁")
    /*@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, "罐车锁操控日志数据");
    }*/
}