| | |
| | | import org.springblade.core.tool.constant.BladeConstant; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.sxkj.fw.cockpit.vo.DeviceStatisticsVO; |
| | | import org.sxkj.fw.common.GenericConverter; |
| | | import org.sxkj.fw.common.IdParam; |
| | | import org.sxkj.fw.device.dto.FwDeviceDTO; |
| | |
| | | import org.sxkj.fw.device.excel.FwDeviceExcel; |
| | | import org.sxkj.fw.device.param.FwDevicePageParam; |
| | | import org.sxkj.fw.device.service.IFwDeviceService; |
| | | import org.sxkj.fw.device.vo.DeviceTypeStatisticsVO; |
| | | import org.sxkj.fw.device.vo.FwDeviceVO; |
| | | import org.sxkj.fw.device.wrapper.FwDeviceWrapper; |
| | | import springfox.documentation.annotations.ApiIgnore; |
| | |
| | | import javax.validation.Valid; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 设备表 控制器 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 设备表 列表 |
| | | */ |
| | | @GetMapping("/list") |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "列表", notes = "传入isAreaSelect和区域id") |
| | | public R<List<FwDeviceVO>> list(@RequestParam(value = "isAreaSelect", required = false) Integer isAreaSelect, |
| | | @RequestParam(value = "areaId", required = false) Long areaId) { |
| | | List<FwDeviceEntity> list = fwDeviceService.selectFwDeviceList(isAreaSelect, areaId); |
| | | FwDeviceWrapper wrapper = FwDeviceWrapper.build(); |
| | | return R.data(list.stream().map(wrapper::entityVO).collect(Collectors.toList())); |
| | | } |
| | | |
| | | /** |
| | | * 设备表 自定义分页 |
| | | */ |
| | | @GetMapping("/page") |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperationSupport(order = 3) |
| | | @ApiOperation(value = "分页", notes = "传入fwDevice") |
| | | public R<IPage<FwDeviceVO>> page(FwDevicePageParam fwDevice, Query query) { |
| | | IPage<FwDeviceEntity> pages = fwDeviceService.selectFwDevicePage(Condition.getPage(query), GenericConverter.convert(fwDevice, FwDeviceDTO.class)); |
| | | return R.data(FwDeviceWrapper.build().pageVO(pages)); |
| | | IPage<FwDeviceVO> result = FwDeviceWrapper.build().pageVO(pages); |
| | | List<FwDeviceVO> records = result.getRecords(); |
| | | if (records != null && !records.isEmpty()) { |
| | | List<Long> deviceIds = records.stream() |
| | | .map(FwDeviceVO::getId) |
| | | .filter(id -> id != null) |
| | | .collect(Collectors.toList()); |
| | | Map<Long, String> sceneNameMap = fwDeviceService.selectSceneNameByDeviceIds(deviceIds); |
| | | for (FwDeviceVO record : records) { |
| | | String sceneName = sceneNameMap.get(record.getId()); |
| | | record.setSceneName(StringUtil.isBlank(sceneName) ? "/" : sceneName); |
| | | } |
| | | } |
| | | return R.data(result); |
| | | } |
| | | |
| | | /** |
| | | * 设备表 新增或修改 |
| | | */ |
| | | @PostMapping("/submit") |
| | | @ApiOperationSupport(order = 3) |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperation(value = "新增或修改", notes = "传入fwDevice") |
| | | public R submit(@Valid @RequestBody FwDeviceDTO fwDevice) { |
| | | return R.status(fwDeviceService.saveOrUpdate(FwDeviceWrapper.build().entityDTO(fwDevice))); |
| | |
| | | * 设备表 删除 |
| | | */ |
| | | @PostMapping("/remove") |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperationSupport(order = 5) |
| | | @ApiOperation(value = "逻辑删除", notes = "传入ids") |
| | | public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { |
| | | return R.status(fwDeviceService.deleteLogic(Func.toLongList(ids))); |
| | | } |
| | | |
| | | /** |
| | | * 设备类型统计 |
| | | * @return 统计数据 |
| | | */ |
| | | @GetMapping("/statisticalDeviceType") |
| | | @ApiOperationSupport(order = 6) |
| | | @ApiOperation(value = "设备类型统计", notes = "设备类型统计") |
| | | public R<List<DeviceTypeStatisticsVO>> statisticalDeviceType() { |
| | | return R.data(fwDeviceService.getDeviceTypeStatistics()); |
| | | } |
| | | |
| | | /** |
| | | * 设备类型统计 |
| | | * @return 统计数据 |
| | | */ |
| | | @GetMapping("/statisticalDeviceOut") |
| | | @ApiOperationSupport(order = 7) |
| | | @ApiOperation(value = "设备出库去向统计", notes = "设备出库去向统计") |
| | | public R<List<DeviceStatisticsVO>> statisticalDeviceOut() { |
| | | return R.data(fwDeviceService.getDeviceOutStatistics()); |
| | | } |
| | | |
| | | /** |
| | | * 设备生产厂商统计 |
| | | * @return 统计数据 |
| | | */ |
| | | @GetMapping("/statisticalDeviceManufacturer") |
| | | @ApiOperationSupport(order = 8) |
| | | @ApiOperation(value = "设备生产厂商统计", notes = "设备生产厂商统计") |
| | | public R<List<DeviceStatisticsVO>> statisticalDeviceManufacturer() { |
| | | return R.data(fwDeviceService.getDeviceManufacturerStatistics()); |
| | | } |
| | | |
| | | /** |
| | | * 导出数据 |
| | | */ |
| | | @GetMapping("/export-fwDevice") |
| | | @ApiOperationSupport(order = 5) |
| | | @ApiOperationSupport(order = 99) |
| | | @ApiOperation(value = "导出数据", notes = "传入fwDevice") |
| | | @ApiIgnore |
| | | public void exportFwDevice(@ApiIgnore @RequestParam Map<String, Object> fwDevice, BladeUser bladeUser, HttpServletResponse response) { |