tao 2 rokov pred
rodič
commit
6be60e32a0

+ 33 - 0
vseaf4.4-cyyzs/src/main/java/cn/com/victorysoft/business/cyyzs/controller/ProductionDataController.java

@@ -0,0 +1,33 @@
+package cn.com.victorysoft.business.cyyzs.controller;
+
+import cn.com.victorysoft.business.cyyzs.entity.ProductionData;
+import cn.com.victorysoft.business.cyyzs.entity.StaticData;
+import cn.com.victorysoft.business.cyyzs.param.StaticDataParam;
+import cn.com.victorysoft.business.cyyzs.service.ProductionDataService;
+import com.github.pagehelper.PageInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @Author TY
+ * @Date: 2022/9/26 14:48
+ */
+@Api(tags = "生产数据")
+@RestController
+@RequestMapping("cyyzs/production-data")
+public class ProductionDataController {
+
+    @Autowired
+    private ProductionDataService productionDataService;
+
+    @GetMapping()
+    public List<ProductionData> selectList(String yclx, String dwdm, String dydm, String ksrq, String jsrq) {
+        return productionDataService.selectList(yclx, dwdm, dydm, ksrq, jsrq);
+    }
+}

+ 26 - 0
vseaf4.4-cyyzs/src/main/java/cn/com/victorysoft/business/cyyzs/dao/ProductionDataDao.java

@@ -0,0 +1,26 @@
+package cn.com.victorysoft.business.cyyzs.dao;
+
+
+import cn.com.victorysoft.business.cyyzs.entity.ProductionData;
+import cn.com.victorysoft.business.cyyzs.entity.StaticData;
+import cn.com.victorysoft.business.cyyzs.param.StaticDataParam;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Mapper
+@Repository
+public interface ProductionDataDao {
+
+    /**
+     *
+     * @param yclx
+     * @param dwdm
+     * @param dydm
+     * @param ksrq
+     * @param jsrq
+     */
+    List<ProductionData> selectList(@Param("yclx") String yclx, @Param("dwdm") String dwdm, @Param("dydm") String dydm, @Param("ksrq") String ksrq, @Param("jsrq") String jsrq);
+}

+ 73 - 0
vseaf4.4-cyyzs/src/main/java/cn/com/victorysoft/business/cyyzs/entity/ProductionData.java

@@ -0,0 +1,73 @@
+package cn.com.victorysoft.business.cyyzs.entity;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @Author TY
+ * @Date: 2022/9/27 13:47
+ */
+@Data
+public class ProductionData {
+
+    /**
+     * 工艺类型
+     */
+    private String gylx;
+
+    /**
+     * 总井数
+     */
+    private BigDecimal zjs;
+
+    /**
+     * 开井数
+     */
+    private BigDecimal kjs;
+
+    /**
+     * 总层数
+     */
+    private BigDecimal zcs;
+
+    /**
+     * 开层数
+     */
+    private BigDecimal kcs;
+
+    /**
+     * 检查井数
+     */
+    private BigDecimal jcjs;
+
+    /**
+     * 检查层数
+     */
+    private BigDecimal jccs;
+
+    /**
+     * 合格层
+     */
+    private BigDecimal hgc;
+
+    /**
+     * 超注层
+     */
+    private BigDecimal czc;
+
+    /**
+     * 欠注层
+     */
+    private BigDecimal qzc;
+
+    /**
+     * 不清层
+     */
+    private BigDecimal bqc;
+
+    /**
+     * 合格率
+     */
+    private BigDecimal hgl;
+}

+ 31 - 0
vseaf4.4-cyyzs/src/main/java/cn/com/victorysoft/business/cyyzs/service/ProductionDataService.java

@@ -0,0 +1,31 @@
+package cn.com.victorysoft.business.cyyzs.service;
+
+import cn.com.victorysoft.business.cyyzs.dao.ProductionDataDao;
+import cn.com.victorysoft.business.cyyzs.entity.ProductionData;
+import cn.com.victorysoft.business.cyyzs.entity.StaticData;
+import com.github.pagehelper.PageInfo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @Author TY
+ * @Date: 2022/9/26 14:49
+ */
+@Slf4j
+@Service
+public class ProductionDataService {
+
+    @Autowired
+    private ProductionDataDao productionDataDao;
+
+
+    public List<ProductionData> selectList(String yclx, String dwdm, String dydm, String ksrq, String jsrq) {
+        return productionDataDao.selectList(yclx, dwdm, dydm, ksrq, jsrq);
+    }
+}

+ 81 - 0
vseaf4.4-cyyzs/src/main/resources/mapper/ProductionDataDao.xml

