DeviceController.java 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. package com.huaxu.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.baomidou.mybatisplus.core.metadata.OrderItem;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.huaxu.dto.DeviceDto;
  6. import com.huaxu.entity.DeviceEntity;
  7. import com.huaxu.entity.SceneEntity;
  8. import com.huaxu.logAdvice.LogAnnotation;
  9. import com.huaxu.model.AjaxMessage;
  10. import com.huaxu.model.Pagination;
  11. import com.huaxu.model.ResultStatus;
  12. import com.huaxu.service.DeviceService;
  13. import com.huaxu.service.SceneService;
  14. import com.huaxu.util.OrgInfoUtil;
  15. import io.swagger.annotations.Api;
  16. import io.swagger.annotations.ApiOperation;
  17. import io.swagger.annotations.ApiParam;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.web.bind.annotation.*;
  20. import java.util.ArrayList;
  21. import java.util.List;
  22. /**
  23. * @description
  24. * @auto wangli
  25. * @data 2020-11-16 11:05
  26. */
  27. @RestController
  28. @RequestMapping("/device")
  29. @Api(tags = "设备信息管理")
  30. public class DeviceController {
  31. @Autowired
  32. private DeviceService deviceService;
  33. @Autowired
  34. private OrgInfoUtil orgInfoUtil;
  35. @Autowired
  36. private SceneService sceneService;
  37. @RequestMapping(value="get" , method = RequestMethod.GET)
  38. @ApiOperation(value = "查询单个设备信息")
  39. public AjaxMessage<DeviceDto> get( @ApiParam(value = "设备信息id") @RequestParam Long id){
  40. return new AjaxMessage<>(ResultStatus.OK, deviceService.selectById(id));
  41. }
  42. @RequestMapping(value="selectPage" , method = RequestMethod.GET)
  43. @ApiOperation(value = "分页查询设备信息")
  44. public AjaxMessage<Pagination<DeviceDto>> selectPage(
  45. @ApiParam(value = "设备编号/名称") @RequestParam(required = false) String condition,
  46. @ApiParam(value = "所属公司") @RequestParam(required = false) Integer companyOrgId,
  47. @ApiParam(value = "所属部门") @RequestParam(required = false) Integer deptOrgId,
  48. @ApiParam(value = "所属场景id") @RequestParam(required = false) Long sceneId,
  49. @ApiParam(value = "设备状态") @RequestParam(required = false) Integer enableState,
  50. @ApiParam(value = "页数,非必传,默认第一页", defaultValue = "1") @RequestParam(required = false, defaultValue = "1") Integer pageNum,
  51. @ApiParam(value = "条数,非必传,默认10条", defaultValue = "10") @RequestParam(required = false, defaultValue = "10") Integer pageSize
  52. ){
  53. DeviceDto deviceDto = new DeviceDto();
  54. deviceDto.setCondition(condition);
  55. deviceDto.setCompanyOrgId(companyOrgId);
  56. deviceDto.setDeptOrgId(deptOrgId);
  57. deviceDto.setSceneId(sceneId.intValue());
  58. deviceDto.setEnableState(enableState);
  59. IPage<DeviceDto> iPage = new Page<>(pageNum, pageSize);
  60. if(iPage.orders().size() == 0){
  61. OrderItem orderItem =new OrderItem();
  62. orderItem.setAsc(false);
  63. orderItem.setColumn("d.date_create");
  64. iPage.orders().add(orderItem);
  65. }
  66. iPage = deviceService.selectPage(iPage,deviceDto);
  67. Pagination<DeviceDto> pages = new Pagination<>(iPage);
  68. for(DeviceDto device : pages.getList()){
  69. device.setCompanyOrgName(orgInfoUtil.getOrgName(device.getCompanyOrgId()));
  70. device.setDeptOrgName(orgInfoUtil.getOrgName(device.getDeptOrgId()));
  71. }
  72. return new AjaxMessage<>(ResultStatus.OK, pages);
  73. }
  74. @RequestMapping(value="selectList" , method = RequestMethod.GET)
  75. @ApiOperation(value = "查询设备信息")
  76. public AjaxMessage<List<DeviceDto>> selectList(
  77. @ApiParam(value = "设备编号/名称") @RequestParam(required = false) String condition,
  78. @ApiParam(value = "所属公司") @RequestParam(required = false) Integer companyOrgId,
  79. @ApiParam(value = "所属部门") @RequestParam(required = false) Integer deptOrgId,
  80. @ApiParam(value = "所属场景id") @RequestParam(required = false) Long sceneId,
  81. @ApiParam(value = "场景查询范围:1 不查询子级;0 查询子级", defaultValue = "0") @RequestParam(required = false,defaultValue = "0") Integer searchType,
  82. @ApiParam(value = "设备状态") @RequestParam(required = false) Integer enableState
  83. ){
  84. DeviceDto deviceDto = new DeviceDto();
  85. deviceDto.setCondition(condition);
  86. deviceDto.setCompanyOrgId(companyOrgId);
  87. deviceDto.setDeptOrgId(deptOrgId);
  88. deviceDto.setSceneId(sceneId.intValue());
  89. deviceDto.setEnableState(enableState);
  90. return new AjaxMessage<>(ResultStatus.OK, deviceService.selectList(deviceDto));
  91. }
  92. @RequestMapping(value="selectListByScene" , method = RequestMethod.GET)
  93. @ApiOperation(value = "按场景查询设备信息(场景绑定设备信息)")
  94. public AjaxMessage<List<DeviceDto>> selectListByScene(
  95. @ApiParam(value = "设备编号/名称") @RequestParam(required = false) String condition,
  96. @ApiParam(value = "所属公司") @RequestParam(required = false) Integer companyOrgId,
  97. @ApiParam(value = "所属部门") @RequestParam(required = false) Integer deptOrgId,
  98. @ApiParam(value = "所属场景id",required = true) @RequestParam(required = true) Long sceneId
  99. ){
  100. DeviceDto deviceDto = new DeviceDto();
  101. deviceDto.setCondition(condition);
  102. deviceDto.setCompanyOrgId(companyOrgId);
  103. deviceDto.setDeptOrgId(deptOrgId);
  104. deviceDto.setEnableState(1);
  105. deviceDto.setSceneId(sceneId.intValue());
  106. List<DeviceDto> deviceDtos = new ArrayList<>();
  107. deviceDtos = deviceService.selectListByScene(deviceDto);
  108. //按场景ID,查询一级场景ID
  109. SceneEntity sceneEntity = sceneService.findParentSceneById(sceneId);
  110. for(DeviceDto item: deviceDtos)
  111. {
  112. item.setSceneId(sceneId.intValue());
  113. item.setParentSceneId(sceneEntity.getParentSceneId().intValue());
  114. }
  115. return new AjaxMessage<>(ResultStatus.OK, deviceDtos);
  116. }
  117. @RequestMapping(value="add" , method = RequestMethod.POST)
  118. @ApiOperation(value = "新增设备信息")
  119. @LogAnnotation(module = "【设备管理】新增")
  120. public AjaxMessage<Integer> add( @ApiParam(value = "设备信息") @RequestBody DeviceEntity deviceEntity){
  121. return new AjaxMessage<>(ResultStatus.OK, deviceService.add(deviceEntity));
  122. }
  123. @RequestMapping(value="edit" , method = RequestMethod.POST)
  124. @ApiOperation(value = "修改设备信息")
  125. @LogAnnotation(module = "【设备管理】修改")
  126. public AjaxMessage<Integer> edit( @ApiParam(value = "设备信息") @RequestBody DeviceEntity deviceEntity){
  127. return new AjaxMessage<>(ResultStatus.OK, deviceService.update(deviceEntity));
  128. }
  129. @RequestMapping(value="delete" , method = RequestMethod.DELETE)
  130. @ApiOperation(value = "单个删除设备信息")
  131. @LogAnnotation(module = "【设备管理】删除")
  132. public AjaxMessage<Integer> delete( @ApiParam(value = "设备信息id") @RequestParam Long id){
  133. return new AjaxMessage<>(ResultStatus.OK, deviceService.delete(id));
  134. }
  135. @RequestMapping(value="batchDelete" , method = RequestMethod.DELETE)
  136. @ApiOperation(value = "批量删除设备信息")
  137. @LogAnnotation(module = "【设备管理】批量删除")
  138. public AjaxMessage<Integer> batchDelete( @ApiParam(value = "设备信息id") @RequestParam List<Long> ids){
  139. return new AjaxMessage<>(ResultStatus.OK, deviceService.batchDelete(ids));
  140. }
  141. }