package com.ruoyi.web.controller.station;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.station.domain.MjFingerprintReadHead;
|
import com.ruoyi.station.service.IMjFingerprintReadHeadService;
|
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.MjDoor;
|
import com.ruoyi.station.service.IMjDoorService;
|
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/door")
|
public class MjDoorController extends BaseController
|
{
|
private String prefix = "station/door";
|
|
@Autowired
|
private IMjDoorService mjDoorService;
|
@Autowired
|
private IMjFingerprintReadHeadService iMjFingerprintReadHeadService;
|
|
@RequiresPermissions("station:door:view")
|
@GetMapping()
|
public String door()
|
{
|
return prefix + "/door";
|
}
|
|
/**
|
* 查询门禁控制器列表
|
*/
|
@RequiresPermissions("station:door:list")
|
@PostMapping("/list")
|
@ResponseBody
|
public TableDataInfo list(MjDoor mjDoor)
|
{
|
startPage();
|
List<MjDoor> list = mjDoorService.selectMjDoorList(mjDoor);
|
for(MjDoor mjDoor1:list){
|
MjFingerprintReadHead mjFingerprintReadHead = new MjFingerprintReadHead();
|
mjFingerprintReadHead.setDoorId(mjDoor1.getId());
|
List<MjFingerprintReadHead> mjFingerprintReadHeads = iMjFingerprintReadHeadService.selectMjFingerprintReadHeadList(mjFingerprintReadHead);
|
for(MjFingerprintReadHead mjFingerprintReadHead1: mjFingerprintReadHeads){
|
if(mjFingerprintReadHead1.getDirection()==0){
|
mjDoor1.setIp1(mjFingerprintReadHead1.getIpOrOther());
|
}else{
|
mjDoor1.setIp2(mjFingerprintReadHead1.getIpOrOther());
|
}
|
}
|
}
|
return getDataTable(list);
|
}
|
|
/**
|
* 导出门禁控制器列表
|
*/
|
@RequiresPermissions("station:door:export")
|
@Log(title = "门禁控制器", businessType = BusinessType.EXPORT)
|
@PostMapping("/export")
|
@ResponseBody
|
public AjaxResult export(MjDoor mjDoor)
|
{
|
List<MjDoor> list = mjDoorService.selectMjDoorList(mjDoor);
|
ExcelUtil<MjDoor> util = new ExcelUtil<MjDoor>(MjDoor.class);
|
return util.exportExcel(list, "door");
|
}
|
|
/**
|
* 新增门禁控制器
|
*/
|
@GetMapping("/add")
|
public String add()
|
{
|
return prefix + "/add";
|
}
|
|
/**
|
* 新增保存门禁控制器
|
*/
|
@RequiresPermissions("station:door:add")
|
@Log(title = "门禁控制器", businessType = BusinessType.INSERT)
|
@PostMapping("/add")
|
@ResponseBody
|
public AjaxResult addSave(MjDoor mjDoor,String ipOrOther, String port,String ipOrOther2, String port2 )
|
{
|
mjDoorService.insertMjDoor(mjDoor);
|
if(StringUtils.isNotEmpty(ipOrOther)){
|
MjFingerprintReadHead m = new MjFingerprintReadHead();
|
m.setAreaId(mjDoor.getAreaId());
|
m.setAreaName(mjDoor.getAreaName());
|
m.setDoorId(mjDoor.getId());
|
m.setDoorName(mjDoor.getDoorName());
|
m.setDirection(0);
|
m.setIpOrOther(ipOrOther);
|
m.setPort(port);
|
iMjFingerprintReadHeadService.insertMjFingerprintReadHead(m);
|
}
|
if(StringUtils.isNotEmpty(ipOrOther2)){
|
MjFingerprintReadHead m = new MjFingerprintReadHead();
|
m.setAreaId(mjDoor.getAreaId());
|
m.setAreaName(mjDoor.getAreaName());
|
m.setDoorId(mjDoor.getId());
|
m.setDoorName(mjDoor.getDoorName());
|
m.setDirection(1);
|
m.setIpOrOther(ipOrOther2);
|
m.setPort(port2);
|
iMjFingerprintReadHeadService.insertMjFingerprintReadHead(m);
|
}
|
return toAjax(true);
|
}
|
|
/**
|
* 修改门禁控制器
|
*/
|
@GetMapping("/edit/{id}")
|
public String edit(@PathVariable("id") String id, ModelMap mmap)
|
{
|
MjDoor mjDoor = mjDoorService.selectMjDoorById(id);
|
mmap.put("mjDoor", mjDoor);
|
return prefix + "/edit";
|
}
|
|
/**
|
* 修改保存门禁控制器
|
*/
|
@RequiresPermissions("station:door:edit")
|
@Log(title = "门禁控制器", businessType = BusinessType.UPDATE)
|
@PostMapping("/edit")
|
@ResponseBody
|
public AjaxResult editSave(MjDoor mjDoor,String ip1, String port,String ip2, String port2)
|
{
|
MjFingerprintReadHead mjFingerprintReadHead = new MjFingerprintReadHead();
|
mjFingerprintReadHead.setDoorId(mjDoor.getId());
|
List<MjFingerprintReadHead> mjFingerprintReadHeads = iMjFingerprintReadHeadService.selectMjFingerprintReadHeadList(mjFingerprintReadHead);
|
for(MjFingerprintReadHead mjFingerprintReadHead1:mjFingerprintReadHeads){
|
if(mjFingerprintReadHead1.getDirection()==0){
|
if(!ip1.equals(mjFingerprintReadHead1.getIpOrOther())){
|
mjFingerprintReadHead1.setIpOrOther(ip1);
|
iMjFingerprintReadHeadService.updateMjFingerprintReadHead(mjFingerprintReadHead1);
|
}
|
}else{
|
if(!ip2.equals(mjFingerprintReadHead1.getIpOrOther())){
|
mjFingerprintReadHead1.setIpOrOther(ip2);
|
iMjFingerprintReadHeadService.updateMjFingerprintReadHead(mjFingerprintReadHead1);
|
}
|
}
|
}
|
return toAjax(mjDoorService.updateMjDoor(mjDoor));
|
}
|
|
/**
|
* 删除门禁控制器
|
*/
|
@RequiresPermissions("station:door:remove")
|
@Log(title = "门禁控制器", businessType = BusinessType.DELETE)
|
@PostMapping( "/remove")
|
@ResponseBody
|
public AjaxResult remove(String ids)
|
{
|
return toAjax(mjDoorService.deleteMjDoorByIds(ids));
|
}
|
|
/**
|
* 查询区域下的门禁控制器列表
|
*/
|
//@RequiresPermissions("station:door:list")
|
@PostMapping("/selectDoorsByAreaId")
|
@ResponseBody
|
public List<MjDoor> selectDoorsByAreaId(String areaId)
|
{
|
List<MjDoor> list = mjDoorService.selectDoorsByAreaId(areaId);
|
return list;
|
}
|
|
/**
|
* 通过id查询门禁控制器
|
*/
|
@PostMapping("/selectDoorById")
|
@ResponseBody
|
public MjDoor selectDoorById(String mjDoorId)
|
{
|
MjDoor mjDoor = mjDoorService.selectMjDoorById(mjDoorId);
|
return mjDoor;
|
}
|
|
/**
|
* 新增门禁控制器
|
*/
|
@GetMapping("/area")
|
public String area()
|
{
|
return prefix + "/area";
|
}
|
|
@GetMapping("/editDoor")
|
public String editDoor()
|
{
|
return prefix + "/editDoor";
|
}
|
|
@PostMapping("/countSum")
|
@ResponseBody
|
public Object countSum()
|
{
|
int countSum = mjDoorService.countSum();
|
Map<String,Object> map = new HashMap<String,Object>();
|
map.put("countSum",countSum);
|
return map;
|
}
|
}
|