gunshi-project-ss/src/main/java/com/gunshi/project/xyt/controller/StWaterRController.java

108 lines
5.0 KiB
Java
Raw Normal View History

2024-07-08 17:47:02 +08:00
package com.gunshi.project.xyt.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
2024-07-24 09:02:59 +08:00
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
2024-07-08 17:47:02 +08:00
import com.gunshi.core.result.R;
import com.gunshi.project.xyt.entity.vo.StWaterRVo;
2024-07-24 09:02:59 +08:00
import com.gunshi.project.xyt.model.ResMonthEcoFlow;
2024-07-08 17:47:02 +08:00
import com.gunshi.project.xyt.model.StWaterR;
2024-07-24 09:02:59 +08:00
import com.gunshi.project.xyt.service.ResMonthEcoFlowService;
2024-07-08 17:47:02 +08:00
import com.gunshi.project.xyt.service.StWaterRService;
import com.gunshi.project.xyt.util.ConvertUtil;
import com.gunshi.project.xyt.util.DateUtil;
import com.gunshi.project.xyt.util.ExcelUtil;
2024-07-08 17:47:02 +08:00
import com.gunshi.project.xyt.validate.markers.Insert;
import com.gunshi.project.xyt.validate.markers.Update;
2024-07-24 09:02:59 +08:00
2024-07-08 17:47:02 +08:00
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
2024-07-08 17:47:02 +08:00
/**
* :
* author: xusan
* date: 2024-07-08 17:40:37
*/
@Tag(name = "供水量表")
@RestController
@RequestMapping(value="/stWaterR")
public class StWaterRController {
@Autowired
private StWaterRService service;
@Operation(summary = "新增")
@PostMapping("/insert")
public R<StWaterR> insert(@Validated(Insert.class) @RequestBody StWaterR dto) {
boolean result = service.save(dto);
return R.ok(result ? dto : null);
}
@Operation(summary = "修改")
@PostMapping("/update")
public R<StWaterR> update(@Validated(Update.class) @RequestBody StWaterR dto) {
boolean result = service.updateById(dto);
return R.ok(result ? dto : null);
}
@Operation(summary = "删除")
@GetMapping("/del/{id}")
public R<Boolean> del(@Schema(name = "id") @PathVariable("id") Serializable id) {
return R.ok(service.removeById(id));
}
@Operation(summary = "列表")
@PostMapping("/list")
public R<List<StWaterR>> list(@RequestBody @Validated StWaterR stWaterR) {
2024-07-10 17:03:50 +08:00
QueryWrapper<StWaterR> wrapper = new QueryWrapper<StWaterR>()
.eq(StringUtils.isNotBlank(stWaterR.getStcd()), "stcd", stWaterR.getStcd())
.ge(ObjectUtils.isNotNull(stWaterR.getStartTime()), "tm", stWaterR.getStartTime())
.le(ObjectUtils.isNotNull(stWaterR.getEndTime()), "tm", stWaterR.getEndTime());
if(StringUtils.isNotBlank(stWaterR.getSortField())){
wrapper.orderBy(true, ObjectUtils.isEmpty(stWaterR.getIsAsc()) ? false : stWaterR.getIsAsc(), stWaterR.getSortField());
}
return R.ok(service.list(wrapper));
2024-07-08 17:47:02 +08:00
}
2024-07-24 09:02:59 +08:00
@Operation(summary = "获取月核定流量")
@GetMapping("/getResMonthEcoFlow")
public R<Map<Integer, Object>> getResMonthEcoFlow(@Schema(name = "startTime", description = "开始时间") @RequestParam("startTime") String startTime, @Schema(name = "endTime", description = "开始时间") @RequestParam("endTime") String endTime) {
Map<Integer, Object> resMap = new HashMap<>();
QueryWrapper<ResMonthEcoFlow> wrapper = new QueryWrapper<ResMonthEcoFlow>()
.ge(StringUtils.isNotEmpty(startTime), "month", Integer.valueOf(startTime.substring(5, 7)))
.le(StringUtils.isNotEmpty(endTime), "month", Integer.valueOf(endTime.substring(5, 7)));
List<ResMonthEcoFlow> list = resMonthEcoFlowService.list(wrapper);
if(CollectionUtils.isNotEmpty(list)){
resMap = list.stream().collect(Collectors.toMap(ResMonthEcoFlow::getMonth, ResMonthEcoFlow::getValue));
}
return R.ok(resMap);
}
2024-07-08 17:47:02 +08:00
@Operation(summary = "分页")
@PostMapping("/page")
public R<Page<StWaterR>> page(@RequestBody @Validated StWaterR stWaterR) {
2024-07-10 17:03:50 +08:00
QueryWrapper<StWaterR> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(stWaterR.getStcd()), "stcd", stWaterR.getStcd())
.ge(ObjectUtils.isNotNull(stWaterR.getStartTime()), "tm", stWaterR.getStartTime())
2024-07-10 17:03:50 +08:00
.le(ObjectUtils.isNotNull(stWaterR.getEndTime()), "tm", stWaterR.getEndTime());
if(StringUtils.isNotBlank(stWaterR.getSortField())){
wrapper.orderBy(true, ObjectUtils.isEmpty(stWaterR.getIsAsc()) ? false : stWaterR.getIsAsc(), stWaterR.getSortField());
}
return R.ok(service.page(stWaterR.getPageSo().toPage(), wrapper));
2024-07-08 17:47:02 +08:00
}
@Operation(summary = "导出")
@PostMapping("/exportWaterRDataExcel")
@CrossOrigin
public void exportWaterRDataExcel(@RequestBody @Validated StWaterR stWaterR, HttpServletResponse response) {
String filename = "供水流量表" + DateUtil.convertDateToString(stWaterR.getStartTime()) + "_" + DateUtil.convertDateToString(stWaterR.getEndTime());
List<StWaterRVo> vos = ConvertUtil.entityToVoList(this.list(stWaterR).getData(), StWaterRVo.class);
ExcelUtil.exportExcel(vos, filename, StWaterRVo.class, response, "供水流量表");
}
}