| | |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.BeanUtil; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.sxkj.fw.area.dto.FwAreaDivideDTO; |
| | | import org.sxkj.fw.area.dto.FwAreaDivideSubmitDTO; |
| | | import org.sxkj.fw.area.dto.FwAreaDivideStatisticsDTO; |
| | | import org.sxkj.fw.area.entity.FwAreaDivideEntity; |
| | | import org.sxkj.fw.area.vo.FwAreaDivideVO; |
| | | import org.sxkj.fw.area.vo.FwAreaDivideStatisticsVO; |
| | | import org.sxkj.fw.area.excel.FwAreaDivideExcel; |
| | | import org.sxkj.fw.area.service.IFwAreaDivideService; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | |
| | | import springfox.documentation.annotations.ApiIgnore; |
| | | import java.util.Map; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | /** |
| | |
| | | return R.data(detail); |
| | | } |
| | | /** |
| | | * 区域划分表 分页 |
| | | * 区域划分表 列表 |
| | | */ |
| | | // @GetMapping("/list") |
| | | // @ApiOperationSupport(order = 2) |
| | | // @ApiOperation(value = "分页", notes = "传入fwAreaDivide") |
| | | // public R<IPage<FwAreaDivideVO>> list(@ApiIgnore @RequestParam Map<String, Object> fwAreaDivide, Query query) { |
| | | // IPage<FwAreaDivideEntity> pages = fwAreaDivideService.page(Condition.getPage(query), Condition.getQueryWrapper(fwAreaDivide, FwAreaDivideEntity.class)); |
| | | // return R.data(FwAreaDivideWrapper.build().pageVO(pages)); |
| | | // } |
| | | @GetMapping("/list") |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "列表-不带分页", notes = "传入filterSelected或sceneId") |
| | | 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); |
| | | return R.data(list); |
| | | } |
| | | |
| | | /** |
| | | * 区域划分表 自定义分页 |
| | |
| | | public R<IPage<FwAreaDivideVO>> page(FwAreaDivideDTO fwAreaDivide, Query query) { |
| | | IPage<FwAreaDivideVO> pages = fwAreaDivideService.selectFwAreaDividePage(Condition.getPage(query), fwAreaDivide); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | /** |
| | | * 区域划分统计 分页 |
| | | */ |
| | | @GetMapping("/divideStatisticsPage") |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperation(value = "统计分页", notes = "传入统计条件") |
| | | public R<IPage<FwAreaDivideStatisticsVO>> divideStatisticsPage(FwAreaDivideStatisticsDTO fwAreaDivideStatistics, Query query) { |
| | | IPage<FwAreaDivideStatisticsVO> pages = fwAreaDivideService.selectFwAreaDivideStatisticsPage(Condition.getPage(query), fwAreaDivideStatistics); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | /** |
| | | * 区域划分统计 详情 |
| | | */ |
| | | @GetMapping("/statisticsDetail") |
| | | @ApiOperationSupport(order = 5) |
| | | @ApiOperation(value = "统计详情", notes = "传入id") |
| | | public R<FwAreaDivideStatisticsVO> statisticsDetail(FwAreaDivideStatisticsDTO fwAreaDivideStatistics) { |
| | | if (fwAreaDivideStatistics == null || fwAreaDivideStatistics.getId() == null) { |
| | | return R.fail("主键不能为空"); |
| | | } |
| | | FwAreaDivideStatisticsVO detail = fwAreaDivideService.selectFwAreaDivideStatisticsDetail(fwAreaDivideStatistics); |
| | | if (detail == null) { |
| | | return R.fail("数据不存在"); |
| | | } |
| | | return R.data(detail); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | /** |
| | | * 区域划分表 新增或修改 |
| | | * 说明:入参包含主表对象与扩展面列表;保存主表成功后批量写入扩展面数据 |
| | | */ |
| | | @PostMapping("/submit") |
| | | @ApiOperationSupport(order = 6) |
| | | @ApiOperation(value = "新增或修改", notes = "传入fwAreaDivide") |
| | | public R submit(@Valid @RequestBody FwAreaDivideDTO fwAreaDivide) { |
| | | FwAreaDivideEntity fwAreaDivideEntity = Objects.requireNonNull(BeanUtil.copy(fwAreaDivide, FwAreaDivideEntity.class)); |
| | | if (isGeomInvalid(fwAreaDivideEntity.getGeom())) { |
| | | return R.fail("几何数据格式不正确"); |
| | | @ApiOperation(value = "新增或修改", notes = "传入主表对象与扩展面列表") |
| | | public R submit(@Valid @RequestBody FwAreaDivideSubmitDTO fwAreaDivideSubmit) { |
| | | if (fwAreaDivideSubmit == null || fwAreaDivideSubmit.getAreaDivide() == null) { |
| | | return R.fail("区域信息不能为空"); |
| | | } |
| | | return R.status(fwAreaDivideService.saveOrUpdate(fwAreaDivideEntity)); |
| | | FwAreaDivideEntity fwAreaDivideEntity = fwAreaDivideSubmit.getAreaDivide(); |
| | | return R.status(fwAreaDivideService.saveOrUpdateWithExt(fwAreaDivideEntity, fwAreaDivideSubmit.getAreaDivideExtList())); |
| | | } |
| | | |
| | | /** |
| | |
| | | queryWrapper.lambda().eq(FwAreaDivideEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); |
| | | List<FwAreaDivideExcel> list = fwAreaDivideService.exportFwAreaDivide(queryWrapper); |
| | | ExcelUtil.export(response, "区域划分表数据" + DateUtil.time(), "区域划分表数据表", list, FwAreaDivideExcel.class); |
| | | } |
| | | |
| | | private boolean isGeomInvalid(String geom) { |
| | | if (StringUtil.isBlank(geom)) { |
| | | return false; |
| | | } |
| | | String upper = geom.trim().toUpperCase(); |
| | | return !upper.contains("POLYGON"); |
| | | } |
| | | |
| | | } |