| | |
| | | */ |
| | | @GetMapping("/list") |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "列表-不带分页", notes = "传入filterSelected或sceneId") |
| | | @ApiOperation(value = "列表-不带分页", notes = "传入filterSelected或sceneId或areaTypeKeys") |
| | | public R<List<FwAreaDivideVO>> list( |
| | | @ApiParam(value = "是否过滤已被选择的数据(1过滤 0不过滤)") @RequestParam(required = false) Integer filterSelected, |
| | | @ApiParam(value = "场景id") @RequestParam(required = false) Long sceneId) { |
| | | List<FwAreaDivideVO> list = fwAreaDivideService.selectFwAreaDivideList(filterSelected, sceneId); |
| | | @ApiParam(value = "场景id") @RequestParam(required = false) Long sceneId, |
| | | @ApiParam(value = "区域类型key集合(逗号分隔)") @RequestParam(required = false) String areaTypeKeys) { |
| | | List<FwAreaDivideVO> list = fwAreaDivideService.selectFwAreaDivideList(filterSelected, sceneId, areaTypeKeys); |
| | | return R.data(list); |
| | | } |
| | | |
| | |
| | | */ |
| | | @ApiModelProperty(value = "区域编码") |
| | | private String areaCode; |
| | | /** |
| | | * 区域类型key集合(逗号分隔) |
| | | */ |
| | | @ApiModelProperty(value = "区域类型key集合(逗号分隔)") |
| | | private String areaTypeKeys; |
| | | |
| | | @ApiModelProperty(value = "区域类型key集合", hidden = true) |
| | | private List<String> areaTypeKeyList; |
| | | |
| | | @ApiModelProperty(value = "部门集合",hidden = true) |
| | | private List<Long> deptList; |
| | |
| | | area_divide_id, |
| | | area_type_key, |
| | | area_type_value, |
| | | geom_json, |
| | | area_code, |
| | | create_user, |
| | | create_dept, |
| | |
| | | * @param sceneId |
| | | * @return |
| | | */ |
| | | List<FwAreaDivideVO> selectFwAreaDivideList(@Param("filterSelected") Integer filterSelected, @Param("sceneId") Long sceneId); |
| | | List<FwAreaDivideVO> selectFwAreaDivideList(@Param("filterSelected") Integer filterSelected, |
| | | @Param("sceneId") Long sceneId, |
| | | @Param("areaTypeKeyList") List<String> areaTypeKeyList); |
| | | |
| | | /** |
| | | * 根据设备ID获取区域 |
| | |
| | | <if test="param2.areaCode != null and param2.areaCode != ''"> |
| | | and ad.area_code = #{param2.areaCode} |
| | | </if> |
| | | <if test="param2.areaTypeKeyList != null and param2.areaTypeKeyList.size > 0"> |
| | | and ( |
| | | <foreach collection="param2.areaTypeKeyList" item="key" separator=" or "> |
| | | find_in_set(#{key}, ad.area_type_keys) |
| | | </foreach> |
| | | ) |
| | | </if> |
| | | <if test="param2.deptList != null and param2.deptList.size > 0"> |
| | | and ad.create_dept in |
| | | <foreach collection="param2.deptList" item="deptId" open="(" separator="," close=")"> |
| | |
| | | and find_in_set(ad.id, replace(ds.area_divide_ids, ' ', '')) |
| | | ) |
| | | </if> |
| | | <if test="areaTypeKeyList != null and areaTypeKeyList.size > 0"> |
| | | and ( |
| | | <foreach collection="areaTypeKeyList" item="key" separator=" or "> |
| | | find_in_set(#{key}, ad.area_type_keys) |
| | | </foreach> |
| | | ) |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | |
| | | * @param sceneId |
| | | * @return |
| | | */ |
| | | List<FwAreaDivideVO> selectFwAreaDivideList(Integer filterSelected, Long sceneId); |
| | | List<FwAreaDivideVO> selectFwAreaDivideList(Integer filterSelected, Long sceneId, String areaTypeKeys); |
| | | |
| | | /** |
| | | * 根据设备ID获取关联场景名称 |
| | |
| | | public IPage<FwAreaDivideVO> selectFwAreaDividePage(IPage<FwAreaDivideVO> page, FwAreaDivideDTO fwAreaDivide) { |
| | | List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | fwAreaDivide.setDeptList(deptList); |
| | | fwAreaDivide.setAreaTypeKeyList(parseAreaTypeKeyList(fwAreaDivide.getAreaTypeKeys())); |
| | | |
| | | List<FwAreaDivideVO> areaDivideList = baseMapper.selectFwAreaDividePage(page, fwAreaDivide); |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<FwAreaDivideVO> selectFwAreaDivideList(Integer filterSelected, Long sceneId) { |
| | | List<FwAreaDivideVO> areaDivideList = baseMapper.selectFwAreaDivideList(filterSelected, sceneId); |
| | | public List<FwAreaDivideVO> selectFwAreaDivideList(Integer filterSelected, Long sceneId, String areaTypeKeys) { |
| | | List<String> areaTypeKeyList = parseAreaTypeKeyList(areaTypeKeys); |
| | | List<FwAreaDivideVO> areaDivideList = baseMapper.selectFwAreaDivideList(filterSelected, sceneId, areaTypeKeyList); |
| | | // 获取面数据 |
| | | if (areaDivideList != null && !areaDivideList.isEmpty()) { |
| | | enrichWithExtensionData(areaDivideList); |
| | |
| | | return String.join(",", keySet); |
| | | } |
| | | |
| | | private List<String> parseAreaTypeKeyList(String areaTypeKeys) { |
| | | if (StringUtil.isBlank(areaTypeKeys)) { |
| | | return null; |
| | | } |
| | | String[] keyArray = areaTypeKeys.split(","); |
| | | Set<String> keySet = new LinkedHashSet<>(); |
| | | for (String item : keyArray) { |
| | | if (item == null) { |
| | | continue; |
| | | } |
| | | String value = item.trim(); |
| | | if (StringUtil.isNotBlank(value)) { |
| | | keySet.add(value); |
| | | } |
| | | } |
| | | if (keySet.isEmpty()) { |
| | | return null; |
| | | } |
| | | return new ArrayList<>(keySet); |
| | | } |
| | | |
| | | private List<Long> parseIdList(String ids) { |
| | | if (StringUtil.isBlank(ids)) { |
| | | return new ArrayList<>(); |
| | |
| | | @Override |
| | | @Transactional |
| | | public boolean saveFwDeviceScrap(FwDeviceScrapDTO dto) { |
| | | // 先保存报废记录,成功后再处理设备状态与逻辑删除 |
| | | boolean isSuccess = super.save(FwDeviceScrapWrapper.build().entityDTO(dto)); |
| | | if (isSuccess) { |
| | | FwDeviceEntity fwDevice = new FwDeviceEntity(); |
| | | fwDevice.setId(dto.getDeviceId()); |
| | | fwDevice.setStatus(3); |
| | | // 更新设备状态并做逻辑删除,保持报废与设备状态一致 |
| | | isSuccess = fwDeviceService.updateById(fwDevice) && fwDeviceService.deleteLogic(Collections.singletonList(fwDevice.getId())); |
| | | } |
| | | return isSuccess; |
| | |
| | | |
| | | @Override |
| | | public IPage<FwDeviceScrapVO> selectFwDeviceScrapPage(IPage<FwDeviceScrapVO> page, FwDeviceScrapDTO fwDeviceScrap) { |
| | | // 按当前部门及下级部门范围过滤数据 |
| | | List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | fwDeviceScrap.setDeptList(deptList); |
| | | return page.setRecords(baseMapper.selectFwDeviceScrapPage(page, fwDeviceScrap)); |
| | |
| | | |
| | | @Override |
| | | public IPage<FwDeviceTrackEntity> selectFwDeviceTrackPage(IPage<FwDeviceTrackEntity> page, FwDeviceTrackDTO fwDeviceTrack) { |
| | | // 分页查询直接透传到 Mapper |
| | | return page.setRecords(baseMapper.selectFwDeviceTrackPage(page, fwDeviceTrack)); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<FwDeviceTrackExcel> exportFwDeviceTrack(Wrapper<FwDeviceTrackEntity> queryWrapper) { |
| | | // 导出不做额外转换,保持与导出字段一致 |
| | | List<FwDeviceTrackExcel> fwDeviceTrackList = baseMapper.exportFwDeviceTrack(queryWrapper); |
| | | //fwDeviceTrackList.forEach(fwDeviceTrack -> { |
| | | // fwDeviceTrack.setTypeName(DictCache.getValue(DictEnum.YES_NO, FwDeviceTrack.getType())); |