From eed7cb7bfad0282bc1afaef6997537c3e78a4268 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期六, 08 二月 2025 14:16:16 +0800 Subject: [PATCH] 异常关阀功能开发 --- pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/special/SpecialSv.java | 36 ++++++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSpecial/SpecialMapper.java | 15 +++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/SpecialMapper.xml | 65 ++++++++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/special/QoAbnormalCloseValve.java | 56 ++++++++++++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSpecial/CoAbnormalCloseValve.java | 35 ++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/special/SpecialCtrl.java | 28 ++++++ 6 files changed, 231 insertions(+), 4 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSpecial/SpecialMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSpecial/SpecialMapper.java index a4f9434..6b6197d 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSpecial/SpecialMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSpecial/SpecialMapper.java @@ -1,6 +1,7 @@ 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; @@ -29,4 +30,18 @@ */ List<VoSteal> selectStealSome(Map<?, ?> params) ; + /** + * 鏌ヨ鎬绘暟 + * @param params 鏌ヨ鏉′欢 + * @return 鎬绘暟 + */ + Long selectAbnormalCloseValveTotal(Map<?, ?> params) ; + + /** + * 鍒嗛〉鏌ヨ涓�浜� + * @param params 鏌ヨ鏉′欢 + * @return 瀹炰綋闆嗗悎 + */ + List<CoAbnormalCloseValve> selectAbnormalCloseValveSome(Map<?, ?> params) ; + } diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSpecial/CoAbnormalCloseValve.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSpecial/CoAbnormalCloseValve.java new file mode 100644 index 0000000..8cc3c23 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSpecial/CoAbnormalCloseValve.java @@ -0,0 +1,35 @@ +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; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SpecialMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SpecialMapper.xml index c472c69..d3c3f3e 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SpecialMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SpecialMapper.xml @@ -63,4 +63,69 @@ </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> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/special/QoAbnormalCloseValve.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/special/QoAbnormalCloseValve.java new file mode 100644 index 0000000..07545d5 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/special/QoAbnormalCloseValve.java @@ -0,0 +1,56 @@ +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; + /** + * 鏃ユ湡 鏍煎紡涓簓yyy-mm-dd hh:mm:ss + * 鍐呴儴杞崲鐢紝鍓嶇涓嶅彲瑙� + */ + @Schema(hidden = true) + public Date atDateStart ; + /** + * 鏃ユ湡 鏍煎紡涓簓yyy-mm-dd hh:mm:ss + * 鍐呴儴杞崲鐢紝鍓嶇涓嶅彲瑙� + */ + @Schema(hidden = true) + public Date atDateEnd ; + + /** + * 鍙栨按鍙g紪鍙� + */ + @Schema(description = "鍙栨按鍙g紪鍙�", 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 ; + +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/special/SpecialCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/special/SpecialCtrl.java index 8fbe0a8..8df2bf7 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/special/SpecialCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/special/SpecialCtrl.java @@ -5,6 +5,7 @@ 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; @@ -27,7 +28,7 @@ /** * @Author: liurunyu * @Date: 2025/2/7 13:52 - * @Description 涓撻噺缁熻 + * @Description 涓撻缁熻 */ @Slf4j @Tag(name = "涓撻缁熻", description = "涓撻缁熻") @@ -67,4 +68,29 @@ return BaseResponseUtils.buildSuccess(res); } + /** + * 寮傚父鍏抽榾 + * @return + */ + @Operation(summary = "寮傚父鍏抽榾", description = "寮傚父鍏抽榾缁熻") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "寮傚父鍏抽榾缁熻锛圔aseResponse.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); + } + + + } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/special/SpecialSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/special/SpecialSv.java index 15ba92c..e2c5cb5 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/special/SpecialSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/special/SpecialSv.java @@ -4,6 +4,7 @@ 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; @@ -38,9 +39,6 @@ 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) ; @@ -62,4 +60,36 @@ 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 ; + } + } -- Gitblit v1.8.0