Selaa lähdekoodia

裂解炉炉管测压fvp

wangggziwen 1 vuosi sitten
vanhempi
commit
354ce739ee

+ 481 - 2
master/src/main/java/com/ruoyi/project/production/controller/TFurnancePressureController.java

@@ -1,9 +1,11 @@
 package com.ruoyi.project.production.controller;
 
+import java.text.DecimalFormat;
 import java.util.ArrayList;
 import java.util.List;
 
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.production.controller.vo.FurnancePressureFvpVO;
 import com.ruoyi.project.production.controller.vo.FurnancePressureVO;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,7 +40,484 @@ public class TFurnancePressureController extends BaseController
     private ITFurnancePressureService tFurnancePressureService;
 
     /**
-     * 查询裂解炉炉管测温MAX
+     * 查询裂解炉炉管测压FVP
+     */
+    @GetMapping("/fvp")
+    public AjaxResult fvp(TFurnancePressure tFurnancePressure) {
+        tFurnancePressure.setFurnanceName("H109");
+        TFurnancePressure obj109 = tFurnancePressureService.selectTFurnancePressureByDate(tFurnancePressure);
+        tFurnancePressure.setFurnanceName("H110");
+        TFurnancePressure obj110 = tFurnancePressureService.selectTFurnancePressureByDate(tFurnancePressure);
+        tFurnancePressure.setFurnanceName("H111");
+        TFurnancePressure obj111 = tFurnancePressureService.selectTFurnancePressureByDate(tFurnancePressure);
+        tFurnancePressure.setFurnanceName("H112");
+        TFurnancePressure obj112 = tFurnancePressureService.selectTFurnancePressureByDate(tFurnancePressure);
+        tFurnancePressure.setFurnanceName("H113");
+        TFurnancePressure obj113 = tFurnancePressureService.selectTFurnancePressureByDate(tFurnancePressure);
+        tFurnancePressure.setFurnanceName("H114");
+        TFurnancePressure obj114 = tFurnancePressureService.selectTFurnancePressureByDate(tFurnancePressure);
+        tFurnancePressure.setFurnanceName("H115");
+        TFurnancePressure obj115 = tFurnancePressureService.selectTFurnancePressureByDate(tFurnancePressure);
+        tFurnancePressure.setFurnanceName("H116");
+        TFurnancePressure obj116 = tFurnancePressureService.selectTFurnancePressureByDate(tFurnancePressure);
+        tFurnancePressure.setFurnanceName("H117");
+        TFurnancePressure obj117 = tFurnancePressureService.selectTFurnancePressureByDate(tFurnancePressure);
+        tFurnancePressure.setFurnanceName("H118");
+        TFurnancePressure obj118 = tFurnancePressureService.selectTFurnancePressureByDate(tFurnancePressure);
+        tFurnancePressure.setFurnanceName("H130");
+        TFurnancePressure obj130 = tFurnancePressureService.selectTFurnancePressureByDate(tFurnancePressure);
+        if (obj109 != null && obj110 != null && obj111 != null && obj112 != null && obj113 != null && obj114 != null &&
+                obj115 != null && obj116 != null && obj117 != null && obj118 != null && obj130 != null) {
+            FurnancePressureFvpVO vo109A = this.calcRatio109A(obj109);
+            FurnancePressureFvpVO vo109B = this.calcRatio109B(obj109);
+            FurnancePressureFvpVO vo110 = this.calcRatio(obj110);
+            FurnancePressureFvpVO vo111 = this.calcRatio(obj111);
+            FurnancePressureFvpVO vo112 = this.calcRatio(obj112);
+            FurnancePressureFvpVO vo113 = this.calcRatio(obj113);
+            FurnancePressureFvpVO vo114 = this.calcRatio(obj114);
+            FurnancePressureFvpVO vo115 = this.calcRatio(obj115);
+            FurnancePressureFvpVO vo116 = this.calcRatio(obj116);
+            FurnancePressureFvpVO vo117 = this.calcRatio(obj117);
+            FurnancePressureFvpVO vo118 = this.calcRatio(obj118);
+            FurnancePressureFvpVO vo130 = this.calcRatio130(obj130);
+            vo110.setFurnanceName("H-110");
+            vo111.setFurnanceName("H-111");
+            vo112.setFurnanceName("H-112");
+            vo113.setFurnanceName("H-113");
+            vo114.setFurnanceName("H-114");
+            vo115.setFurnanceName("H-115");
+            vo116.setFurnanceName("H-116");
+            vo117.setFurnanceName("H-117");
+            vo118 .setFurnanceName("H-118");
+            vo130.setFurnanceName("H-130");
+            vo109A.setFurnanceName("H-109A");
+            vo109B.setFurnanceName("H-109B");
+            List<FurnancePressureFvpVO> voList = new ArrayList<>();
+            voList.add(vo110);
+            voList.add(vo111);
+            voList.add(vo112);
+            voList.add(vo113);
+            voList.add(vo114);
+            voList.add(vo115);
+            voList.add(vo116);
+            voList.add(vo117);
+            voList.add(vo118);
+            voList.add(vo130);
+            voList.add(vo109A);
+            voList.add(vo109B);
+            return AjaxResult.success(voList);
+        } else {
+            return AjaxResult.success("incompleteData");
+        }
+    }
+    private FurnancePressureFvpVO calcRatio(TFurnancePressure tFurnancePressure) {
+        if (tFurnancePressure != null) {
+            double pass1Inlet = 0;
+            double pass2Inlet = 0;
+            double pass3Inlet = 0;
+            double pass4Inlet = 0;
+            double pass5Inlet = 0;
+            double pass6Inlet = 0;
+            double pass7Inlet = 0;
+            double pass8Inlet = 0;
+            double pass1Out = 0;
+            double pass2Out = 0;
+            double pass3Out = 0;
+            double pass4Out = 0;
+            double pass5Out = 0;
+            double pass6Out = 0;
+            double pass7Out = 0;
+            double pass8Out = 0;
+            double pass1Ratio = 0;
+            double pass2Ratio = 0;
+            double pass3Ratio = 0;
+            double pass4Ratio = 0;
+            double pass5Ratio = 0;
+            double pass6Ratio = 0;
+            double pass7Ratio = 0;
+            double pass8Ratio = 0;
+            double allPassMaxInlet = 0;
+            double allPassMaxOut = 0;
+            double allPassMaxRatio = 0;
+            String pass1Array = tFurnancePressure.getPass1();
+            String pass2Array = tFurnancePressure.getPass2();
+            String pass3Array = tFurnancePressure.getPass3();
+            String pass4Array = tFurnancePressure.getPass4();
+            String pass5Array = tFurnancePressure.getPass5();
+            String pass6Array = tFurnancePressure.getPass6();
+            String pass7Array = tFurnancePressure.getPass7();
+            String pass8Array = tFurnancePressure.getPass8();
+            if (StringUtils.isNotEmpty(pass1Array)) {
+                pass1Inlet = Double.parseDouble(pass1Array.substring(pass1Array.lastIndexOf(",")+1));
+                pass1Out = this.getMaxValue(pass1Array.substring(0, pass1Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass2Array)) {
+                pass2Inlet = Double.parseDouble(pass2Array.substring(pass2Array.lastIndexOf(",")+1));
+                pass2Out = this.getMaxValue(pass2Array.substring(0, pass2Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass3Array)) {
+                pass3Inlet = Double.parseDouble(pass3Array.substring(pass3Array.lastIndexOf(",")+1));
+                pass3Out = this.getMaxValue(pass3Array.substring(0, pass3Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass4Array)) {
+                pass4Inlet = Double.parseDouble(pass4Array.substring(pass4Array.lastIndexOf(",")+1));
+                pass4Out = this.getMaxValue(pass4Array.substring(0, pass4Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass5Array)) {
+                pass5Inlet = Double.parseDouble(pass5Array.substring(pass5Array.lastIndexOf(",")+1));
+                pass5Out = this.getMaxValue(pass5Array.substring(0, pass5Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass6Array)) {
+                pass6Inlet = Double.parseDouble(pass6Array.substring(pass6Array.lastIndexOf(",")+1));
+                pass6Out = this.getMaxValue(pass6Array.substring(0, pass6Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass7Array)) {
+                pass7Inlet = Double.parseDouble(pass7Array.substring(pass7Array.lastIndexOf(",")+1));
+                pass7Out = this.getMaxValue(pass7Array.substring(0, pass7Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass8Array)) {
+                pass8Inlet = Double.parseDouble(pass8Array.substring(pass8Array.lastIndexOf(",")+1));
+                pass8Out = this.getMaxValue(pass8Array.substring(0, pass8Array.indexOf(",")));
+            }
+            DecimalFormat df = new DecimalFormat("#.00");
+            if (pass1Inlet != 0 && pass1Out != 0) { pass1Ratio = Double.parseDouble(df.format(pass1Out / pass1Inlet)); }
+            if (pass2Inlet != 0 && pass2Out != 0) { pass2Ratio = Double.parseDouble(df.format(pass2Out / pass2Inlet)); }
+            if (pass3Inlet != 0 && pass3Out != 0) { pass3Ratio = Double.parseDouble(df.format(pass3Out / pass3Inlet)); }
+            if (pass4Inlet != 0 && pass4Out != 0) { pass4Ratio = Double.parseDouble(df.format(pass4Out / pass4Inlet)); }
+            if (pass5Inlet != 0 && pass5Out != 0) { pass5Ratio = Double.parseDouble(df.format(pass5Out / pass5Inlet)); }
+            if (pass6Inlet != 0 && pass6Out != 0) { pass6Ratio = Double.parseDouble(df.format(pass6Out / pass6Inlet)); }
+            if (pass7Inlet != 0 && pass7Out != 0) { pass7Ratio = Double.parseDouble(df.format(pass7Out / pass7Inlet)); }
+            if (pass8Inlet != 0 && pass8Out != 0) { pass8Ratio = Double.parseDouble(df.format(pass8Out / pass8Inlet)); }
+            FurnancePressureFvpVO vo = new FurnancePressureFvpVO();
+            vo.setPass1Inlet(pass1Inlet);
+            vo.setPass2Inlet(pass2Inlet);
+            vo.setPass3Inlet(pass3Inlet);
+            vo.setPass4Inlet(pass4Inlet);
+            vo.setPass5Inlet(pass5Inlet);
+            vo.setPass6Inlet(pass6Inlet);
+            vo.setPass7Inlet(pass7Inlet);
+            vo.setPass8Inlet(pass8Inlet);
+            vo.setPass1Out(pass1Out);
+            vo.setPass2Out(pass2Out);
+            vo.setPass3Out(pass3Out);
+            vo.setPass4Out(pass4Out);
+            vo.setPass5Out(pass5Out);
+            vo.setPass6Out(pass6Out);
+            vo.setPass7Out(pass7Out);
+            vo.setPass8Out(pass8Out);
+            vo.setPass1Ratio(pass1Ratio);
+            vo.setPass2Ratio(pass2Ratio);
+            vo.setPass3Ratio(pass3Ratio);
+            vo.setPass4Ratio(pass4Ratio);
+            vo.setPass5Ratio(pass5Ratio);
+            vo.setPass6Ratio(pass6Ratio);
+            vo.setPass7Ratio(pass7Ratio);
+            vo.setPass8Ratio(pass8Ratio);
+            vo.setAllPassMaxInlet(this.getMaxDouble(new double[] {pass1Inlet,pass2Inlet,pass3Inlet,pass4Inlet,pass5Inlet,pass6Inlet,pass7Inlet,pass8Inlet}));
+            vo.setAllPassMaxOut(this.getMaxDouble(new double[] {pass1Out,pass2Out,pass3Out,pass4Out,pass5Out,pass6Out,pass7Out,pass8Out}));
+            vo.setAllPassMaxRatio(this.getMaxDouble(new double[] {pass1Ratio,pass2Ratio,pass3Ratio,pass4Ratio,pass5Ratio,pass6Ratio,pass7Ratio,pass8Ratio}));
+            return vo;
+        } else {
+            return null;
+        }
+    }
+    private FurnancePressureFvpVO calcRatio109A(TFurnancePressure tFurnancePressure) {
+        if (tFurnancePressure != null) {
+            double pass1Inlet = 0;
+            double pass2Inlet = 0;
+            double pass3Inlet = 0;
+            double pass4Inlet = 0;
+            double pass5Inlet = 0;
+            double pass6Inlet = 0;
+            double pass7Inlet = 0;
+            double pass8Inlet = 0;
+            double pass1Out = 0;
+            double pass2Out = 0;
+            double pass3Out = 0;
+            double pass4Out = 0;
+            double pass5Out = 0;
+            double pass6Out = 0;
+            double pass7Out = 0;
+            double pass8Out = 0;
+            double pass1Ratio = 0;
+            double pass2Ratio = 0;
+            double pass3Ratio = 0;
+            double pass4Ratio = 0;
+            double pass5Ratio = 0;
+            double pass6Ratio = 0;
+            double pass7Ratio = 0;
+            double pass8Ratio = 0;
+            double allPassMaxInlet = 0;
+            double allPassMaxOut = 0;
+            double allPassMaxRatio = 0;
+            String pass1Array = tFurnancePressure.getPass1();
+            String pass2Array = tFurnancePressure.getPass3();
+            String pass3Array = tFurnancePressure.getPass5();
+            String pass4Array = tFurnancePressure.getPass7();
+            String pass5Array = tFurnancePressure.getPass9();
+            String pass6Array = tFurnancePressure.getPass11();
+            String pass7Array = tFurnancePressure.getPass13();
+            String pass8Array = tFurnancePressure.getPass15();
+            if (StringUtils.isNotEmpty(pass1Array)) {
+                pass1Inlet = Double.parseDouble(pass1Array.substring(pass1Array.lastIndexOf(",")+1));
+                pass1Out = this.getMaxValue(pass1Array.substring(0, pass1Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass2Array)) {
+                pass2Inlet = Double.parseDouble(pass2Array.substring(pass2Array.lastIndexOf(",")+1));
+                pass2Out = this.getMaxValue(pass2Array.substring(0, pass2Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass3Array)) {
+                pass3Inlet = Double.parseDouble(pass3Array.substring(pass3Array.lastIndexOf(",")+1));
+                pass3Out = this.getMaxValue(pass3Array.substring(0, pass3Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass4Array)) {
+                pass4Inlet = Double.parseDouble(pass4Array.substring(pass4Array.lastIndexOf(",")+1));
+                pass4Out = this.getMaxValue(pass4Array.substring(0, pass4Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass5Array)) {
+                pass5Inlet = Double.parseDouble(pass5Array.substring(pass5Array.lastIndexOf(",")+1));
+                pass5Out = this.getMaxValue(pass5Array.substring(0, pass5Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass6Array)) {
+                pass6Inlet = Double.parseDouble(pass6Array.substring(pass6Array.lastIndexOf(",")+1));
+                pass6Out = this.getMaxValue(pass6Array.substring(0, pass6Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass7Array)) {
+                pass7Inlet = Double.parseDouble(pass7Array.substring(pass7Array.lastIndexOf(",")+1));
+                pass7Out = this.getMaxValue(pass7Array.substring(0, pass7Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass8Array)) {
+                pass8Inlet = Double.parseDouble(pass8Array.substring(pass8Array.lastIndexOf(",")+1));
+                pass8Out = this.getMaxValue(pass8Array.substring(0, pass8Array.indexOf(",")));
+            }
+            DecimalFormat df = new DecimalFormat("#.00");
+            if (pass1Inlet != 0 && pass1Out != 0) { pass1Ratio = Double.parseDouble(df.format(pass1Out / pass1Inlet)); }
+            if (pass2Inlet != 0 && pass2Out != 0) { pass2Ratio = Double.parseDouble(df.format(pass2Out / pass2Inlet)); }
+            if (pass3Inlet != 0 && pass3Out != 0) { pass3Ratio = Double.parseDouble(df.format(pass3Out / pass3Inlet)); }
+            if (pass4Inlet != 0 && pass4Out != 0) { pass4Ratio = Double.parseDouble(df.format(pass4Out / pass4Inlet)); }
+            if (pass5Inlet != 0 && pass5Out != 0) { pass5Ratio = Double.parseDouble(df.format(pass5Out / pass5Inlet)); }
+            if (pass6Inlet != 0 && pass6Out != 0) { pass6Ratio = Double.parseDouble(df.format(pass6Out / pass6Inlet)); }
+            if (pass7Inlet != 0 && pass7Out != 0) { pass7Ratio = Double.parseDouble(df.format(pass7Out / pass7Inlet)); }
+            if (pass8Inlet != 0 && pass8Out != 0) { pass8Ratio = Double.parseDouble(df.format(pass8Out / pass8Inlet)); }
+            FurnancePressureFvpVO vo = new FurnancePressureFvpVO();
+            vo.setPass1Inlet(pass1Inlet);
+            vo.setPass2Inlet(pass2Inlet);
+            vo.setPass3Inlet(pass3Inlet);
+            vo.setPass4Inlet(pass4Inlet);
+            vo.setPass5Inlet(pass5Inlet);
+            vo.setPass6Inlet(pass6Inlet);
+            vo.setPass7Inlet(pass7Inlet);
+            vo.setPass8Inlet(pass8Inlet);
+            vo.setPass1Out(pass1Out);
+            vo.setPass2Out(pass2Out);
+            vo.setPass3Out(pass3Out);
+            vo.setPass4Out(pass4Out);
+            vo.setPass5Out(pass5Out);
+            vo.setPass6Out(pass6Out);
+            vo.setPass7Out(pass7Out);
+            vo.setPass8Out(pass8Out);
+            vo.setPass1Ratio(pass1Ratio);
+            vo.setPass2Ratio(pass2Ratio);
+            vo.setPass3Ratio(pass3Ratio);
+            vo.setPass4Ratio(pass4Ratio);
+            vo.setPass5Ratio(pass5Ratio);
+            vo.setPass6Ratio(pass6Ratio);
+            vo.setPass7Ratio(pass7Ratio);
+            vo.setPass8Ratio(pass8Ratio);
+            vo.setAllPassMaxInlet(this.getMaxDouble(new double[] {pass1Inlet,pass2Inlet,pass3Inlet,pass4Inlet,pass5Inlet,pass6Inlet,pass7Inlet,pass8Inlet}));
+            vo.setAllPassMaxOut(this.getMaxDouble(new double[] {pass1Out,pass2Out,pass3Out,pass4Out,pass5Out,pass6Out,pass7Out,pass8Out}));
+            vo.setAllPassMaxRatio(this.getMaxDouble(new double[] {pass1Ratio,pass2Ratio,pass3Ratio,pass4Ratio,pass5Ratio,pass6Ratio,pass7Ratio,pass8Ratio}));
+            return vo;
+        } else {
+            return null;
+        }
+    }
+    private FurnancePressureFvpVO calcRatio109B(TFurnancePressure tFurnancePressure) {
+        if (tFurnancePressure != null) {
+            double pass1Inlet = 0;
+            double pass2Inlet = 0;
+            double pass3Inlet = 0;
+            double pass4Inlet = 0;
+            double pass5Inlet = 0;
+            double pass6Inlet = 0;
+            double pass7Inlet = 0;
+            double pass8Inlet = 0;
+            double pass1Out = 0;
+            double pass2Out = 0;
+            double pass3Out = 0;
+            double pass4Out = 0;
+            double pass5Out = 0;
+            double pass6Out = 0;
+            double pass7Out = 0;
+            double pass8Out = 0;
+            double pass1Ratio = 0;
+            double pass2Ratio = 0;
+            double pass3Ratio = 0;
+            double pass4Ratio = 0;
+            double pass5Ratio = 0;
+            double pass6Ratio = 0;
+            double pass7Ratio = 0;
+            double pass8Ratio = 0;
+            double allPassMaxInlet = 0;
+            double allPassMaxOut = 0;
+            double allPassMaxRatio = 0;
+            String pass1Array = tFurnancePressure.getPass2();
+            String pass2Array = tFurnancePressure.getPass4();
+            String pass3Array = tFurnancePressure.getPass6();
+            String pass4Array = tFurnancePressure.getPass8();
+            String pass5Array = tFurnancePressure.getPass10();
+            String pass6Array = tFurnancePressure.getPass12();
+            String pass7Array = tFurnancePressure.getPass14();
+            String pass8Array = tFurnancePressure.getPass16();
+            if (StringUtils.isNotEmpty(pass1Array)) {
+                pass1Inlet = Double.parseDouble(pass1Array.substring(pass1Array.lastIndexOf(",")+1));
+                pass1Out = this.getMaxValue(pass1Array.substring(0, pass1Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass2Array)) {
+                pass2Inlet = Double.parseDouble(pass2Array.substring(pass2Array.lastIndexOf(",")+1));
+                pass2Out = this.getMaxValue(pass2Array.substring(0, pass2Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass3Array)) {
+                pass3Inlet = Double.parseDouble(pass3Array.substring(pass3Array.lastIndexOf(",")+1));
+                pass3Out = this.getMaxValue(pass3Array.substring(0, pass3Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass4Array)) {
+                pass4Inlet = Double.parseDouble(pass4Array.substring(pass4Array.lastIndexOf(",")+1));
+                pass4Out = this.getMaxValue(pass4Array.substring(0, pass4Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass5Array)) {
+                pass5Inlet = Double.parseDouble(pass5Array.substring(pass5Array.lastIndexOf(",")+1));
+                pass5Out = this.getMaxValue(pass5Array.substring(0, pass5Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass6Array)) {
+                pass6Inlet = Double.parseDouble(pass6Array.substring(pass6Array.lastIndexOf(",")+1));
+                pass6Out = this.getMaxValue(pass6Array.substring(0, pass6Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass7Array)) {
+                pass7Inlet = Double.parseDouble(pass7Array.substring(pass7Array.lastIndexOf(",")+1));
+                pass7Out = this.getMaxValue(pass7Array.substring(0, pass7Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass8Array)) {
+                pass8Inlet = Double.parseDouble(pass8Array.substring(pass8Array.lastIndexOf(",")+1));
+                pass8Out = this.getMaxValue(pass8Array.substring(0, pass8Array.indexOf(",")));
+            }
+            DecimalFormat df = new DecimalFormat("#.00");
+            if (pass1Inlet != 0 && pass1Out != 0) { pass1Ratio = Double.parseDouble(df.format(pass1Out / pass1Inlet)); }
+            if (pass2Inlet != 0 && pass2Out != 0) { pass2Ratio = Double.parseDouble(df.format(pass2Out / pass2Inlet)); }
+            if (pass3Inlet != 0 && pass3Out != 0) { pass3Ratio = Double.parseDouble(df.format(pass3Out / pass3Inlet)); }
+            if (pass4Inlet != 0 && pass4Out != 0) { pass4Ratio = Double.parseDouble(df.format(pass4Out / pass4Inlet)); }
+            if (pass5Inlet != 0 && pass5Out != 0) { pass5Ratio = Double.parseDouble(df.format(pass5Out / pass5Inlet)); }
+            if (pass6Inlet != 0 && pass6Out != 0) { pass6Ratio = Double.parseDouble(df.format(pass6Out / pass6Inlet)); }
+            if (pass7Inlet != 0 && pass7Out != 0) { pass7Ratio = Double.parseDouble(df.format(pass7Out / pass7Inlet)); }
+            if (pass8Inlet != 0 && pass8Out != 0) { pass8Ratio = Double.parseDouble(df.format(pass8Out / pass8Inlet)); }
+            FurnancePressureFvpVO vo = new FurnancePressureFvpVO();
+            vo.setPass1Inlet(pass1Inlet);
+            vo.setPass2Inlet(pass2Inlet);
+            vo.setPass3Inlet(pass3Inlet);
+            vo.setPass4Inlet(pass4Inlet);
+            vo.setPass5Inlet(pass5Inlet);
+            vo.setPass6Inlet(pass6Inlet);
+            vo.setPass7Inlet(pass7Inlet);
+            vo.setPass8Inlet(pass8Inlet);
+            vo.setPass1Out(pass1Out);
+            vo.setPass2Out(pass2Out);
+            vo.setPass3Out(pass3Out);
+            vo.setPass4Out(pass4Out);
+            vo.setPass5Out(pass5Out);
+            vo.setPass6Out(pass6Out);
+            vo.setPass7Out(pass7Out);
+            vo.setPass8Out(pass8Out);
+            vo.setPass1Ratio(pass1Ratio);
+            vo.setPass2Ratio(pass2Ratio);
+            vo.setPass3Ratio(pass3Ratio);
+            vo.setPass4Ratio(pass4Ratio);
+            vo.setPass5Ratio(pass5Ratio);
+            vo.setPass6Ratio(pass6Ratio);
+            vo.setPass7Ratio(pass7Ratio);
+            vo.setPass8Ratio(pass8Ratio);
+            vo.setAllPassMaxInlet(this.getMaxDouble(new double[] {pass1Inlet,pass2Inlet,pass3Inlet,pass4Inlet,pass5Inlet,pass6Inlet,pass7Inlet,pass8Inlet}));
+            vo.setAllPassMaxOut(this.getMaxDouble(new double[] {pass1Out,pass2Out,pass3Out,pass4Out,pass5Out,pass6Out,pass7Out,pass8Out}));
+            vo.setAllPassMaxRatio(this.getMaxDouble(new double[] {pass1Ratio,pass2Ratio,pass3Ratio,pass4Ratio,pass5Ratio,pass6Ratio,pass7Ratio,pass8Ratio}));
+            return vo;
+        } else {
+            return null;
+        }
+    }
+    private FurnancePressureFvpVO calcRatio130(TFurnancePressure tFurnancePressure) {
+        if (tFurnancePressure != null) {
+            double pass1Inlet = 0;
+            double pass2Inlet = 0;
+            double pass3Inlet = 0;
+            double pass4Inlet = 0;
+            double pass1Out = 0;
+            double pass2Out = 0;
+            double pass3Out = 0;
+            double pass4Out = 0;
+            double pass1Ratio = 0;
+            double pass2Ratio = 0;
+            double pass3Ratio = 0;
+            double pass4Ratio = 0;
+            double allPassMaxInlet = 0;
+            double allPassMaxOut = 0;
+            double allPassMaxRatio = 0;
+            String pass1Array = tFurnancePressure.getPass1();
+            String pass2Array = tFurnancePressure.getPass2();
+            String pass3Array = tFurnancePressure.getPass3();
+            String pass4Array = tFurnancePressure.getPass4();
+            if (StringUtils.isNotEmpty(pass1Array)) {
+                pass1Inlet = Double.parseDouble(pass1Array.substring(pass1Array.lastIndexOf(",")+1));
+                pass1Out = this.getMaxValue(pass1Array.substring(0, pass1Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass2Array)) {
+                pass2Inlet = Double.parseDouble(pass2Array.substring(pass2Array.lastIndexOf(",")+1));
+                pass2Out = this.getMaxValue(pass2Array.substring(0, pass2Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass3Array)) {
+                pass3Inlet = Double.parseDouble(pass3Array.substring(pass3Array.lastIndexOf(",")+1));
+                pass3Out = this.getMaxValue(pass3Array.substring(0, pass3Array.indexOf(",")));
+            }
+            if (StringUtils.isNotEmpty(pass4Array)) {
+                pass4Inlet = Double.parseDouble(pass4Array.substring(pass4Array.lastIndexOf(",")+1));
+                pass4Out = this.getMaxValue(pass4Array.substring(0, pass4Array.indexOf(",")));
+            }
+            DecimalFormat df = new DecimalFormat("#.00");
+            if (pass1Inlet != 0 && pass1Out != 0) { pass1Ratio = Double.parseDouble(df.format(pass1Out / pass1Inlet)); }
+            if (pass2Inlet != 0 && pass2Out != 0) { pass2Ratio = Double.parseDouble(df.format(pass2Out / pass2Inlet)); }
+            if (pass3Inlet != 0 && pass3Out != 0) { pass3Ratio = Double.parseDouble(df.format(pass3Out / pass3Inlet)); }
+            if (pass4Inlet != 0 && pass4Out != 0) { pass4Ratio = Double.parseDouble(df.format(pass4Out / pass4Inlet)); }
+            FurnancePressureFvpVO vo = new FurnancePressureFvpVO();
+            vo.setPass1Inlet(pass1Inlet);
+            vo.setPass2Inlet(pass2Inlet);
+            vo.setPass3Inlet(pass3Inlet);
+            vo.setPass4Inlet(pass4Inlet);
+            vo.setPass1Out(pass1Out);
+            vo.setPass2Out(pass2Out);
+            vo.setPass3Out(pass3Out);
+            vo.setPass4Out(pass4Out);
+            vo.setPass1Ratio(pass1Ratio);
+            vo.setPass2Ratio(pass2Ratio);
+            vo.setPass3Ratio(pass3Ratio);
+            vo.setPass4Ratio(pass4Ratio);
+            vo.setAllPassMaxInlet(this.getMaxDouble(new double[] {pass1Inlet,pass2Inlet,pass3Inlet,pass4Inlet}));
+            vo.setAllPassMaxOut(this.getMaxDouble(new double[] {pass1Out,pass2Out,pass3Out,pass4Out}));
+            vo.setAllPassMaxRatio(this.getMaxDouble(new double[] {pass1Ratio,pass2Ratio,pass3Ratio,pass4Ratio}));
+            return vo;
+        } else {
+            return null;
+        }
+    }
+    private double getMaxDouble(double[] list) {
+        double max = list[0];
+        for (int i = 1; i < list.length; i++) {
+            if (list[i] > max) {
+                max = list[i];
+            }
+        }
+        return max;
+    }
+
+    /**
+     * 查询裂解炉炉管测压MAX
      */
     @GetMapping("/max")
     public AjaxResult max(TFurnancePressure tFurnancePressure)
@@ -198,7 +677,7 @@ public class TFurnancePressureController extends BaseController
     }
 
     /**
-     * 查询裂解炉炉管测COIL
+     * 查询裂解炉炉管测COIL
      */
     @GetMapping("/coil")
     public AjaxResult coil(TFurnancePressure tFurnancePressure)

+ 266 - 0
master/src/main/java/com/ruoyi/project/production/controller/vo/FurnancePressureFvpVO.java

@@ -0,0 +1,266 @@
+package com.ruoyi.project.production.controller.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+
+import java.util.Date;
+
+/**
+ * 裂解炉管测压FVP VO
+ */
+public class FurnancePressureFvpVO extends BaseEntity {
+
+    private String furnanceName;
+    private double pass1Inlet;
+    private double pass1Out;
+    private double pass1Ratio;
+    private double pass2Inlet;
+    private double pass2Out;
+    private double pass2Ratio;
+    private double pass3Inlet;
+    private double pass3Out;
+    private double pass3Ratio;
+    private double pass4Inlet;
+    private double pass4Out;
+    private double pass4Ratio;
+    private double pass5Inlet;
+    private double pass5Out;
+    private double pass5Ratio;
+    private double pass6Inlet;
+    private double pass6Out;
+    private double pass6Ratio;
+    private double pass7Inlet;
+    private double pass7Out;
+    private double pass7Ratio;
+    private double pass8Inlet;
+    private double pass8Out;
+    private double pass8Ratio;
+    private double allPassMaxInlet;
+    private double allPassMaxOut;
+    private double allPassMaxRatio;
+
+    public String getFurnanceName() {
+        return furnanceName;
+    }
+
+    public void setFurnanceName(String furnanceName) {
+        this.furnanceName = furnanceName;
+    }
+
+    public double getPass1Inlet() {
+        return pass1Inlet;
+    }
+
+    public void setPass1Inlet(double pass1Inlet) {
+        this.pass1Inlet = pass1Inlet;
+    }
+
+    public double getPass1Out() {
+        return pass1Out;
+    }
+
+    public void setPass1Out(double pass1Out) {
+        this.pass1Out = pass1Out;
+    }
+
+    public double getPass1Ratio() {
+        return pass1Ratio;
+    }
+
+    public void setPass1Ratio(double pass1Ratio) {
+        this.pass1Ratio = pass1Ratio;
+    }
+
+    public double getPass2Inlet() {
+        return pass2Inlet;
+    }
+
+    public void setPass2Inlet(double pass2Inlet) {
+        this.pass2Inlet = pass2Inlet;
+    }
+
+    public double getPass2Out() {
+        return pass2Out;
+    }
+
+    public void setPass2Out(double pass2Out) {
+        this.pass2Out = pass2Out;
+    }
+
+    public double getPass2Ratio() {
+        return pass2Ratio;
+    }
+
+    public void setPass2Ratio(double pass2Ratio) {
+        this.pass2Ratio = pass2Ratio;
+    }
+
+    public double getPass3Inlet() {
+        return pass3Inlet;
+    }
+
+    public void setPass3Inlet(double pass3Inlet) {
+        this.pass3Inlet = pass3Inlet;
+    }
+
+    public double getPass3Out() {
+        return pass3Out;
+    }
+
+    public void setPass3Out(double pass3Out) {
+        this.pass3Out = pass3Out;
+    }
+
+    public double getPass3Ratio() {
+        return pass3Ratio;
+    }
+
+    public void setPass3Ratio(double pass3Ratio) {
+        this.pass3Ratio = pass3Ratio;
+    }
+
+    public double getPass4Inlet() {
+        return pass4Inlet;
+    }
+
+    public void setPass4Inlet(double pass4Inlet) {
+        this.pass4Inlet = pass4Inlet;
+    }
+
+    public double getPass4Out() {
+        return pass4Out;
+    }
+
+    public void setPass4Out(double pass4Out) {
+        this.pass4Out = pass4Out;
+    }
+
+    public double getPass4Ratio() {
+        return pass4Ratio;
+    }
+
+    public void setPass4Ratio(double pass4Ratio) {
+        this.pass4Ratio = pass4Ratio;
+    }
+
+    public double getPass5Inlet() {
+        return pass5Inlet;
+    }
+
+    public void setPass5Inlet(double pass5Inlet) {
+        this.pass5Inlet = pass5Inlet;
+    }
+
+    public double getPass5Out() {
+        return pass5Out;
+    }
+
+    public void setPass5Out(double pass5Out) {
+        this.pass5Out = pass5Out;
+    }
+
+    public double getPass5Ratio() {
+        return pass5Ratio;
+    }
+
+    public void setPass5Ratio(double pass5Ratio) {
+        this.pass5Ratio = pass5Ratio;
+    }
+
+    public double getPass6Inlet() {
+        return pass6Inlet;
+    }
+
+    public void setPass6Inlet(double pass6Inlet) {
+        this.pass6Inlet = pass6Inlet;
+    }
+
+    public double getPass6Out() {
+        return pass6Out;
+    }
+
+    public void setPass6Out(double pass6Out) {
+        this.pass6Out = pass6Out;
+    }
+
+    public double getPass6Ratio() {
+        return pass6Ratio;
+    }
+
+    public void setPass6Ratio(double pass6Ratio) {
+        this.pass6Ratio = pass6Ratio;
+    }
+
+    public double getPass7Inlet() {
+        return pass7Inlet;
+    }
+
+    public void setPass7Inlet(double pass7Inlet) {
+        this.pass7Inlet = pass7Inlet;
+    }
+
+    public double getPass7Out() {
+        return pass7Out;
+    }
+
+    public void setPass7Out(double pass7Out) {
+        this.pass7Out = pass7Out;
+    }
+
+    public double getPass7Ratio() {
+        return pass7Ratio;
+    }
+
+    public void setPass7Ratio(double pass7Ratio) {
+        this.pass7Ratio = pass7Ratio;
+    }
+
+    public double getPass8Inlet() {
+        return pass8Inlet;
+    }
+
+    public void setPass8Inlet(double pass8Inlet) {
+        this.pass8Inlet = pass8Inlet;
+    }
+
+    public double getPass8Out() {
+        return pass8Out;
+    }
+
+    public void setPass8Out(double pass8Out) {
+        this.pass8Out = pass8Out;
+    }
+
+    public double getPass8Ratio() {
+        return pass8Ratio;
+    }
+
+    public void setPass8Ratio(double pass8Ratio) {
+        this.pass8Ratio = pass8Ratio;
+    }
+
+    public double getAllPassMaxInlet() {
+        return allPassMaxInlet;
+    }
+
+    public void setAllPassMaxInlet(double allPassMaxInlet) {
+        this.allPassMaxInlet = allPassMaxInlet;
+    }
+
+    public double getAllPassMaxOut() {
+        return allPassMaxOut;
+    }
+
+    public void setAllPassMaxOut(double allPassMaxOut) {
+        this.allPassMaxOut = allPassMaxOut;
+    }
+
+    public double getAllPassMaxRatio() {
+        return allPassMaxRatio;
+    }
+
+    public void setAllPassMaxRatio(double allPassMaxRatio) {
+        this.allPassMaxRatio = allPassMaxRatio;
+    }
+}

+ 8 - 0
master/src/main/java/com/ruoyi/project/production/mapper/TFurnancePressureMapper.java

@@ -29,6 +29,14 @@ public interface TFurnancePressureMapper
     @DataScope(deptAlias = "d")
     public List<TFurnancePressure> selectTFurnancePressureList(TFurnancePressure tFurnancePressure);
 
+    /**
+     * 查询裂解炉炉管测压
+     *
+     * @param tFurnancePressure 裂解炉炉管测压
+     * @return 裂解炉炉管测压
+     */
+    public TFurnancePressure selectTFurnancePressureByDate(TFurnancePressure tFurnancePressure);
+
     /**
      * 新增裂解炉炉管测压
      * 

+ 8 - 0
master/src/main/java/com/ruoyi/project/production/service/ITFurnancePressureService.java

@@ -27,6 +27,14 @@ public interface ITFurnancePressureService
      */
     public List<TFurnancePressure> selectTFurnancePressureList(TFurnancePressure tFurnancePressure);
 
+    /**
+     * 查询裂解炉炉管测压
+     *
+     * @param tFurnancePressure 裂解炉炉管测压
+     * @return 裂解炉炉管测压
+     */
+    public TFurnancePressure selectTFurnancePressureByDate(TFurnancePressure tFurnancePressure);
+
     /**
      * 新增裂解炉炉管测压
      * 

+ 10 - 0
master/src/main/java/com/ruoyi/project/production/service/impl/TFurnancePressureServiceImpl.java

@@ -44,6 +44,16 @@ public class TFurnancePressureServiceImpl implements ITFurnancePressureService
         return tFurnancePressureMapper.selectTFurnancePressureList(tFurnancePressure);
     }
 
+    /**
+     * 查询裂解炉炉管测压
+     *
+     * @param tFurnancePressure 裂解炉炉管测压
+     * @return 裂解炉炉管测压
+     */
+    public TFurnancePressure selectTFurnancePressureByDate(TFurnancePressure tFurnancePressure) {
+        return tFurnancePressureMapper.selectTFurnancePressureByDate(tFurnancePressure);
+    }
+
     /**
      * 新增裂解炉炉管测压
      *

+ 12 - 0
master/src/main/resources/mybatis/production/TFurnancePressureMapper.xml

@@ -70,6 +70,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ${params.dataScope}
         order by record_time asc
     </select>
+
+    <select id="selectTFurnancePressureByDate" parameterType="TFurnancePressure" resultMap="TFurnancePressureResult">
+        <include refid="selectTFurnancePressureVo"/>
+        <where>
+            <if test="furnanceName != null  and furnanceName != ''"> and furnance_name = #{furnanceName}</if>
+            <if test="recordTime != null "> and record_time = #{recordTime}</if>
+            and d.del_flag = 0
+            and rownum = 1
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+    </select>
     
     <select id="selectTFurnancePressureById" parameterType="Long" resultMap="TFurnancePressureResult">
         <include refid="selectTFurnancePressureVo"/>

+ 9 - 0
ui/src/api/production/pressure.js

@@ -1,5 +1,14 @@
 import request from '@/utils/request'
 
+// 查询裂解炉炉管测压MAX
+export function listFvp(query) {
+  return request({
+    url: '/production/pressure/fvp',
+    method: 'get',
+    params: query
+  })
+}
+
 // 查询裂解炉炉管测压MAX
 export function listMax(query) {
   return request({

+ 390 - 0
ui/src/views/production/pressure/fvp.vue

@@ -0,0 +1,390 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="巡检日期" prop="recordTime">
+        <el-date-picker
+          v-model="queryParams.recordTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择巡检日期"
+          :clearable="false">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+    <el-table v-loading="loading" :data="pressureList" @selection-change="handleSelectionChange" border>
+      <el-table-column label="" align="center" prop="furnanceName" :show-overflow-tooltip="true" fixed="left"></el-table-column>
+      <el-table-column label="PASS 1" align="center">
+        <el-table-column label="INLET" align="center" prop="pass1Inlet" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="OUT" align="center" prop="pass1Out" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="RATIO" align="center" prop="pass1Ratio" :show-overflow-tooltip="true"></el-table-column>
+      </el-table-column>
+      <el-table-column label="PASS 2" align="center">
+        <el-table-column label="INLET" align="center" prop="pass2Inlet" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="OUT" align="center" prop="pass2Out" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="RATIO" align="center" prop="pass2Ratio" :show-overflow-tooltip="true"></el-table-column>
+      </el-table-column>
+      <el-table-column label="PASS 3" align="center">
+        <el-table-column label="INLET" align="center" prop="pass3Inlet" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="OUT" align="center" prop="pass3Out" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="RATIO" align="center" prop="pass3Ratio" :show-overflow-tooltip="true"></el-table-column>
+      </el-table-column>
+      <el-table-column label="PASS 4" align="center">
+        <el-table-column label="INLET" align="center" prop="pass4Inlet" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="OUT" align="center" prop="pass4Out" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="RATIO" align="center" prop="pass4Ratio" :show-overflow-tooltip="true"></el-table-column>
+      </el-table-column>
+      <el-table-column label="PASS 5" align="center">
+        <el-table-column label="INLET" align="center" prop="pass5Inlet" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="OUT" align="center" prop="pass5Out" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="RATIO" align="center" prop="pass5Ratio" :show-overflow-tooltip="true"></el-table-column>
+      </el-table-column>
+      <el-table-column label="PASS 6" align="center">
+        <el-table-column label="INLET" align="center" prop="pass6Inlet" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="OUT" align="center" prop="pass6Out" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="RATIO" align="center" prop="pass6Ratio" :show-overflow-tooltip="true"></el-table-column>
+      </el-table-column>
+      <el-table-column label="PASS 7" align="center">
+        <el-table-column label="INLET" align="center" prop="pass7Inlet" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="OUT" align="center" prop="pass7Out" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="RATIO" align="center" prop="pass7Ratio" :show-overflow-tooltip="true"></el-table-column>
+      </el-table-column>
+      <el-table-column label="PASS 8" align="center">
+        <el-table-column label="INLET" align="center" prop="pass8Inlet" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="OUT" align="center" prop="pass8Out" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="RATIO" align="center" prop="pass8Ratio" :show-overflow-tooltip="true"></el-table-column>
+      </el-table-column>
+      <el-table-column label="ALL PASS" align="center">
+        <el-table-column label="MAX INLET" align="center" prop="allPassMaxInlet" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="MAX OUT" align="center" prop="allPassMaxOut" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="MAX RATIO" align="center" prop="allPassMaxRatio" :show-overflow-tooltip="true"></el-table-column>
+      </el-table-column>
+    </el-table>
+  </div>
+</template>
+
+<script>
+  import { listFvp } from "@/api/production/pressure";
+  import { treeselect } from "@/api/system/dept";
+  import { getToken } from "@/utils/auth";
+  import Treeselect from "@riophae/vue-treeselect";
+  import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+  export default {
+    name: "Pressure",
+    components: { Treeselect },
+    data() {
+      return {
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 裂解炉炉管测压表格数据
+        pressureList: [],
+        // 弹出层标题
+        title: "",
+        // 部门树选项
+        deptOptions: undefined,
+        clientHeight:300,
+        // 是否显示弹出层
+        open: false,
+        // 用户导入参数
+        upload: {
+          // 是否显示弹出层(用户导入)
+          open: false,
+          // 弹出层标题(用户导入)
+          title: "",
+          // 是否禁用上传
+          isUploading: false,
+          // 是否更新已经存在的用户数据
+          updateSupport: 0,
+          // 设置上传的请求头部
+          headers: { Authorization: "Bearer " + getToken() },
+          // 上传的地址
+          url: process.env.VUE_APP_BASE_API + "/production/pressure/importData"
+        },
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 20,
+          furnanceName: null,
+          recordTime: null,
+          pass1: null,
+          pass2: null,
+          pass3: null,
+          pass4: null,
+          pass5: null,
+          pass6: null,
+          pass7: null,
+          pass8: null,
+          pass9: null,
+          pass10: null,
+          pass11: null,
+          pass12: null,
+          pass13: null,
+          pass14: null,
+          pass15: null,
+          pass16: null,
+          deptId: null,
+        },
+        recordTime: null,
+        // 表单参数
+        form: {},
+        h109Out:[],
+        h110Out:[],
+        h111Out:[],
+        h112Out:[],
+        h113Out:[],
+        h114Out:[],
+        h115Out:[],
+        h116Out:[],
+        h117Out:[],
+        h118Out:[],
+        h130Out:[],
+        // 表单校验
+        rules: {
+          id: [
+            { required: true, message: "主键id不能为空", trigger: "blur" }
+          ],
+        }
+      };
+    },
+    watch: {
+      // 根据名称筛选部门树
+      deptName(val) {
+        this.$refs.tree.filter(val);
+      }
+    },
+    created() {
+      //设置表格高度对应屏幕高度
+      this.$nextTick(() => {
+        this.clientHeight = document.body.clientHeight -250
+      })
+      // this.getList();
+      // this.getTreeselect();
+      let now = new Date();
+      this.queryParams.recordTime = now.getFullYear() + "-" + (now.getMonth() + 1) + "-" + now.getDate();
+    },
+    methods: {
+      init() {
+        this.getList();
+      },
+      /** 查询裂解炉炉管测压列表 */
+      getList() {
+        this.loading = true;
+        listFvp(this.queryParams).then(response => {
+          if (response.msg == "incompleteData") {
+            this.msgInfo("巡检数据录入不完整,暂时无法生成此表格。");
+          } else {
+            this.pressureList = response.data;
+          }
+          this.loading = false;
+        });
+      },
+      /** 查询部门下拉树结构 */
+      getTreeselect() {
+        treeselect().then(response => {
+          this.deptOptions = response.data;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          id: null,
+          furnanceName: null,
+          recordTime: null,
+          pass1: null,
+          pass2: null,
+          pass3: null,
+          pass4: null,
+          pass5: null,
+          pass6: null,
+          pass7: null,
+          pass8: null,
+          pass9: null,
+          pass10: null,
+          pass11: null,
+          pass12: null,
+          pass13: null,
+          pass14: null,
+          pass15: null,
+          pass16: null,
+          deptId: null,
+          delFlag: null,
+          createBy: null,
+          createTime: null,
+          updateBy: null,
+          updateTime: null,
+        };
+        this.pass1 = [];
+        this.pass2 = [];
+        this.pass3 = [];
+        this.pass4 = [];
+        this.pass5 = [];
+        this.pass6 = [];
+        this.pass7 = [];
+        this.pass8 = [];
+        this.pass9 = [];
+        this.pass10 = [];
+        this.pass11 = [];
+        this.pass12 = [];
+        this.pass13 = [];
+        this.pass14 = [];
+        this.pass15 = [];
+        this.pass16 = [];
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.id)
+        this.single = selection.length!==1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.form.furnanceName = "H130";
+        this.open = true;
+        this.title = "添加裂解炉炉管测压";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        const id = row.id || this.ids
+        getPressure(id).then(response => {
+          this.form = response.data;
+          if (response.data.pass1 == null) { this.pass1 = []; } else { this.pass1 = response.data.pass1.split(','); }
+          if (response.data.pass2 == null) { this.pass2 = []; } else { this.pass2 = response.data.pass2.split(','); }
+          if (response.data.pass3 == null) { this.pass3 = []; } else { this.pass3 = response.data.pass3.split(','); }
+          if (response.data.pass4 == null) { this.pass4 = []; } else { this.pass4 = response.data.pass4.split(','); }
+          if (response.data.pass5 == null) { this.pass5 = []; } else { this.pass5 = response.data.pass5.split(','); }
+          if (response.data.pass6 == null) { this.pass6 = []; } else { this.pass6 = response.data.pass6.split(','); }
+          if (response.data.pass7 == null) { this.pass7 = []; } else { this.pass7 = response.data.pass7.split(','); }
+          if (response.data.pass8 == null) { this.pass8 = []; } else { this.pass8 = response.data.pass8.split(','); }
+          if (response.data.pass9 == null) { this.pass9 = []; } else { this.pass9 = response.data.pass9.split(','); }
+          if (response.data.pass10 == null) { this.pass10 = []; } else { this.pass10 = response.data.pass10.split(','); }
+          if (response.data.pass11 == null) { this.pass11 = []; } else { this.pass11 = response.data.pass11.split(','); }
+          if (response.data.pass12 == null) { this.pass12 = []; } else { this.pass12 = response.data.pass12.split(','); }
+          this.open = true;
+          this.title = "修改裂解炉炉管测压";
+        });
+      },
+      /** 提交按钮 */
+      submitForm() {
+        this.form.pass1 = this.pass1.join(",");
+        this.form.pass2 = this.pass2.join(",");
+        this.form.pass3 = this.pass3.join(",");
+        this.form.pass4 = this.pass4.join(",");
+        this.form.pass5 = this.pass5.join(",");
+        this.form.pass6 = this.pass6.join(",");
+        this.form.pass7 = this.pass7.join(",");
+        this.form.pass8 = this.pass8.join(",");
+        this.form.pass9 = this.pass9.join(",");
+        this.form.pass10 = this.pass10.join(",");
+        this.form.pass11 = this.pass11.join(",");
+        this.form.pass12 = this.pass12.join(",");
+        this.form.pass13 = this.pass13.join(",");
+        this.form.pass14 = this.pass14.join(",");
+        this.form.pass15 = this.pass15.join(",");
+        this.form.pass16 = this.pass16.join(",");
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.id != null) {
+              updatePressure(this.form).then(response => {
+                this.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              });
+            } else {
+              addPressure(this.form).then(response => {
+                this.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const ids = row.id || this.ids;
+        this.$confirm('是否确认删除?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delPressure(ids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        const queryParams = this.queryParams;
+        this.$confirm('是否确认导出所有裂解炉炉管测压数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportPressure(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+      },
+      /** 导入按钮操作 */
+      handleImport() {
+        this.upload.title = "用户导入";
+        this.upload.open = true;
+      },
+      /** 下载模板操作 */
+      importTemplate() {
+        importTemplate().then(response => {
+          this.download(response.msg);
+        });
+      },
+      // 文件上传中处理
+      handleFileUploadProgress(event, file, fileList) {
+        this.upload.isUploading = true;
+      },
+      // 文件上传成功处理
+      handleFileSuccess(response, file, fileList) {
+        this.upload.open = false;
+        this.upload.isUploading = false;
+        this.$refs.upload.clearFiles();
+        this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
+        this.getList();
+      },
+      // 提交上传文件
+      submitFileForm() {
+        this.$refs.upload.submit();
+      }
+    }
+  };
+</script>

+ 5 - 1
ui/src/views/production/pressure/index.vue

@@ -14,6 +14,7 @@
       <el-tab-pane label="H130" name="h130"><h130 ref="h130"></h130></el-tab-pane>
       <el-tab-pane label="COIL" name="coil"><coil ref="coil"></coil></el-tab-pane>
       <el-tab-pane label="MAX" name="max"><max ref="max"></max></el-tab-pane>
+      <el-tab-pane label="FVP" name="fvp"><fvp ref="fvp"></fvp></el-tab-pane>
     </el-tabs>
   </div>
 </template>
@@ -32,9 +33,10 @@
   import h130 from "./h130"
   import coil from "./coil"
   import max from "./max"
+  import fvp from "./fvp"
   export default {
     name: "Pressure",
-    components: { h109, h110, h111, h112, h113, h114, h115, h116, h117, h118, h130, coil, max },
+    components: { h109, h110, h111, h112, h113, h114, h115, h116, h117, h118, h130, coil, max, fvp },
     data() {
       return {
         tabPosition: 'left',
@@ -74,6 +76,8 @@
           this.$refs.coil.init();
         } else if (this.activeName == 'max') {
           this.$refs.max.init();
+        } else if (this.activeName == 'fvp') {
+          this.$refs.fvp.init();
         }
       },
     }