diff --git a/src/main/java/com/gunshi/project/xyt/controller/StWaterRController.java b/src/main/java/com/gunshi/project/xyt/controller/StWaterRController.java index 34e85b9..d2589c3 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/StWaterRController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/StWaterRController.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gunshi.core.result.R; +import com.gunshi.db.dto.DateTimeRangeSo; import com.gunshi.project.xyt.entity.vo.StWaterRVo; import com.gunshi.project.xyt.model.StWaterR; import com.gunshi.project.xyt.service.StWaterRService; @@ -19,16 +20,12 @@ import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.io.Serializable; +import java.math.BigDecimal; import java.util.List; +import java.util.Map; /** * 描述: 供水量表 @@ -98,4 +95,10 @@ public class StWaterRController { List vos = ConvertUtil.entityToVoList(this.list(stWaterR).getData(), StWaterRVo.class); ExcelUtil.exportExcel(vos, filename, StWaterRVo.class, response, "供水流量表"); } + + @Operation(summary = "闸阀总览-供水统计") + @PostMapping("/stat") + public R> stat(@RequestBody @Validated DateTimeRangeSo dateTimeRangeSo) { + return R.ok(service.stat(dateTimeRangeSo)); + } } diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StWaterRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StWaterRMapper.java index 8ef7876..9b281ca 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/StWaterRMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/StWaterRMapper.java @@ -1,8 +1,12 @@ package com.gunshi.project.xyt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.db.dto.DateTimeRangeSo; import com.gunshi.project.xyt.model.StWaterR; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** * 描述: 供水量表 @@ -12,4 +16,15 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface StWaterRMapper extends BaseMapper { + @Select(""" + + """) + List stat(DateTimeRangeSo dateTimeRangeSo); } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/StWaterR.java b/src/main/java/com/gunshi/project/xyt/model/StWaterR.java index ec4b316..a070743 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StWaterR.java +++ b/src/main/java/com/gunshi/project/xyt/model/StWaterR.java @@ -15,6 +15,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; /** @@ -64,7 +65,7 @@ public class StWaterR extends GenericPageParams implements Serializable { @TableField(value="v") @Schema(description="水量") // @Size(max = 0,message = "水量最大长度要小于 0") - private String v; + private BigDecimal v; /** diff --git a/src/main/java/com/gunshi/project/xyt/service/GateValveRealService.java b/src/main/java/com/gunshi/project/xyt/service/GateValveRealService.java index e1143a2..48a6c72 100644 --- a/src/main/java/com/gunshi/project/xyt/service/GateValveRealService.java +++ b/src/main/java/com/gunshi/project/xyt/service/GateValveRealService.java @@ -1,18 +1,15 @@ package com.gunshi.project.xyt.service; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gunshi.project.xyt.entity.vo.GateStautsVo; import com.gunshi.project.xyt.mapper.GateValveRMapper; import com.gunshi.project.xyt.mapper.GateValveRealMapper; import com.gunshi.project.xyt.model.GateValveKey; import com.gunshi.project.xyt.model.GateValveKeyAutoDao; -import com.gunshi.project.xyt.model.GateValveR; import com.gunshi.project.xyt.model.GateValveReal; import com.gunshi.project.xyt.util.DateUtil; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -58,18 +55,18 @@ public class GateValveRealService extends ServiceImpl().eq("valve_code",valveCode)); - this.save(real); - return "调节闸阀成功"; + //todo 给闸阀下发调节指令 +// GateValveR gateValveR = new GateValveR(); +// BeanUtils.copyProperties(gateValveKey,gateValveR); +// gateValveR.setTm(new Date()); +// gateValveRMapper.insert(gateValveR); +// +// GateValveReal real = new GateValveReal(); +// BeanUtils.copyProperties(gateValveKey,real); +// real.setTm(new Date()); +// this.remove(new QueryWrapper().eq("valve_code",valveCode)); +// this.save(real); + return "调节闸阀指令已下发"; } } diff --git a/src/main/java/com/gunshi/project/xyt/service/StWaterRService.java b/src/main/java/com/gunshi/project/xyt/service/StWaterRService.java index fc467c7..e571abb 100644 --- a/src/main/java/com/gunshi/project/xyt/service/StWaterRService.java +++ b/src/main/java/com/gunshi/project/xyt/service/StWaterRService.java @@ -1,13 +1,17 @@ package com.gunshi.project.xyt.service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.db.dto.DateTimeRangeSo; import com.gunshi.project.xyt.mapper.StWaterRMapper; import com.gunshi.project.xyt.model.StWaterR; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Date; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 描述: 供水量表 @@ -20,6 +24,11 @@ import java.util.Date; public class StWaterRService extends ServiceImpl { + public Map stat(DateTimeRangeSo dateTimeRangeSo) { + List list = baseMapper.stat(dateTimeRangeSo); + return list.stream() + .collect(Collectors.groupingBy(StWaterR::getStcd, Collectors.mapping(StWaterR::getV, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)))); + } }