| | |
| | | package com.dy.pipIrrGlobal.daoSpecial; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.dy.pipIrrGlobal.voSpecial.CoAbnormalCloseValve; |
| | | import com.dy.pipIrrGlobal.voSpecial.VoSteal; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | |
| | | */ |
| | | List<VoSteal> selectStealSome(Map<?, ?> params) ; |
| | | |
| | | /** |
| | | * 查询总数 |
| | | * @param params 查询条件 |
| | | * @return 总数 |
| | | */ |
| | | Long selectAbnormalCloseValveTotal(Map<?, ?> params) ; |
| | | |
| | | /** |
| | | * 分页查询一些 |
| | | * @param params 查询条件 |
| | | * @return 实体集合 |
| | | */ |
| | | List<CoAbnormalCloseValve> selectAbnormalCloseValveSome(Map<?, ?> params) ; |
| | | |
| | | } |
New file |
| | |
| | | package com.dy.pipIrrGlobal.voSpecial; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonPropertyOrder; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @Author: liurunyu |
| | | * @Date: 2025/2/8 11:27 |
| | | * @Description |
| | | */ |
| | | |
| | | @Data |
| | | @JsonPropertyOrder({"id", |
| | | "intakeId", |
| | | "clientId", |
| | | "intakeNum", |
| | | "intakeLng", |
| | | "intakeLat", |
| | | "clientName", |
| | | "clientNum", |
| | | "openDt", |
| | | "openType", |
| | | "openTotalAmount", |
| | | "openRemainMoney", |
| | | "closeDt", |
| | | "closeType", |
| | | "closeTotalAmount", |
| | | "closeRemainMoney", |
| | | "thisAmount", |
| | | "thisMoney", |
| | | "thisTime" |
| | | }) |
| | | public class CoAbnormalCloseValve extends VoSteal{ |
| | | private static final long serialVersionUID = 202502081128001L; |
| | | } |
| | |
| | | </if> |
| | | </trim> |
| | | </select> |
| | | |
| | | |
| | | |
| | | <select id="selectAbnormalCloseValveTotal" parameterType="java.util.Map" resultType="java.lang.Long"> |
| | | select |
| | | count(*) |
| | | from rm_open_close_valve_history mTb |
| | | left join pr_intake piTb on piTb.id = mTb.intake_id |
| | | left join se_client scTb on scTb.id = mTb.client_id |
| | | where mTb.cl_type != 2 |
| | | <trim prefix="and" suffixOverrides="and"> |
| | | <if test = "atDateStart != null"> |
| | | mTb.cl_dt <![CDATA[>=]]> #{atDateStart, javaType=DATE, jdbcType=TIMESTAMP} and |
| | | </if> |
| | | <if test = "atDateEnd != null"> |
| | | mTb.cl_dt <![CDATA[<=]]> #{atDateEnd, javaType=DATE, jdbcType=TIMESTAMP} and |
| | | </if> |
| | | <if test = "intakeNum != null and intakeNum != '' "> |
| | | piTb.name = #{intakeNum, jdbcType=VARCHAR} and |
| | | </if> |
| | | <if test = "clientNum != null and clientNum != '' "> |
| | | scTb.clientNum = #{clientNum, jdbcType=VARCHAR} and |
| | | </if> |
| | | <if test = "clientName != null and clientName != '' "> |
| | | scTb.name = #{clientName, jdbcType=VARCHAR} and |
| | | </if> |
| | | </trim> |
| | | </select> |
| | | |
| | | <select id="selectAbnormalCloseValveSome" parameterType="java.util.Map" resultType="com.dy.pipIrrGlobal.voSpecial.VoSteal"> |
| | | select mTb.id as id, mTb.intake_id as intakeId, mTb.client_id as clientId, |
| | | piTb.name as intakeNum, piTb.lng as intakeLng, piTb.lat as intakeLat, |
| | | scTb.name as clientName, scTb.clientNum as clientNum, |
| | | mTb.op_dt as openDt, mTb.op_type as opType, mTb.op_total_amount as openTotalAmount, mTb.op_remain_money as openRemainMoney, |
| | | mTb.cl_dt as closeDt, mTb.cl_type as clType, mTb.cl_total_amount as closeTotalAmount, mTb.cl_remain_money as closeRemainMoney, |
| | | mTb.cl_this_amount as thisAmount, mTb.cl_this_money as thisMoney, mTb.cl_this_time as thisTime |
| | | from rm_open_close_valve_history mTb |
| | | left join pr_intake piTb on piTb.id = mTb.intake_id |
| | | left join se_client scTb on scTb.id = mTb.client_id |
| | | where mTb.cl_type != 2 |
| | | <trim prefix="and" suffixOverrides="and"> |
| | | <if test = "atDateStart != null"> |
| | | mTb.cl_dt <![CDATA[>=]]> #{atDateStart, javaType=DATE, jdbcType=TIMESTAMP} and |
| | | </if> |
| | | <if test = "atDateEnd != null"> |
| | | mTb.cl_dt <![CDATA[<=]]> #{atDateEnd, javaType=DATE, jdbcType=TIMESTAMP} and |
| | | </if> |
| | | <if test = "intakeNum != null and intakeNum != '' "> |
| | | piTb.name = #{intakeNum, jdbcType=VARCHAR} and |
| | | </if> |
| | | <if test = "clientNum != null and clientNum != '' "> |
| | | scTb.clientNum = #{clientNum, jdbcType=VARCHAR} and |
| | | </if> |
| | | <if test = "clientName != null and clientName != '' "> |
| | | scTb.name = #{clientName, jdbcType=VARCHAR} and |
| | | </if> |
| | | </trim> |
| | | order by mTb.id DESC |
| | | <trim prefix="limit " > |
| | | <if test="start != null and count != null"> |
| | | #{start,javaType=Integer, jdbcType=INTEGER}, #{count,javaType=Integer, jdbcType=INTEGER} |
| | | </if> |
| | | </trim> |
| | | </select> |
| | | |
| | | </mapper> |
New file |
| | |
| | | package com.dy.pipIrrStatistics.special; |
| | | |
| | | import com.dy.common.webUtil.QueryConditionVo; |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import jakarta.validation.constraints.NotBlank; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @Author: liurunyu |
| | | * @Date: 2025/2/8 11:18 |
| | | * @Description |
| | | */ |
| | | |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | public class QoAbnormalCloseValve extends QueryConditionVo { |
| | | /** |
| | | * 日期 |
| | | */ |
| | | @Schema(description = "日期", requiredMode = Schema.RequiredMode.REQUIRED) |
| | | @NotBlank(message = "日期不能为空") |
| | | public String atDt; |
| | | /** |
| | | * 日期 格式为yyyy-mm-dd hh:mm:ss |
| | | * 内部转换用,前端不可见 |
| | | */ |
| | | @Schema(hidden = true) |
| | | public Date atDateStart ; |
| | | /** |
| | | * 日期 格式为yyyy-mm-dd hh:mm:ss |
| | | * 内部转换用,前端不可见 |
| | | */ |
| | | @Schema(hidden = true) |
| | | public Date atDateEnd ; |
| | | |
| | | /** |
| | | * 取水口编号 |
| | | */ |
| | | @Schema(description = "取水口编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) |
| | | public String intakeNum ; |
| | | |
| | | /** |
| | | * 农户编号 |
| | | */ |
| | | @Schema(description = "农户编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) |
| | | public String clientNum ; |
| | | /** |
| | | * 农户姓名 |
| | | */ |
| | | @Schema(description = "农户姓名", requiredMode = Schema.RequiredMode.NOT_REQUIRED) |
| | | public String clientName ; |
| | | |
| | | } |
| | |
| | | import com.dy.common.webUtil.BaseResponseUtils; |
| | | import com.dy.common.webUtil.QueryResultVo; |
| | | import com.dy.common.webUtil.ResultCodeMsg; |
| | | import com.dy.pipIrrGlobal.voSpecial.CoAbnormalCloseValve; |
| | | import com.dy.pipIrrGlobal.voSpecial.VoSteal; |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | | import io.swagger.v3.oas.annotations.media.Content; |
| | |
| | | /** |
| | | * @Author: liurunyu |
| | | * @Date: 2025/2/7 13:52 |
| | | * @Description 专量统计 |
| | | * @Description 专题统计 |
| | | */ |
| | | @Slf4j |
| | | @Tag(name = "专题统计", description = "专题统计") |
| | |
| | | return BaseResponseUtils.buildSuccess(res); |
| | | } |
| | | |
| | | /** |
| | | * 异常关阀 |
| | | * @return |
| | | */ |
| | | @Operation(summary = "异常关阀", description = "异常关阀统计") |
| | | @ApiResponses(value = { |
| | | @ApiResponse( |
| | | responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, |
| | | description = "异常关阀统计(BaseResponse.content:QueryResultVo{[VoSteal{}]})", |
| | | content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, |
| | | schema = @Schema(implementation = CoAbnormalCloseValve.class))} |
| | | ) |
| | | }) |
| | | @GetMapping(path = "abnormalCloseValve") |
| | | @SsoAop() |
| | | public BaseResponse<QueryResultVo<List<CoAbnormalCloseValve>>> abnormalCloseValve(@Valid QoAbnormalCloseValve qo, BindingResult bindingResult) throws Exception { |
| | | if(bindingResult != null && bindingResult.hasErrors()){ |
| | | return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); |
| | | } |
| | | QueryResultVo<List<CoAbnormalCloseValve>> res = this.sv.abnormalCloseValve(qo); |
| | | return BaseResponseUtils.buildSuccess(res); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | import com.dy.common.util.DateTime; |
| | | import com.dy.common.webUtil.QueryResultVo; |
| | | import com.dy.pipIrrGlobal.daoSpecial.SpecialMapper; |
| | | import com.dy.pipIrrGlobal.voSpecial.CoAbnormalCloseValve; |
| | | import com.dy.pipIrrGlobal.voSpecial.VoSteal; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.dubbo.common.utils.PojoUtils; |
| | |
| | | if(qo.fromDt != null && qo.fromDt != "") { |
| | | qo.fromDate = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(qo.fromDt + " 00:00:00") ; |
| | | } |
| | | if(qo.duration == null || qo.duration < 0){ |
| | | qo.duration = 0 ; |
| | | } |
| | | |
| | | Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; |
| | | |
| | |
| | | return rsVo ; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 涉嫌偷水统计 |
| | | * @param qo |
| | | * @return |
| | | */ |
| | | public QueryResultVo<List<CoAbnormalCloseValve>> abnormalCloseValve(QoAbnormalCloseValve qo) throws Exception { |
| | | if(qo.atDt != null && qo.atDt != "") { |
| | | qo.atDateStart = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(qo.atDt + " 00:00:00") ; |
| | | qo.atDateEnd = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(qo.atDt + " 23:59:59") ; |
| | | } |
| | | |
| | | Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; |
| | | |
| | | Long itemTotal = Optional.ofNullable(this.dao.selectAbnormalCloseValveTotal(params)).orElse(0L); |
| | | |
| | | QueryResultVo<List<CoAbnormalCloseValve>> rsVo = new QueryResultVo<>() ; |
| | | rsVo.pageSize = qo.pageSize ; |
| | | rsVo.pageCurr = qo.pageCurr ; |
| | | rsVo.calculateAndSet(itemTotal, params); |
| | | |
| | | List<CoAbnormalCloseValve> list = this.dao.selectAbnormalCloseValveSome(params) ; |
| | | if (list != null && list.size() > 0) { |
| | | for (CoAbnormalCloseValve vo : list) { |
| | | vo.openType = CommonV1.openCloseValveType(vo.opType) ; |
| | | vo.closeType = CommonV1.openCloseValveType(vo.clType) ; |
| | | } |
| | | } |
| | | rsVo.obj = list; |
| | | return rsVo ; |
| | | } |
| | | |
| | | } |