@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.victorysoft.business.cyyzs.dao.ProductionDataDao">
+
+
+    <select id="selectList" resultType="cn.com.victorysoft.business.cyyzs.entity.ProductionData">
+        SELECT
+            B.GYLX, COUNT(1) ZJS,
+            SUM(CASE WHEN KCS >= 1 THEN 1 ELSE 0 END) KJS,
+            SUM(ZCS) ZCS, SUM(KCS) KCS,
+            SUM(CASE WHEN IS_JCJ >= 1 THEN 1 ELSE 0 END) JCJS,
+            SUM(JCCS) JCCS, SUM(HGC) HGC, SUM(CZC) CZC, SUM(QZC) QZC, SUM(BQC) BQC
+        FROM
+            (
+            SELECT
+                A.WELLNAME, COUNT(1) ZCS,
+                SUM(CASE WHEN IS_JCJ = '检查井' THEN 1 ELSE 0 END) IS_JCJ,
+                SUM(CASE WHEN IS_JCC = '检查层' THEN 1 ELSE 0 END) JCCS,
+                SUM(CASE WHEN WELL_WATER > 0.5 AND JC_ZKSJ > 24 THEN 1 ELSE 0 END) KCS,
+                SUM(CASE WHEN IS_JCC = '检查层' AND SPB >= 0.8 AND SPB <![CDATA[ <= ]]> 1.2 THEN 1 ELSE 0 END) HGC,
+                SUM(CASE WHEN IS_JCC = '检查层' AND SPB > 1.2 THEN 1 ELSE 0 END) CZC,
+                SUM(CASE WHEN IS_JCC = '检查层' AND SPB <![CDATA[ < ]]> 0.8 THEN 1 ELSE 0 END) QZC,
+                SUM(CASE WHEN IS_JCC = '检查层' AND SPB IS NULL THEN 1 ELSE 0 END) BQC
+            FROM
+                (
+                SELECT
+                    A.*, DECODE(JC_ZPZL, 0, null, JC_ZZSL / JC_ZPZL) SPB
+                FROM
+                    (
+                    SELECT
+                        A.*, CASE WHEN IS_JCJ = '检查井' THEN (CASE WHEN JC_FT_COUNT >= 1 AND JC_ZZSL = 0 THEN '不检查层' ELSE '检查层' END) ELSE '不检查层' END IS_JCC
+                    FROM
+                        (
+                        SELECT
+                            A.*, CASE WHEN A.JC_ZKSJ <![CDATA[ < ]]> (7 * 24) OR J_BZYY_COUNT >= 1 OR (JC_ZKSJ <![CDATA[ < ]]> 24 OR J_ZZSL <![CDATA[ <= ]]> 0.5) THEN '不检查井' ELSE '检查井' END  IS_JCJ
+                        FROM
+                            (
+                            SELECT
+                                A.*,
+                                SUM(JC_ZZSL) OVER(PARTITION BY WELLNAME) J_ZZSL,
+                                SUM(JC_ZPZL) OVER(PARTITION BY WELLNAME) J_ZPZL,
+                                SUM(JC_DTTZ_COUNT) OVER(PARTITION BY WELLNAME) J_DTTZ_COUNT,
+                                SUM(JC_FT_COUNT) OVER(PARTITION BY WELLNAME) J_FT_COUNT,
+                                SUM(JC_BZYY_COUNT) OVER(PARTITION BY WELLNAME) J_BZYY_COUNT
+                            FROM
+                                (
+                                SELECT
+                                    A.WELLNAME, A.SECTION,
+                                    SUM(WELL_WATER) WELL_WATER,
+                                    SUM(NVL(A.OPEN_TIME, 0)) JC_ZKSJ,
+                                    SUM(NVL(A.DAILY_WATER, 0)) JC_ZZSL,
+                                    SUM(NVL(A.PLAN_DAILY_WATER,0)) JC_ZPZL,
+                                    SUM(CASE WHEN A.REMARK LIKE '%动态停注%' THEN 1 ELSE 0 END) JC_DTTZ_COUNT,
+                                    SUM(CASE WHEN A.NOZZLE LIKE '%方停%' THEN 1 ELSE 0 END) JC_FT_COUNT,
+                                    SUM(CASE WHEN A.REMARK LIKE '%大修%' THEN 1 WHEN REMARK LIKE '%调剖%' THEN 1
+                                             WHEN A.REMARK LIKE '%挤素%' THEN 1
+                                             WHEN A.REMARK LIKE '%化堵%' THEN 1
+                                             WHEN A.REMARK LIKE '%酸化%' THEN 1
+                                             WHEN A.REMARK LIKE '%示踪剂%' THEN 1 ELSE 0 END) JC_BZYY_COUNT
+                                FROM
+                                    WELL_SECTION_DAILY A
+                                LEFT JOIN WATER_WELL_BASIC B ON A.WELLNAME = B.JH
+                                WHERE
+                                    1 = 1
+                                <if test="ksrq != null and ksrq != ''"> AND A.RECORD_DATE >= TO_DATE(#{ksrq}, 'yyyy-mm-dd')</if>
+                                <if test="jsrq != null and jsrq != ''"> AND A.RECORD_DATE <![CDATA[ <= ]]> TO_DATE(#{jsrq}, 'yyyy-mm-dd')</if>
+                                <if test="dydm != null and dydm != ''"> AND A.QKDM = #{dydm}</if>
+                                <if test="dwdm != null and dwdm != ''"> AND A.DWDM IN (SELECT UNITCODE FROM SYS_UNITINFO START WITH UNITCODE = #{dwdm} CONNECT BY PRIOR UNITCODE = P_UNITCODE)</if>
+                                <if test="yclx != null and yclx != ''"> AND B.YCLX = #{yclx}</if>
+                                GROUP BY A.WELLNAME, A.SECTION
+                                ) A
+                            ) A
+                        ) A
+                    ) A
+                ) A
+                GROUP BY WELLNAME
+            ) A
+        LEFT JOIN WELL_PROCESS_TYPE B ON A.WELLNAME = B.JH
+        GROUP BY B.GYLX
+    </select>
+</mapper>