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 list = mjDoorService.selectMjDoorList(mjDoor); for(MjDoor mjDoor1:list){ MjFingerprintReadHead mjFingerprintReadHead = new MjFingerprintReadHead(); mjFingerprintReadHead.setDoorId(mjDoor1.getId()); List 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 list = mjDoorService.selectMjDoorList(mjDoor); ExcelUtil util = new ExcelUtil(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 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 selectDoorsByAreaId(String areaId) { List 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 map = new HashMap(); map.put("countSum",countSum); return map; } }