package com.gunshi.project.xyt.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gunshi.core.result.R; import com.gunshi.project.xyt.entity.so.HomeStStbprpBSo; import com.gunshi.project.xyt.entity.so.StStbprpBPage; import com.gunshi.project.xyt.entity.so.StStbprpBSo; import com.gunshi.project.xyt.entity.vo.HomeStStbprpBVo; import com.gunshi.project.xyt.entity.vo.StStatusListVo; import com.gunshi.project.xyt.model.StStbprpB; import com.gunshi.project.xyt.service.StStbprpBService; import com.gunshi.project.xyt.validate.markers.Insert; import com.gunshi.project.xyt.validate.markers.Update; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.io.Serializable; import java.util.Date; import java.util.List; import java.util.Objects; /** * 描述: 测站基础信息表 * author: xusan * date: 2024-07-08 17:40:37 */ @Tag(name = "测站基础信息表") @RestController @RequestMapping(value="/stStbprpB") public class StStbprpBController { @Autowired private StStbprpBService service; @Operation(summary = "新增") @PostMapping("/insert") public R insert(@Validated(Insert.class) @RequestBody StStbprpB dto) { if (Objects.nonNull(service.getById(dto.getStcd()))){ throw new RuntimeException("测站编号已存在"); } dto.setModitime(new Date()); boolean result = service.save(dto); return R.ok(result ? dto : null); } @Operation(summary = "修改") @PostMapping("/update") public R update(@Validated(Update.class) @RequestBody StStbprpB dto) { if (Objects.isNull(service.getById(dto.getStcd()))){ throw new RuntimeException("当前数据不存在"); } boolean result = service.updateById(dto); return R.ok(result ? dto : null); } @Operation(summary = "删除") @GetMapping("/del/{id}") public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { if (Objects.isNull(service.getById(id))){ throw new RuntimeException("当前数据不存在"); } return R.ok(service.removeById(id)); } @Operation(summary = "列表") @PostMapping("/list") public R> list(@RequestBody StStbprpBSo dto) { LambdaQueryChainWrapper query = service.lambdaQuery(); query .eq(StStbprpB::getSttp,dto.getSttp()) .eq(StStbprpB::getStcd,dto.getStcd()) .like(StStbprpB::getStnm,dto.getStnm()) .like(StStbprpB::getRvnm,dto.getRvnm()) .like(StStbprpB::getHnnm,dto.getHnnm()) .like(StStbprpB::getBsnm,dto.getBsnm()) ; return R.ok(query.list()); } @Operation(summary = "分页") @PostMapping("/page") public R> page(@RequestBody @Validated StStbprpBPage page) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); if (ObjectUtils.isNotNull(page.getCode())) { query.like(StStbprpB::getStcd, page.getCode()); } if (ObjectUtils.isNotNull(page.getName())) { query.like(StStbprpB::getStnm, page.getName()); } if (ObjectUtils.isNotNull(page.getAgreement())) { query.like(StStbprpB::getAgreement, page.getAgreement()); } query.orderByDesc(StStbprpB::getModitime); return R.ok(service.page(page.getPageSo().toPage(), query)); } @Operation(summary = "雨量站详情带雨量列表") @PostMapping("/rainfallStationDetails/rainfallList") public R> rainfallStationDetailsList(@RequestBody @Validated HomeStStbprpBSo dto) { return R.ok(service.rainfallStationDetailsList(dto)); } @Operation(summary = "水库站点详情带实时水位列表") @PostMapping("/reservoirStationDetails/realTimeWaterLevelList") public R> reservoirStationDetailsList() { return R.ok(service.reservoirStationDetailsList()); } @Operation(summary = "输/放水管流量站点详情带实时流量列表") @PostMapping("/trafficSiteDetails/realTimeTrafficList") public R> trafficStationDetailsList() { return R.ok(service.flowStationDetailsList()); } @Operation(summary = "监测设备状态") @PostMapping("/status/list") public R statusList() { return R.ok(service.statusList()); } }