package com.ruoyi.web.controller.station;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import com.ruoyi.common.utils.IdUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.station.domain.MjDoor;
|
import com.ruoyi.station.domain.MjFingerprintReadHead;
|
import com.ruoyi.station.domain.MjOpenHnwe;
|
import com.ruoyi.station.service.IMjDoorService;
|
import com.ruoyi.station.service.IMjFingerprintReadHeadService;
|
import com.ruoyi.station.service.IMjOpenHnweService;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.ModelMap;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.station.domain.MjAreaManagement;
|
import com.ruoyi.station.service.IMjAreaManagementService;
|
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
/**
|
* 区域管理Controller
|
*
|
* @author ruoyi
|
* @date 2020-08-06
|
*/
|
@Controller
|
@RequestMapping("/station/areaManagement")
|
public class MjAreaManagementController extends BaseController
|
{
|
private String prefix = "station/areaManagement";
|
|
@Autowired
|
private IMjAreaManagementService mjAreaManagementService;
|
@Autowired
|
private IMjDoorService iMjDoorService;
|
@Autowired
|
private IMjFingerprintReadHeadService iMjFingerprintReadHeadService;
|
@Autowired
|
private IMjOpenHnweService openHnweService;
|
|
@RequiresPermissions("station:areaManagement:view")
|
@GetMapping()
|
public String areaManagement()
|
{
|
return prefix + "/areaManagement";
|
}
|
|
/**
|
* 查询区域管理列表
|
*/
|
@RequiresPermissions("station:areaManagement:list")
|
@PostMapping("/list")
|
@ResponseBody
|
public List<MjAreaManagement> list(MjAreaManagement mjAreaManagement)
|
{
|
// startPage();
|
List<MjAreaManagement> list = mjAreaManagementService.selectMjAreaManagementList(mjAreaManagement);
|
return list;
|
}
|
|
/**
|
* 导出区域管理列表
|
*/
|
@RequiresPermissions("station:areaManagement:export")
|
@Log(title = "区域管理", businessType = BusinessType.EXPORT)
|
@PostMapping("/export")
|
@ResponseBody
|
public AjaxResult export(MjAreaManagement mjAreaManagement)
|
{
|
List<MjAreaManagement> list = mjAreaManagementService.selectMjAreaManagementList(mjAreaManagement);
|
ExcelUtil<MjAreaManagement> util = new ExcelUtil<MjAreaManagement>(MjAreaManagement.class);
|
return util.exportExcel(list, "areaManagement");
|
}
|
|
/**
|
* 新增区域管理
|
*/
|
@GetMapping("/add")
|
public String add()
|
{
|
return prefix + "/add";
|
}
|
|
/**
|
* 新增区域管理2
|
*/
|
@GetMapping("/add2")
|
public String add2()
|
{
|
return prefix + "/add2";
|
}
|
|
/**
|
* 新增保存区域管理
|
*/
|
@RequiresPermissions("station:areaManagement:add")
|
@Log(title = "区域管理", businessType = BusinessType.INSERT)
|
@PostMapping("/add")
|
@ResponseBody
|
public AjaxResult addSave(MjAreaManagement mjAreaManagement)
|
{
|
if(!StringUtils.isNotEmpty(mjAreaManagement.getAreaParentId())){
|
mjAreaManagement.setAreaParentId("0");
|
}
|
String areaName = mjAreaManagement.getAreaName();
|
String[] split = areaName.split(",");
|
for(String s:split){
|
mjAreaManagement.setAreaName(s);
|
mjAreaManagementService.insertMjAreaManagement(mjAreaManagement);
|
}
|
return toAjax(true);
|
}
|
|
/**
|
* 修改区域管理
|
*/
|
@GetMapping("/edit/{id}")
|
public String edit(@PathVariable("id") String id, ModelMap mmap)
|
{
|
MjAreaManagement mjAreaManagement = mjAreaManagementService.selectMjAreaManagementById(id);
|
mmap.put("mjAreaManagement", mjAreaManagement);
|
return prefix + "/edit";
|
}
|
|
/**
|
* 修改保存区域管理
|
*/
|
@RequiresPermissions("station:areaManagement:edit")
|
@Log(title = "区域管理", businessType = BusinessType.UPDATE)
|
@PostMapping("/edit")
|
@ResponseBody
|
public AjaxResult editSave(MjAreaManagement mjAreaManagement)
|
{
|
return toAjax(mjAreaManagementService.updateMjAreaManagement(mjAreaManagement));
|
}
|
|
/**
|
* 删除区域管理
|
*/
|
@RequiresPermissions("station:areaManagement:remove")
|
@Log(title = "区域管理", businessType = BusinessType.DELETE)
|
@PostMapping( "/remove")
|
@ResponseBody
|
public AjaxResult remove(String ids)
|
{
|
return toAjax(mjAreaManagementService.deleteMjAreaManagementByIds(ids));
|
}
|
|
/**
|
* 删除区域管理
|
*/
|
@RequiresPermissions("station:areaManagement:remove")
|
@Log(title = "区域管理", businessType = BusinessType.DELETE)
|
@PostMapping( "/removeArea")
|
@ResponseBody
|
public AjaxResult removeArea(String id)
|
{
|
return toAjax(mjAreaManagementService.deleteMjAreaManagementById(id));
|
}
|
|
@GetMapping("/addDoor")
|
public String addDoor()
|
{
|
return prefix + "/addDoor";
|
}
|
|
@GetMapping("/showDoor")
|
public String showDoor()
|
{
|
return prefix + "/showDoor";
|
}
|
|
@GetMapping("/editDoor/{id}")
|
public String editDoor(@PathVariable("id") String id, ModelMap mmap)
|
{
|
MjDoor mjDoor = iMjDoorService.selectMjDoorById(id);
|
|
MjFingerprintReadHead mjFingerprintReadHead = new MjFingerprintReadHead();
|
mjFingerprintReadHead.setDoorId(mjDoor.getId());
|
List<MjFingerprintReadHead> mjFingerprintReadHeads = iMjFingerprintReadHeadService.selectMjFingerprintReadHeadList(mjFingerprintReadHead);
|
for(MjFingerprintReadHead mjFingerprintReadHead1: mjFingerprintReadHeads){
|
if(mjFingerprintReadHead1.getDirection()==0){
|
mjDoor.setIp1(mjFingerprintReadHead1.getIpOrOther());
|
}else{
|
mjDoor.setIp2(mjFingerprintReadHead1.getIpOrOther());
|
}
|
}
|
mmap.put("mjDoor", mjDoor);
|
return prefix + "/editDoor";
|
}
|
|
/**
|
* 根据一级区域名称获取二级区域
|
* @param name
|
* @return
|
*/
|
@PostMapping( "/findByName")
|
@ResponseBody
|
public Object findByName(String name)
|
{
|
MjAreaManagement mjAreaManagement = new MjAreaManagement();
|
mjAreaManagement.setAreaName(name);
|
mjAreaManagement.setDelFlag(0);
|
mjAreaManagement.setAreaParentId("0");
|
List<MjAreaManagement> mjAreaManagements = mjAreaManagementService.selectMjAreaManagementList(mjAreaManagement);
|
if(mjAreaManagements.size()>0){
|
MjAreaManagement mjAreaManagement2 = new MjAreaManagement();
|
mjAreaManagement2.setDelFlag(0);
|
mjAreaManagement2.setAreaParentId(mjAreaManagements.get(0).getId());
|
List<MjAreaManagement> mjAreaManagements2 = mjAreaManagementService.selectMjAreaManagementList(mjAreaManagement2);
|
return mjAreaManagements2;
|
}
|
return null;
|
}
|
|
@PostMapping("/list2")
|
@ResponseBody
|
public Object list2(MjAreaManagement mjAreaManagement)
|
{
|
List<MjDoor> list3 = new ArrayList<>();
|
mjAreaManagement.setDelFlag(0);
|
List<MjAreaManagement> list = mjAreaManagementService.selectMjAreaManagementList(mjAreaManagement);
|
for(MjAreaManagement areaManagement:list){
|
List<MjDoor> mjDoors = iMjDoorService.selectDoorsByAreaId(areaManagement.getId());
|
list3.addAll(mjDoors);
|
}
|
List<MjDoor> mjDoors = iMjDoorService.selectDoorsByAreaId(mjAreaManagement.getAreaParentId());
|
if(mjDoors.size()>0){
|
list3.addAll(mjDoors);
|
}
|
return list3;
|
}
|
|
@PostMapping("/openDoor")
|
@ResponseBody
|
public Object openDoor(String id,Integer type)
|
{
|
MjDoor door = iMjDoorService.selectMjDoorById(id);
|
if(door!=null){
|
MjOpenHnwe openHnwe = new MjOpenHnwe();
|
openHnwe.setId(IdUtils.fastSimpleUUID());
|
openHnwe.setHnweId(door.getHnweId());
|
openHnwe.setHnweIp(door.getHnweIp());
|
openHnwe.setDoorControlId(type.toString());
|
openHnweService.insertMjOpenHnwe(openHnwe);
|
}
|
return toAjax(true);
|
}
|
|
@PostMapping("/closeDoor")
|
@ResponseBody
|
public Object closeDoor(String id)
|
{
|
MjDoor door = iMjDoorService.selectMjDoorById(id);
|
if(door!=null){
|
MjOpenHnwe openHnwe = new MjOpenHnwe();
|
openHnwe.setId(IdUtils.fastSimpleUUID());
|
openHnwe.setHnweId(door.getHnweId());
|
openHnwe.setHnweIp(door.getHnweIp());
|
openHnwe.setDelFlag(1);
|
openHnweService.insertMjOpenHnwe(openHnwe);
|
}
|
return toAjax(true);
|
}
|
|
@PostMapping("/openDoor2")
|
@ResponseBody
|
public Object openDoor2(String id,Integer type)
|
{
|
List<MjDoor> list3 = new ArrayList<>();
|
MjAreaManagement mjAreaManagement = new MjAreaManagement();
|
mjAreaManagement.setAreaParentId(id);
|
mjAreaManagement.setDelFlag(0);
|
List<MjAreaManagement> mjAreaManagements = mjAreaManagementService.selectMjAreaManagementList(mjAreaManagement);
|
for(MjAreaManagement area:mjAreaManagements){
|
if(area.getAreaName().equals("发电机层")){
|
continue;
|
}
|
mjAreaManagement.setAreaParentId(area.getId());
|
List<MjAreaManagement> list = mjAreaManagementService.selectMjAreaManagementList(mjAreaManagement);
|
for(MjAreaManagement areaManagement:list){
|
List<MjDoor> mjDoors = iMjDoorService.selectDoorsByAreaId(areaManagement.getId());
|
list3.addAll(mjDoors);
|
}
|
List<MjDoor> mjDoors = iMjDoorService.selectDoorsByAreaId(mjAreaManagement.getAreaParentId());
|
if(mjDoors.size()>0){
|
list3.addAll(mjDoors);
|
}
|
}
|
List<MjDoor> mjDoors = iMjDoorService.selectDoorsByAreaId(id);
|
if(mjDoors.size()>0){
|
list3.addAll(mjDoors);
|
}
|
|
int i=0;
|
for(MjDoor doors:list3){
|
MjDoor door = iMjDoorService.selectMjDoorById(doors.getId());
|
if(door!=null){
|
if(StringUtils.isEmpty(door.getHnweId())){
|
continue;
|
}
|
if(i>5){
|
try {
|
Thread.currentThread().sleep(1000);
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
}
|
i=0;
|
}
|
MjOpenHnwe openHnwe = new MjOpenHnwe();
|
openHnwe.setId(IdUtils.fastSimpleUUID());
|
openHnwe.setHnweId(door.getHnweId());
|
openHnwe.setHnweIp(door.getHnweIp());
|
openHnwe.setDoorControlId(type.toString());
|
openHnweService.insertMjOpenHnwe(openHnwe);
|
i++;
|
|
}
|
}
|
return toAjax(true);
|
}
|
|
@PostMapping("/closeDoor2")
|
@ResponseBody
|
public Object closeDoor2(String id)
|
{
|
List<MjDoor> list3 = new ArrayList<>();
|
MjAreaManagement mjAreaManagement = new MjAreaManagement();
|
mjAreaManagement.setAreaParentId(id);
|
mjAreaManagement.setDelFlag(0);
|
List<MjAreaManagement> mjAreaManagements = mjAreaManagementService.selectMjAreaManagementList(mjAreaManagement);
|
for(MjAreaManagement area:mjAreaManagements){
|
if(area.getAreaName().equals("发电机层")){
|
continue;
|
}
|
mjAreaManagement.setAreaParentId(area.getId());
|
List<MjAreaManagement> list = mjAreaManagementService.selectMjAreaManagementList(mjAreaManagement);
|
for(MjAreaManagement areaManagement:list){
|
List<MjDoor> mjDoors = iMjDoorService.selectDoorsByAreaId(areaManagement.getId());
|
list3.addAll(mjDoors);
|
}
|
List<MjDoor> mjDoors = iMjDoorService.selectDoorsByAreaId(mjAreaManagement.getAreaParentId());
|
if(mjDoors.size()>0){
|
list3.addAll(mjDoors);
|
}
|
}
|
List<MjDoor> mjDoors = iMjDoorService.selectDoorsByAreaId(id);
|
if(mjDoors.size()>0){
|
list3.addAll(mjDoors);
|
}
|
|
int i=0;
|
for(MjDoor doors:list3){
|
MjDoor door = iMjDoorService.selectMjDoorById(doors.getId());
|
if(door!=null){
|
if(StringUtils.isEmpty(door.getHnweId())){
|
continue;
|
}
|
if(i>5){
|
try {
|
Thread.currentThread().sleep(1000);
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
}
|
i=0;
|
}
|
MjOpenHnwe openHnwe = new MjOpenHnwe();
|
openHnwe.setId(IdUtils.fastSimpleUUID());
|
openHnwe.setHnweId(door.getHnweId());
|
openHnwe.setHnweIp(door.getHnweIp());
|
openHnwe.setDelFlag(1);
|
openHnweService.insertMjOpenHnwe(openHnwe);
|
i++;
|
}
|
}
|
|
return toAjax(true);
|
}
|
}
|