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