From 41afb20b6b3776f1242ce2aba29d8e51fa8110d6 Mon Sep 17 00:00:00 2001
From: admin <15939171744@163.com>
Date: 星期六, 17 五月 2025 09:45:52 +0800
Subject: [PATCH] -

---
 billion-main/src/main/java/com/billion/main/plc/sub/OPCUaSubscription.java                        |  131 ++
 billion-main/src/main/java/com/billion/main/da/controller/DaCollectionParamConfController.java    |   98 ++
 billion-ui/src/views/main/da/collectionParamConf/index.vue                                        |  449 ++++++++++++
 billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml                         |  172 ++++
 billion-main/src/main/java/com/billion/main/da/service/IDaTightenCollectionService.java           |   13 
 billion-main/src/main/java/com/billion/main/da/mapper/DaCollectionParamConfMapper.java            |   65 +
 billion-main/src/main/java/com/billion/main/plc/constant/Constants.java                           |   14 
 /dev/null                                                                                         |   35 -
 billion-ui/src/views/main/da/tightenCollection/index.vue                                          |  310 ++++----
 billion-main/src/main/java/com/billion/main/da/service/impl/DaTightenCollectionServiceImpl.java   |   50 
 billion-main/src/main/java/com/billion/main/da/domain/DaCollectionParamConf.java                  |  339 +++++++++
 billion-main/src/main/resources/mapper/da/DaTightenCollectionMapper.xml                           |   21 
 billion-main/src/main/java/com/billion/main/da/service/IDaCollectionParamConfService.java         |   66 +
 billion-main/src/main/java/com/billion/main/da/service/impl/DaCollectionParamConfServiceImpl.java |  104 ++
 billion-main/src/main/java/com/billion/main/da/mapper/DaTightenCollectionMapper.java              |   10 
 billion-ui/src/api/main/da/collectionParamConf.js                                                 |   44 +
 billion-main/src/main/java/com/billion/main/da/controller/DaTightenCollectionController.java      |   29 
 billion-main/src/main/java/com/billion/main/da/domain/DaTightenCollection.java                    |  124 +++
 billion-main/src/main/java/com/billion/main/plc/CustomRunner.java                                 |   10 
 19 files changed, 1,790 insertions(+), 294 deletions(-)

diff --git a/billion-main/src/main/java/com/billion/RuoYiApplication.java b/billion-main/src/main/java/com/billion/RuoYiApplication.java
deleted file mode 100644
index c04b03e..0000000
--- a/billion-main/src/main/java/com/billion/RuoYiApplication.java
+++ /dev/null
@@ -1,53 +0,0 @@
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import java.util.Scanner;
-import javax.crypto.Cipher;
-import javax.crypto.spec.SecretKeySpec;
-import java.util.Base64;
-
-@SpringBootApplication
-public class RuoYiApplication {
-    // 鍔犲瘑瀵嗛挜锛屽疄闄呬娇鐢ㄦ椂璇锋洿鎹负鏇村鏉傜殑瀵嗛挜
-    private static final String SECRET_KEY = "YourSecretKey123";
-    // 鍔犲瘑鍚庣殑楠岃瘉鐮侊紝鍙互浣跨敤 generateEncryptedCode() 鏂规硶鐢熸垚
-    private static final String ENCRYPTED_CODE = "YOUR_ENCRYPTED_CODE_HERE";
-
-    public static void main(String[] args) {
-        if (!validateStartup()) {
-            System.out.println("楠岃瘉澶辫触锛岀▼搴忛��鍑猴紒");
-            System.exit(1);
-        }
-        SpringApplication.run(RuoYiApplication.class, args);
-    }
-
-    private static boolean validateStartup() {
-        try {
-            Scanner scanner = new Scanner(System.in);
-            System.out.print("璇疯緭鍏ュ惎鍔ㄥ瘑鐮�: ");
-            String input = scanner.nextLine();
-            
-            // 鍔犲瘑杈撳叆鐨勫瘑鐮�
-            String encryptedInput = encrypt(input);
-            
-            // 姣旇緝鍔犲瘑鍚庣殑缁撴灉
-            return ENCRYPTED_CODE.equals(encryptedInput);
-        } catch (Exception e) {
-            e.printStackTrace();
-            return false;
-        }
-    }
-
-    // AES鍔犲瘑鏂规硶
-    private static String encrypt(String value) throws Exception {
-        SecretKeySpec key = new SecretKeySpec(SECRET_KEY.getBytes("UTF-8"), "AES");
-        Cipher cipher = Cipher.getInstance("AES");
-        cipher.init(Cipher.ENCRYPT_MODE, key);
-        byte[] encrypted = cipher.doFinal(value.getBytes());
-        return Base64.getEncoder().encodeToString(encrypted);
-    }
-
-    // 鐢ㄤ簬鐢熸垚鍔犲瘑鍚庣殑楠岃瘉鐮�
-    public static void generateEncryptedCode(String password) throws Exception {
-        System.out.println("Encrypted code: " + encrypt(password));
-    }
-} 
\ No newline at end of file
diff --git a/billion-main/src/main/java/com/billion/main/api/service/impl/CollectQualityDataServiceImpl.java b/billion-main/src/main/java/com/billion/main/api/service/impl/CollectQualityDataServiceImpl.java
deleted file mode 100644
index de64b8e..0000000
--- a/billion-main/src/main/java/com/billion/main/api/service/impl/CollectQualityDataServiceImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.billion.main.api.service.impl;
-
-import com.billion.main.api.domain.CollectQualityData;
-import com.billion.main.api.service.ICollectQualityDataService;
-import com.billion.main.da.service.IDaMaterialCollectionService;
-import com.billion.main.da.service.IDaParamCollectionService;
-import com.billion.main.da.service.IDaTightenCollectionService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * 鐗╂枡閲囬泦Service涓氬姟灞傚鐞�
- * 
- * @author Billion-Yi
- * @date 2024-11-22
- */
-@Service
-public class CollectQualityDataServiceImpl implements ICollectQualityDataService
-{
-    @Autowired
-    private IDaMaterialCollectionService daMaterialCollectionService;
-    @Autowired
-    private IDaParamCollectionService daParamCollectionService;
-    @Autowired
-    private IDaTightenCollectionService daTightenCollectionService;
-
-
-    @Transactional
-    @Override
-    public boolean postCollectQualityData(CollectQualityData collectQualityData) {
-
-        return false;
-    }
-}
diff --git a/billion-main/src/main/java/com/billion/main/da/controller/DaCollectionParamConfController.java b/billion-main/src/main/java/com/billion/main/da/controller/DaCollectionParamConfController.java
new file mode 100644
index 0000000..da54848
--- /dev/null
+++ b/billion-main/src/main/java/com/billion/main/da/controller/DaCollectionParamConfController.java
@@ -0,0 +1,98 @@
+package com.billion.main.da.controller;
+
+import com.billion.common.annotation.Log;
+import com.billion.common.core.controller.BaseController;
+import com.billion.common.core.domain.AjaxResult;
+import com.billion.common.core.page.TableDataInfo;
+import com.billion.common.enums.BusinessType;
+import com.billion.common.utils.poi.ExcelUtil;
+import com.billion.main.da.domain.DaCollectionParamConf;
+import com.billion.main.da.service.IDaCollectionParamConfService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 閲囬泦鍙傛暟閰嶇疆Controller
+ * 
+ * @author ruimin
+ * @date 2023-12-25
+ */
+@RestController
+@RequestMapping("/da/collectionParamConf")
+public class DaCollectionParamConfController extends BaseController
+{
+    @Autowired
+    private IDaCollectionParamConfService daCollectionParamConfService;
+
+    /**
+     * 鏌ヨ閲囬泦鍙傛暟閰嶇疆鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('da:collectionParamConf:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(DaCollectionParamConf daCollectionParamConf)
+    {
+        startPage();
+        List<DaCollectionParamConf> list = daCollectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭閲囬泦鍙傛暟閰嶇疆鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('da:collectionParamConf:export')")
+    @Log(title = "閲囬泦鍙傛暟閰嶇疆", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, DaCollectionParamConf daCollectionParamConf)
+    {
+        List<DaCollectionParamConf> list = daCollectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf);
+        ExcelUtil<DaCollectionParamConf> util = new ExcelUtil<DaCollectionParamConf>(DaCollectionParamConf.class);
+        util.exportExcel(response, list, "閲囬泦鍙傛暟閰嶇疆鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇閲囬泦鍙傛暟閰嶇疆璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('da:collectionParamConf:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(daCollectionParamConfService.selectDaCollectionParamConfById(id));
+    }
+
+    /**
+     * 鏂板閲囬泦鍙傛暟閰嶇疆
+     */
+    @PreAuthorize("@ss.hasPermi('da:collectionParamConf:add')")
+    @Log(title = "閲囬泦鍙傛暟閰嶇疆", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody DaCollectionParamConf daCollectionParamConf)
+    {
+        return toAjax(daCollectionParamConfService.insertDaCollectionParamConf(daCollectionParamConf));
+    }
+
+    /**
+     * 淇敼閲囬泦鍙傛暟閰嶇疆
+     */
+    @PreAuthorize("@ss.hasPermi('da:collectionParamConf:edit')")
+    @Log(title = "閲囬泦鍙傛暟閰嶇疆", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody DaCollectionParamConf daCollectionParamConf)
+    {
+        return toAjax(daCollectionParamConfService.updateDaCollectionParamConf(daCollectionParamConf));
+    }
+
+    /**
+     * 鍒犻櫎閲囬泦鍙傛暟閰嶇疆
+     */
+    @PreAuthorize("@ss.hasPermi('da:collectionParamConf:remove')")
+    @Log(title = "閲囬泦鍙傛暟閰嶇疆", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(daCollectionParamConfService.deleteDaCollectionParamConfByIds(ids));
+    }
+}
diff --git a/billion-main/src/main/java/com/billion/main/da/controller/DaTightenCollectionController.java b/billion-main/src/main/java/com/billion/main/da/controller/DaTightenCollectionController.java
index 9e49def..cb55778 100644
--- a/billion-main/src/main/java/com/billion/main/da/controller/DaTightenCollectionController.java
+++ b/billion-main/src/main/java/com/billion/main/da/controller/DaTightenCollectionController.java
@@ -1,34 +1,29 @@
 package com.billion.main.da.controller;
 
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+
 import com.billion.common.annotation.Log;
 import com.billion.common.core.controller.BaseController;
 import com.billion.common.core.domain.AjaxResult;
+import com.billion.common.core.page.TableDataInfo;
 import com.billion.common.enums.BusinessType;
+import com.billion.common.utils.poi.ExcelUtil;
 import com.billion.main.da.domain.DaTightenCollection;
 import com.billion.main.da.service.IDaTightenCollectionService;
-import com.billion.common.utils.poi.ExcelUtil;
-import com.billion.common.core.page.TableDataInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
 
 /**
  * 鎷х揣閲囬泦Controller
  * 
- * @author Billion-Yi
- * @date 2024-11-22
+ * @author Yi
+ * @date 2025-05-06
  */
 @RestController
-@RequestMapping("/da/tightenCollection")
+    @RequestMapping("/da/tightenCollection")
 public class DaTightenCollectionController extends BaseController
 {
     @Autowired
diff --git a/billion-main/src/main/java/com/billion/main/da/domain/DaCollectionParamConf.java b/billion-main/src/main/java/com/billion/main/da/domain/DaCollectionParamConf.java
new file mode 100644
index 0000000..8f58444
--- /dev/null
+++ b/billion-main/src/main/java/com/billion/main/da/domain/DaCollectionParamConf.java
@@ -0,0 +1,339 @@
+package com.billion.main.da.domain;
+
+import com.billion.common.annotation.Excel;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 閲囬泦鍙傛暟閰嶇疆瀵硅薄 da_collection_param_conf
+ * 
+ * @author ruimin
+ * @date 2023-12-25
+ */
+public class DaCollectionParamConf
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 涓婚敭id */
+    private Long id;
+
+    /** 宸ュ簭缂栧彿 */
+    @Excel(name = "宸ュ簭缂栧彿")
+    private String processesCode;
+
+    /** 鍙傛暟闆嗙紪鐮� */
+    @Excel(name = "鍙傛暟闆嗙紪鐮�")
+    private String parameterSetCode;
+
+    /** 鍙傛暟闆嗗悕绉� */
+    @Excel(name = "鍙傛暟闆嗗悕绉�")
+    private String parameterSetName;
+
+    /** 閲囬泦鍙傛暟ID */
+    @Excel(name = "閲囬泦鍙傛暟ID")
+    private String collectParameterId;
+
+    /** 閲囬泦鍙傛暟鍚嶇О */
+    @Excel(name = "閲囬泦鍙傛暟鍚嶇О")
+    private String collectParameterName;
+
+    /** 鏄惁浣滀负瀵规瘮鍙傛暟 */
+    @Excel(name = "鏄惁浣滀负瀵规瘮鍙傛暟")
+    private String contrastParameterFlag;
+
+    /** 閲囬泦鍙傛暟绫诲瀷 */
+    @Excel(name = "閲囬泦鍙傛暟绫诲瀷")
+    private String collectParameterType;
+
+    /** 閲囬泦鍙傛暟鍗曚綅 */
+    @Excel(name = "閲囬泦鍙傛暟鍗曚綅")
+    private String collectParameterUnit;
+
+    /** 鏁版嵁鎻忚堪 */
+    @Excel(name = "鏁版嵁鎻忚堪")
+    private String Descriptives;
+
+    /** 涓婇檺鍊� */
+    @Excel(name = "涓婇檺鍊�")
+    private String paramUpper;
+
+    /** 涓嬮檺鍊� */
+    @Excel(name = "涓嬮檺鍊�")
+    private String paramLower;
+
+    /** 涓績鍊� */
+    @Excel(name = "涓績鍊�")
+    private String paramCentral;
+
+    /** 浜у搧缂栫爜 */
+    @Excel(name = "浜у搧缂栫爜")
+    private String productCode;
+
+    /** 閲囬泦鍦板潃 */
+    @Excel(name = "閲囬泦鍦板潃")
+    private String gatherAddress;
+
+    /** 閲囬泦椤哄簭 */
+    @Excel(name = "閲囬泦椤哄簭")
+    private String gatherSequence;
+
+    /** 澶囨敞 */
+    @Excel(name = "澶囨敞")
+    private String remarks;
+
+    /** 鍒涘缓鐢ㄦ埛 */
+    @Excel(name = "鍒涘缓鐢ㄦ埛")
+    private String createUser;
+
+    /** 鏇存敼鐢ㄦ埛 */
+    @Excel(name = "鏇存敼鐢ㄦ埛")
+    private String updateUser;
+
+    /** 棰勭暀瀛楁1 */
+    private String spareField1;
+
+    /** 棰勭暀瀛楁2 */
+    private String spareField2;
+
+    /** 棰勭暀瀛楁3 */
+    private String spareField3;
+
+    /** 棰勭暀瀛楁4 */
+    private String spareField4;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setProcessesCode(String processesCode) 
+    {
+        this.processesCode = processesCode;
+    }
+
+    public String getProcessesCode() 
+    {
+        return processesCode;
+    }
+    public void setParameterSetCode(String parameterSetCode) 
+    {
+        this.parameterSetCode = parameterSetCode;
+    }
+
+    public String getParameterSetCode() 
+    {
+        return parameterSetCode;
+    }
+    public void setParameterSetName(String parameterSetName) 
+    {
+        this.parameterSetName = parameterSetName;
+    }
+
+    public String getParameterSetName() 
+    {
+        return parameterSetName;
+    }
+    public void setCollectParameterId(String collectParameterId) 
+    {
+        this.collectParameterId = collectParameterId;
+    }
+
+    public String getCollectParameterId() 
+    {
+        return collectParameterId;
+    }
+    public void setCollectParameterName(String collectParameterName) 
+    {
+        this.collectParameterName = collectParameterName;
+    }
+
+    public String getCollectParameterName() 
+    {
+        return collectParameterName;
+    }
+    public void setContrastParameterFlag(String contrastParameterFlag) 
+    {
+        this.contrastParameterFlag = contrastParameterFlag;
+    }
+
+    public String getContrastParameterFlag() 
+    {
+        return contrastParameterFlag;
+    }
+    public void setCollectParameterType(String collectParameterType) 
+    {
+        this.collectParameterType = collectParameterType;
+    }
+
+    public String getCollectParameterType() 
+    {
+        return collectParameterType;
+    }
+    public void setCollectParameterUnit(String collectParameterUnit) 
+    {
+        this.collectParameterUnit = collectParameterUnit;
+    }
+
+    public String getCollectParameterUnit() 
+    {
+        return collectParameterUnit;
+    }
+    public void setDescriptives(String Descriptives) 
+    {
+        this.Descriptives = Descriptives;
+    }
+
+    public String getDescriptives() 
+    {
+        return Descriptives;
+    }
+    public void setParamUpper(String paramUpper) 
+    {
+        this.paramUpper = paramUpper;
+    }
+
+    public String getParamUpper() 
+    {
+        return paramUpper;
+    }
+    public void setParamLower(String paramLower) 
+    {
+        this.paramLower = paramLower;
+    }
+
+    public String getParamLower() 
+    {
+        return paramLower;
+    }
+    public void setParamCentral(String paramCentral) 
+    {
+        this.paramCentral = paramCentral;
+    }
+
+    public String getParamCentral() 
+    {
+        return paramCentral;
+    }
+    public void setProductCode(String productCode) 
+    {
+        this.productCode = productCode;
+    }
+
+    public String getProductCode() 
+    {
+        return productCode;
+    }
+    public void setGatherAddress(String gatherAddress) 
+    {
+        this.gatherAddress = gatherAddress;
+    }
+
+    public String getGatherAddress() 
+    {
+        return gatherAddress;
+    }
+    public void setGatherSequence(String gatherSequence) 
+    {
+        this.gatherSequence = gatherSequence;
+    }
+
+    public String getGatherSequence() 
+    {
+        return gatherSequence;
+    }
+    public void setRemarks(String remarks) 
+    {
+        this.remarks = remarks;
+    }
+
+    public String getRemarks() 
+    {
+        return remarks;
+    }
+    public void setCreateUser(String createUser) 
+    {
+        this.createUser = createUser;
+    }
+
+    public String getCreateUser() 
+    {
+        return createUser;
+    }
+    public void setUpdateUser(String updateUser) 
+    {
+        this.updateUser = updateUser;
+    }
+
+    public String getUpdateUser() 
+    {
+        return updateUser;
+    }
+    public void setSpareField1(String spareField1) 
+    {
+        this.spareField1 = spareField1;
+    }
+
+    public String getSpareField1() 
+    {
+        return spareField1;
+    }
+    public void setSpareField2(String spareField2) 
+    {
+        this.spareField2 = spareField2;
+    }
+
+    public String getSpareField2() 
+    {
+        return spareField2;
+    }
+    public void setSpareField3(String spareField3) 
+    {
+        this.spareField3 = spareField3;
+    }
+
+    public String getSpareField3() 
+    {
+        return spareField3;
+    }
+    public void setSpareField4(String spareField4) 
+    {
+        this.spareField4 = spareField4;
+    }
+
+    public String getSpareField4() 
+    {
+        return spareField4;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("processesCode", getProcessesCode())
+            .append("parameterSetCode", getParameterSetCode())
+            .append("parameterSetName", getParameterSetName())
+            .append("collectParameterId", getCollectParameterId())
+            .append("collectParameterName", getCollectParameterName())
+            .append("contrastParameterFlag", getContrastParameterFlag())
+            .append("collectParameterType", getCollectParameterType())
+            .append("collectParameterUnit", getCollectParameterUnit())
+            .append("Descriptives", getDescriptives())
+            .append("paramUpper", getParamUpper())
+            .append("paramLower", getParamLower())
+            .append("paramCentral", getParamCentral())
+            .append("productCode", getProductCode())
+            .append("gatherAddress", getGatherAddress())
+            .append("gatherSequence", getGatherSequence())
+            .append("remarks", getRemarks())
+            .append("createUser", getCreateUser())
+            .append("spareField1", getSpareField1())
+            .append("spareField2", getSpareField2())
+            .append("spareField3", getSpareField3())
+            .append("spareField4", getSpareField4())
+            .toString();
+    }
+}
diff --git a/billion-main/src/main/java/com/billion/main/da/domain/DaTightenCollection.java b/billion-main/src/main/java/com/billion/main/da/domain/DaTightenCollection.java
index 2b807e7..42e292d 100644
--- a/billion-main/src/main/java/com/billion/main/da/domain/DaTightenCollection.java
+++ b/billion-main/src/main/java/com/billion/main/da/domain/DaTightenCollection.java
@@ -1,23 +1,19 @@
 package com.billion.main.da.domain;
 
-import java.util.Date;
-
-import com.baomidou.mybatisplus.annotation.TableField;
+import com.billion.common.annotation.Excel;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
-import com.billion.common.annotation.Excel;
-import com.billion.main.common.BaseEntity;
+
+import java.util.Date;
 
 /**
  * 鎷х揣閲囬泦瀵硅薄 da_tighten_collection
  * 
- * @author Billion-Yi
- * @date 2024-11-22
+ * @author Yi
+ * @date 2025-05-06
  */
-@Data
-public class DaTightenCollection extends BaseEntity
+public class DaTightenCollection
 {
     private static final long serialVersionUID = 1L;
 
@@ -61,13 +57,109 @@
     @Excel(name = "閲囬泦鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date collectTime;
 
-    @TableField(exist = false)
-    private String[] timeQuery;
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
 
-    @TableField(exist = false)
-    private String startTime;
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setSfcCode(String sfcCode) 
+    {
+        this.sfcCode = sfcCode;
+    }
 
-    @TableField(exist = false)
-    private String stopTime;
+    public String getSfcCode() 
+    {
+        return sfcCode;
+    }
+    public void setLocationCode(String locationCode) 
+    {
+        this.locationCode = locationCode;
+    }
 
+    public String getLocationCode() 
+    {
+        return locationCode;
+    }
+    public void setParamSetCode(String paramSetCode) 
+    {
+        this.paramSetCode = paramSetCode;
+    }
+
+    public String getParamSetCode() 
+    {
+        return paramSetCode;
+    }
+    public void setParamSetName(String paramSetName) 
+    {
+        this.paramSetName = paramSetName;
+    }
+
+    public String getParamSetName() 
+    {
+        return paramSetName;
+    }
+    public void setTorque(String torque) 
+    {
+        this.torque = torque;
+    }
+
+    public String getTorque() 
+    {
+        return torque;
+    }
+    public void setTorqueStatus(String torqueStatus) 
+    {
+        this.torqueStatus = torqueStatus;
+    }
+
+    public String getTorqueStatus() 
+    {
+        return torqueStatus;
+    }
+    public void setAngle(String angle) 
+    {
+        this.angle = angle;
+    }
+
+    public String getAngle() 
+    {
+        return angle;
+    }
+    public void setAngleStatus(String angleStatus) 
+    {
+        this.angleStatus = angleStatus;
+    }
+
+    public String getAngleStatus() 
+    {
+        return angleStatus;
+    }
+
+    public Date getCollectTime() {
+        return collectTime;
+    }
+
+    public void setCollectTime(Date collectTime) {
+        this.collectTime = collectTime;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("sfcCode", getSfcCode())
+            .append("locationCode", getLocationCode())
+            .append("paramSetCode", getParamSetCode())
+            .append("paramSetName", getParamSetName())
+            .append("torque", getTorque())
+            .append("torqueStatus", getTorqueStatus())
+            .append("angle", getAngle())
+            .append("angleStatus", getAngleStatus())
+            .append("collectTime", getCollectTime())
+            .toString();
+    }
 }
diff --git a/billion-main/src/main/java/com/billion/main/da/mapper/DaCollectionParamConfMapper.java b/billion-main/src/main/java/com/billion/main/da/mapper/DaCollectionParamConfMapper.java
new file mode 100644
index 0000000..f9ee568
--- /dev/null
+++ b/billion-main/src/main/java/com/billion/main/da/mapper/DaCollectionParamConfMapper.java
@@ -0,0 +1,65 @@
+package com.billion.main.da.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.billion.main.da.domain.DaCollectionParamConf;
+
+import java.util.List;
+
+/**
+ * 閲囬泦鍙傛暟閰嶇疆Mapper鎺ュ彛
+ * 
+ * @author ruimin
+ * @date 2023-12-25
+ */
+public interface DaCollectionParamConfMapper extends BaseMapper<DaCollectionParamConf>
+{
+    /**
+     * 鏌ヨ閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @param id 閲囬泦鍙傛暟閰嶇疆涓婚敭
+     * @return 閲囬泦鍙傛暟閰嶇疆
+     */
+    public DaCollectionParamConf selectDaCollectionParamConfById(Long id);
+
+    /**
+     * 鏌ヨ閲囬泦鍙傛暟閰嶇疆鍒楄〃
+     * 
+     * @param daCollectionParamConf 閲囬泦鍙傛暟閰嶇疆
+     * @return 閲囬泦鍙傛暟閰嶇疆闆嗗悎
+     */
+    public List<DaCollectionParamConf> selectDaCollectionParamConfList(DaCollectionParamConf daCollectionParamConf);
+    public List<DaCollectionParamConf> getSelectOption(DaCollectionParamConf daCollectionParamConf);
+
+    /**
+     * 鏂板閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @param daCollectionParamConf 閲囬泦鍙傛暟閰嶇疆
+     * @return 缁撴灉
+     */
+    public int insertDaCollectionParamConf(DaCollectionParamConf daCollectionParamConf);
+
+    /**
+     * 淇敼閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @param daCollectionParamConf 閲囬泦鍙傛暟閰嶇疆
+     * @return 缁撴灉
+     */
+    public int updateDaCollectionParamConf(DaCollectionParamConf daCollectionParamConf);
+
+    /**
+     * 鍒犻櫎閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @param id 閲囬泦鍙傛暟閰嶇疆涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteDaCollectionParamConfById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteDaCollectionParamConfByIds(Long[] ids);
+}
diff --git a/billion-main/src/main/java/com/billion/main/da/mapper/DaTightenCollectionMapper.java b/billion-main/src/main/java/com/billion/main/da/mapper/DaTightenCollectionMapper.java
index 4f0d15f..3a79389 100644
--- a/billion-main/src/main/java/com/billion/main/da/mapper/DaTightenCollectionMapper.java
+++ b/billion-main/src/main/java/com/billion/main/da/mapper/DaTightenCollectionMapper.java
@@ -1,17 +1,17 @@
 package com.billion.main.da.mapper;
 
-import java.util.List;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.billion.main.da.domain.DaTightenCollection;
+
+import java.util.List;
 
 /**
  * 鎷х揣閲囬泦Mapper鎺ュ彛
  * 
- * @author Billion-Yi
- * @date 2024-11-22
+ * @author Yi
+ * @date 2025-05-06
  */
-public interface DaTightenCollectionMapper extends BaseMapper<DaTightenCollection>
+public interface DaTightenCollectionMapper 
 {
     /**
      * 鏌ヨ鎷х揣閲囬泦
diff --git a/billion-main/src/main/java/com/billion/main/da/service/IDaCollectionParamConfService.java b/billion-main/src/main/java/com/billion/main/da/service/IDaCollectionParamConfService.java
new file mode 100644
index 0000000..db43c5c
--- /dev/null
+++ b/billion-main/src/main/java/com/billion/main/da/service/IDaCollectionParamConfService.java
@@ -0,0 +1,66 @@
+package com.billion.main.da.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.billion.main.da.domain.DaCollectionParamConf;
+import com.billion.main.da.domain.DaParamCollection;
+
+import java.util.List;
+
+/**
+ * 閲囬泦鍙傛暟閰嶇疆Service鎺ュ彛
+ * 
+ * @author ruimin
+ * @date 2023-12-25
+ */
+public interface IDaCollectionParamConfService extends IService<DaCollectionParamConf>
+{
+    /**
+     * 鏌ヨ閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @param id 閲囬泦鍙傛暟閰嶇疆涓婚敭
+     * @return 閲囬泦鍙傛暟閰嶇疆
+     */
+    public DaCollectionParamConf selectDaCollectionParamConfById(Long id);
+
+    /**
+     * 鏌ヨ閲囬泦鍙傛暟閰嶇疆鍒楄〃
+     * 
+     * @param daCollectionParamConf 閲囬泦鍙傛暟閰嶇疆
+     * @return 閲囬泦鍙傛暟閰嶇疆闆嗗悎
+     */
+    public List<DaCollectionParamConf> selectDaCollectionParamConfList(DaCollectionParamConf daCollectionParamConf);
+    public List<DaCollectionParamConf> getSelectOption(DaCollectionParamConf daCollectionParamConf);
+
+    /**
+     * 鏂板閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @param daCollectionParamConf 閲囬泦鍙傛暟閰嶇疆
+     * @return 缁撴灉
+     */
+    public int insertDaCollectionParamConf(DaCollectionParamConf daCollectionParamConf);
+
+    /**
+     * 淇敼閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @param daCollectionParamConf 閲囬泦鍙傛暟閰嶇疆
+     * @return 缁撴灉
+     */
+    public int updateDaCollectionParamConf(DaCollectionParamConf daCollectionParamConf);
+
+    /**
+     * 鎵归噺鍒犻櫎閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑閲囬泦鍙傛暟閰嶇疆涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteDaCollectionParamConfByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎閲囬泦鍙傛暟閰嶇疆淇℃伅
+     * 
+     * @param id 閲囬泦鍙傛暟閰嶇疆涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteDaCollectionParamConfById(Long id);
+}
diff --git a/billion-main/src/main/java/com/billion/main/da/service/IDaTightenCollectionService.java b/billion-main/src/main/java/com/billion/main/da/service/IDaTightenCollectionService.java
index 1ba17ef..ab3447f 100644
--- a/billion-main/src/main/java/com/billion/main/da/service/IDaTightenCollectionService.java
+++ b/billion-main/src/main/java/com/billion/main/da/service/IDaTightenCollectionService.java
@@ -1,17 +1,17 @@
 package com.billion.main.da.service;
 
-import java.util.List;
 
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.billion.main.da.domain.DaTightenCollection;
+
+import java.util.List;
 
 /**
  * 鎷х揣閲囬泦Service鎺ュ彛
  * 
- * @author Billion-Yi
- * @date 2024-11-22
+ * @author Yi
+ * @date 2025-05-06
  */
-public interface IDaTightenCollectionService extends IService<DaTightenCollection>
+public interface IDaTightenCollectionService 
 {
     /**
      * 鏌ヨ鎷х揣閲囬泦
@@ -60,4 +60,7 @@
      * @return 缁撴灉
      */
     public int deleteDaTightenCollectionById(Long id);
+
+    void saveBeachDaTightenCollection(List<DaTightenCollection> list);
+
 }
diff --git a/billion-main/src/main/java/com/billion/main/da/service/impl/DaCollectionParamConfServiceImpl.java b/billion-main/src/main/java/com/billion/main/da/service/impl/DaCollectionParamConfServiceImpl.java
new file mode 100644
index 0000000..38670da
--- /dev/null
+++ b/billion-main/src/main/java/com/billion/main/da/service/impl/DaCollectionParamConfServiceImpl.java
@@ -0,0 +1,104 @@
+package com.billion.main.da.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.billion.common.utils.DateUtils;
+import com.billion.main.da.domain.DaCollectionParamConf;
+import com.billion.main.da.domain.DaParamCollection;
+import com.billion.main.da.mapper.DaCollectionParamConfMapper;
+import com.billion.main.da.mapper.DaParamCollectionMapper;
+import com.billion.main.da.service.IDaCollectionParamConfService;
+import com.billion.main.da.service.IDaParamCollectionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 閲囬泦鍙傛暟閰嶇疆Service涓氬姟灞傚鐞�
+ * 
+ * @author ruimin
+ * @date 2023-12-25
+ */
+@Service
+public class DaCollectionParamConfServiceImpl extends ServiceImpl<DaCollectionParamConfMapper, DaCollectionParamConf> implements IDaCollectionParamConfService
+{
+    @Autowired
+    private DaCollectionParamConfMapper daCollectionParamConfMapper;
+
+    /**
+     * 鏌ヨ閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @param id 閲囬泦鍙傛暟閰嶇疆涓婚敭
+     * @return 閲囬泦鍙傛暟閰嶇疆
+     */
+    @Override
+    public DaCollectionParamConf selectDaCollectionParamConfById(Long id)
+    {
+        return daCollectionParamConfMapper.selectDaCollectionParamConfById(id);
+    }
+
+    /**
+     * 鏌ヨ閲囬泦鍙傛暟閰嶇疆鍒楄〃
+     * 
+     * @param daCollectionParamConf 閲囬泦鍙傛暟閰嶇疆
+     * @return 閲囬泦鍙傛暟閰嶇疆
+     */
+    @Override
+    public List<DaCollectionParamConf> selectDaCollectionParamConfList(DaCollectionParamConf daCollectionParamConf)
+    {
+        return daCollectionParamConfMapper.selectDaCollectionParamConfList(daCollectionParamConf);
+    }
+
+    @Override
+    public List<DaCollectionParamConf> getSelectOption(DaCollectionParamConf daCollectionParamConf) {
+        return daCollectionParamConfMapper.getSelectOption(daCollectionParamConf);
+    }
+
+    /**
+     * 鏂板閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @param daCollectionParamConf 閲囬泦鍙傛暟閰嶇疆
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertDaCollectionParamConf(DaCollectionParamConf daCollectionParamConf)
+    {
+        return daCollectionParamConfMapper.insertDaCollectionParamConf(daCollectionParamConf);
+    }
+
+    /**
+     * 淇敼閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @param daCollectionParamConf 閲囬泦鍙傛暟閰嶇疆
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateDaCollectionParamConf(DaCollectionParamConf daCollectionParamConf)
+    {
+        return daCollectionParamConfMapper.updateDaCollectionParamConf(daCollectionParamConf);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑閲囬泦鍙傛暟閰嶇疆涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteDaCollectionParamConfByIds(Long[] ids)
+    {
+        return daCollectionParamConfMapper.deleteDaCollectionParamConfByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎閲囬泦鍙傛暟閰嶇疆淇℃伅
+     * 
+     * @param id 閲囬泦鍙傛暟閰嶇疆涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteDaCollectionParamConfById(Long id)
+    {
+        return daCollectionParamConfMapper.deleteDaCollectionParamConfById(id);
+    }
+}
diff --git a/billion-main/src/main/java/com/billion/main/da/service/impl/DaTightenCollectionServiceImpl.java b/billion-main/src/main/java/com/billion/main/da/service/impl/DaTightenCollectionServiceImpl.java
index 1f4809f..7086253 100644
--- a/billion-main/src/main/java/com/billion/main/da/service/impl/DaTightenCollectionServiceImpl.java
+++ b/billion-main/src/main/java/com/billion/main/da/service/impl/DaTightenCollectionServiceImpl.java
@@ -1,25 +1,32 @@
 package com.billion.main.da.service.impl;
 
-import java.util.Date;
-import java.util.List;
-
-import cn.hutool.core.util.ObjectUtil;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.billion.main.da.domain.DaTightenCollection;
+import com.billion.main.da.mapper.DaTightenCollectionMapper;
+import com.billion.main.da.service.IDaTightenCollectionService;
+import org.apache.ibatis.session.ExecutorType;
+import org.apache.ibatis.session.SqlSession;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.billion.main.da.mapper.DaTightenCollectionMapper;
-import com.billion.main.da.domain.DaTightenCollection;
-import com.billion.main.da.service.IDaTightenCollectionService;
+
+import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 鎷х揣閲囬泦Service涓氬姟灞傚鐞�
  * 
- * @author Billion-Yi
- * @date 2024-11-22
+ * @author Yi
+ * @date 2025-05-06
  */
 @Service
-public class DaTightenCollectionServiceImpl extends ServiceImpl<DaTightenCollectionMapper, DaTightenCollection> implements IDaTightenCollectionService
+public class DaTightenCollectionServiceImpl implements IDaTightenCollectionService
 {
+    private static final Logger logger = LoggerFactory.getLogger(DaTightenCollectionServiceImpl.class);
+    
+    @Resource
+    private SqlSessionFactory sqlSessionFactory;
     @Autowired
     private DaTightenCollectionMapper daTightenCollectionMapper;
 
@@ -44,10 +51,6 @@
     @Override
     public List<DaTightenCollection> selectDaTightenCollectionList(DaTightenCollection daTightenCollection)
     {
-        if(ObjectUtil.isNotNull(daTightenCollection.getTimeQuery())){
-            daTightenCollection.setStartTime(daTightenCollection.getTimeQuery()[0]);
-            daTightenCollection.setStopTime(daTightenCollection.getTimeQuery()[1]);
-        }
         return daTightenCollectionMapper.selectDaTightenCollectionList(daTightenCollection);
     }
 
@@ -60,7 +63,6 @@
     @Override
     public int insertDaTightenCollection(DaTightenCollection daTightenCollection)
     {
-        daTightenCollection.setCollectTime(new Date());
         return daTightenCollectionMapper.insertDaTightenCollection(daTightenCollection);
     }
 
@@ -99,4 +101,20 @@
     {
         return daTightenCollectionMapper.deleteDaTightenCollectionById(id);
     }
+
+    @Override
+    public void saveBeachDaTightenCollection(List<DaTightenCollection> list) {
+        SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
+        try {
+            DaTightenCollectionMapper userMapper = sqlSession.getMapper(DaTightenCollectionMapper.class);
+            list.stream().forEach(DaTightenCollection -> userMapper.insertDaTightenCollection(DaTightenCollection));
+            // 鎻愪氦鏁版嵁
+            sqlSession.commit();
+        } catch (Exception e) {
+            logger.error("鎵归噺淇濆瓨鎷х揣閲囬泦鏁版嵁澶辫触", e);
+            sqlSession.rollback();
+        } finally {
+            sqlSession.close();
+        }
+    }
 }
diff --git a/billion-main/src/main/java/com/billion/main/plc/CustomRunner.java b/billion-main/src/main/java/com/billion/main/plc/CustomRunner.java
index d6febf1..6e838d3 100644
--- a/billion-main/src/main/java/com/billion/main/plc/CustomRunner.java
+++ b/billion-main/src/main/java/com/billion/main/plc/CustomRunner.java
@@ -3,8 +3,10 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.billion.main.da.service.IDaCollectionParamConfService;
 import com.billion.main.da.service.IDaParamCollectionService;
 import com.billion.main.da.service.IDaStationCollectionService;
+import com.billion.main.da.service.IDaTightenCollectionService;
 import com.billion.main.plc.constant.Constants;
 import com.billion.main.plc.sub.OPCUaSubscription;
 import com.billion.main.sc.domain.ScOpcConf;
@@ -34,6 +36,10 @@
     private IDaParamCollectionService paramCollectionService;
     @Autowired
     private IDaStationCollectionService stationCollectionService;
+    @Autowired
+    private IDaCollectionParamConfService daCollectionParamConfService;
+    @Autowired
+    private IDaTightenCollectionService daTightenCollectionService;
 
     @Resource
     private SysNoticeServiceImpl sysNoticeService;
@@ -46,7 +52,9 @@
                 collectionParamConfService,
                 paramCollectionService,
                 stationCollectionService,
-                sysNoticeService);
+                sysNoticeService,
+                daCollectionParamConfService,
+                daTightenCollectionService);
 
         List<String> lists = getSubList();
         System.out.println("璁㈤槄鍐呭锛�"+lists);
diff --git a/billion-main/src/main/java/com/billion/main/plc/constant/Constants.java b/billion-main/src/main/java/com/billion/main/plc/constant/Constants.java
index b33be6a..fac8e3d 100644
--- a/billion-main/src/main/java/com/billion/main/plc/constant/Constants.java
+++ b/billion-main/src/main/java/com/billion/main/plc/constant/Constants.java
@@ -1,9 +1,6 @@
 package com.billion.main.plc.constant;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 public class Constants {
 
@@ -96,11 +93,8 @@
     public static final Integer INT_THREE= 3;
     public static final Integer INT_FOUR= 4;
     public static final Integer INT_ZERO= 0;
-//    public static final String FACTORY_EMS_UAT_GET_RUL = "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration/";
-//    public static final String FACTORY_EMS_UAT_POST_RUL = "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/interface/";
-    public static final String FACTORY_EMS_UAT_GET_RUL = "https://imes-group.geelycv.com/api/mom-open/restful/aMesSysIntegration/";
-    public static final String FACTORY_EMS_UAT_POST_RUL = "https://imes-group.geelycv.com/api/mom-open/restful/interface/";
-    public static final String FACTORY_EMS_SITE_CODE = "3983";
-
+    public static final List LEAKAGEDETECTION_LIST = Arrays.asList("OP660","OP670"); //澶栨紡妫�娴�
+    public static final List OIL_FILLING_LIST = Arrays.asList("OP430"); //鏈烘补鍔犳敞鏁版嵁
+    public static final List TIGHTENCOLLECTION_LIST = Arrays.asList("OP160", "OP220", "OP240", "OP390"); //鎷х揣鏁版嵁
 
 }
diff --git a/billion-main/src/main/java/com/billion/main/plc/sub/OPCUaSubscription.java b/billion-main/src/main/java/com/billion/main/plc/sub/OPCUaSubscription.java
index cb8d83f..7a784e7 100644
--- a/billion-main/src/main/java/com/billion/main/plc/sub/OPCUaSubscription.java
+++ b/billion-main/src/main/java/com/billion/main/plc/sub/OPCUaSubscription.java
@@ -3,18 +3,16 @@
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjUtil;
-import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
-import cn.hutool.http.HttpRequest;
-import cn.hutool.http.HttpResponse;
-import cn.hutool.json.JSONUtil;
-import com.alibaba.druid.sql.visitor.functions.Substring;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.billion.main.api.domain.StationST180;
+import com.billion.main.da.domain.DaCollectionParamConf;
 import com.billion.main.da.domain.DaParamCollection;
 import com.billion.main.da.domain.DaStationCollection;
+import com.billion.main.da.domain.DaTightenCollection;
+import com.billion.main.da.service.IDaCollectionParamConfService;
 import com.billion.main.da.service.IDaParamCollectionService;
 import com.billion.main.da.service.IDaStationCollectionService;
+import com.billion.main.da.service.IDaTightenCollectionService;
 import com.billion.main.plc.constant.Constants;
 import com.billion.main.sc.domain.ScCollectionParamConf;
 import com.billion.main.sc.service.IScCollectionParamConfService;
@@ -24,8 +22,9 @@
 import com.kangaroohy.milo.runner.subscription.SubscriptionCallback;
 import com.kangaroohy.milo.service.MiloService;
 import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
-import com.alibaba.fastjson.JSONObject;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -38,22 +37,26 @@
 @Slf4j
 @Component
 public class OPCUaSubscription implements SubscriptionCallback {
+    private static final Logger logger = LoggerFactory.getLogger("sys-user");
 
     public static MiloService miloService;
     public static IScCollectionParamConfService collectionParamConfService;
     public static IDaParamCollectionService paramCollectionService;
     public static IDaStationCollectionService stationCollectionService;
-
+    public static IDaCollectionParamConfService daCollectionParamConfService;
+    public static IDaTightenCollectionService daTightenCollectionService;
     public static SysNoticeServiceImpl sysNoticeService;
 
     public OPCUaSubscription(MiloService miloService, IScCollectionParamConfService collectionParamConfService
-            ,IDaParamCollectionService paramCollectionService,IDaStationCollectionService stationCollectionService,SysNoticeServiceImpl sysNoticeService) {
+            ,IDaParamCollectionService paramCollectionService,IDaStationCollectionService stationCollectionService,SysNoticeServiceImpl sysNoticeService
+            ,IDaCollectionParamConfService daCollectionParamConfService,IDaTightenCollectionService daTightenCollectionService) {
         OPCUaSubscription.miloService = miloService;
         OPCUaSubscription.collectionParamConfService = collectionParamConfService;
         OPCUaSubscription.paramCollectionService = paramCollectionService;
         OPCUaSubscription.stationCollectionService = stationCollectionService;
         OPCUaSubscription.sysNoticeService = sysNoticeService;
-
+        OPCUaSubscription.daCollectionParamConfService = daCollectionParamConfService;
+        OPCUaSubscription.daTightenCollectionService = daTightenCollectionService;
     }
 
     @Override
@@ -100,8 +103,8 @@
                     if (ObjUtil.isNotNull(SNCodeObject)){
                         String SnCode = SNCodeObject.toString();
                         if (StrUtil.isNotBlank(SnCode)){
-                            savePassingStation(thoroughfare,device,"snCode");
-                            saveParamCollection(device, "snCode", "stationStatus");
+                            savePassingStation(thoroughfare,device,SnCode);
+                            saveParamCollection(device, SnCode, "stationStatus");
                         }
                     }
                     Integer result = Constants.INTEGER_TWO_ONE;
@@ -185,16 +188,17 @@
     private static void saveParamCollection(String device, String snCode, String stationStatus) {
         try {
             // 鏌ヨ鍙傛暟閰嶇疆琛�
-            List<ScCollectionParamConf> list = collectionParamConfService.list(new LambdaQueryWrapper<ScCollectionParamConf>()
-                    .eq(ScCollectionParamConf::getLocationCode, device)
-                    .eq(ScCollectionParamConf::getSubscribe, Constants.ONE)
-                    .orderByDesc(ScCollectionParamConf::getOrderNum)
+            List<DaCollectionParamConf> list = daCollectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>()
+                    .eq(DaCollectionParamConf::getProcessesCode, device)
+                    .eq(DaCollectionParamConf::getRemarks, Constants.ONE)
+                    .orderByAsc(DaCollectionParamConf::getGatherSequence)
             );
 
             if (CollUtil.isNotEmpty(list)) {
                 // 鑾峰彇鍙傛暟鍊�
                 List<String> collect = list.stream()
-                        .map(ScCollectionParamConf::getNode)
+                        .map(DaCollectionParamConf::getGatherAddress)
+                        .map(String::trim)
                         .collect(Collectors.toList());
                 List<ReadWriteEntity> readWriteEntityList = miloService.readFromOpcUa(collect);
 
@@ -220,19 +224,90 @@
      * 淇濆瓨閲囬泦鏁版嵁
      */
     private static void saveCollectionData(String device, String snCode,
-            List<ScCollectionParamConf> list, List<ReadWriteEntity> readWriteEntityList) {
+                                           List<DaCollectionParamConf> list, List<ReadWriteEntity> readWriteEntityList) {
         ArrayList<DaParamCollection> collectionList = new ArrayList<>();
-        for (int i = 0; i < readWriteEntityList.size(); i++) {
-            DaParamCollection daParamCollection = new DaParamCollection();
-            daParamCollection.setSfcCode(snCode);
-            daParamCollection.setLocationCode(device);
-            daParamCollection.setParamCode(list.get(i).getParamCode());
-            daParamCollection.setParamName(list.get(i).getParamName());
-            daParamCollection.setParamValue(readWriteEntityList.get(i).getValue().toString());
-            daParamCollection.setCollectTime(new Date());
-            collectionList.add(daParamCollection);
+
+        if(Constants.TIGHTENCOLLECTION_LIST.contains(device)){
+            //瀛樻嫥绱ф暟鎹�
+            try {
+                LinkedHashMap<String, Map<String, Object>> groupMap = new LinkedHashMap<>();
+                for (int i = 0; i < list.size(); i += 3) {
+                    try {
+                        String groupKey = String.valueOf(i/3);
+                        String paramSetName = list.get(i).getParameterSetName();
+                        int secondSlash = paramSetName.indexOf("/", paramSetName.indexOf("/") + 1);
+                        paramSetName = secondSlash > 0 ? paramSetName.substring(0, secondSlash) : paramSetName;
+
+                        Map<String, Object> paramMap = new HashMap<>();
+
+                        // 鑾峰彇鎵煩鍊�
+                        Object torqueObj = readWriteEntityList.get(i).getValue();
+                        String torqueValue = torqueObj == null ? null : torqueObj.toString();
+                        if (torqueValue != null && !"0.0".equals(torqueValue)) {
+                            paramMap.put("torque", Double.parseDouble(torqueValue));
+                        }
+
+                        // 鑾峰彇瑙掑害鍊�
+                        Object angleObj = readWriteEntityList.get(i + 1).getValue();
+                        String angleValue = angleObj == null ? null : angleObj.toString();
+                        if (angleValue != null && !"0.0".equals(angleValue)) {
+                            paramMap.put("angle", Double.parseDouble(angleValue));
+                        }
+
+                        // 鑾峰彇鐘舵�佸��
+                        Object statusObj = readWriteEntityList.get(i + 2).getValue();
+                        String statusValue = statusObj == null ? null : statusObj.toString();
+                        if (statusValue != null && !"0.0".equals(statusValue)) {
+                            paramMap.put("angleStatus", statusValue);
+                            paramMap.put("paramSetName", paramSetName);
+                            groupMap.put(groupKey, paramMap);
+                        }
+                    } catch (Exception e) {
+                        logger.error("{}鍙戝姩鏈烘嫥绱ф暟鎹{}缁勫鐞嗗け璐�: {}", snCode, i/3, e.getMessage());
+                    }
+                }
+
+                List<DaTightenCollection> tightenList = new ArrayList<>();
+                for (Map<String, Object> paramMap : groupMap.values()) {
+                    try {
+                        DaTightenCollection tighten = new DaTightenCollection();
+                        tighten.setSfcCode(snCode);
+                        tighten.setLocationCode(device);
+                        tighten.setParamSetName((String) paramMap.get("paramSetName"));
+                        tighten.setTorque(paramMap.get("torque") != null ? paramMap.get("torque").toString() : null);
+                        tighten.setAngle(paramMap.get("angle") != null ? paramMap.get("angle").toString() : null);
+                        tighten.setAngleStatus((String) paramMap.get("angleStatus"));
+                        tighten.setCollectTime(new Date());
+                        tightenList.add(tighten);
+                    } catch (Exception e) {
+                        logger.error("{}鍙戝姩鏈烘嫥绱ф暟鎹璞¤浆鎹㈠け璐�: {}", snCode, e.getMessage());
+                    }
+                }
+                if(tightenList.size()>0){
+                    try {
+                        daTightenCollectionService.saveBeachDaTightenCollection(tightenList);
+                        logger.info("{}鍙戝姩鏈哄瓨鎷х揣鏁版嵁淇濆瓨瀹屾垚",snCode);
+                    } catch (Exception e) {
+                        logger.error("{}鍙戝姩鏈烘嫥绱ф暟鎹壒閲忎繚瀛樺け璐�: {}", snCode, e.getMessage());
+                    }
+                }
+            } catch (Exception e) {
+                logger.error("{}鍙戝姩鏈烘嫥绱ф暟鎹鐞嗗紓甯�: {}", snCode, e.getMessage());
+            }
+        }else {
+            for (int i = 0; i < readWriteEntityList.size(); i++) {
+                DaParamCollection daParamCollection = new DaParamCollection();
+                daParamCollection.setSfcCode(snCode);
+                daParamCollection.setLocationCode(device);
+                daParamCollection.setParamCode(list.get(i).getParameterSetCode());
+                daParamCollection.setParamName(list.get(i).getParameterSetName());
+                daParamCollection.setParamValue(readWriteEntityList.get(i).getValue().toString());
+                daParamCollection.setCollectTime(new Date());
+                collectionList.add(daParamCollection);
+            }
+            paramCollectionService.insertBatch(collectionList);
         }
-        paramCollectionService.insertBatch(collectionList);
+
     }
 
     /**
diff --git a/billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml b/billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml
new file mode 100644
index 0000000..2857c5c
--- /dev/null
+++ b/billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml
@@ -0,0 +1,172 @@
+<?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="com.billion.main.da.mapper.DaCollectionParamConfMapper">
+    
+    <resultMap type="DaCollectionParamConf" id="DaCollectionParamConfResult">
+        <result property="id"    column="id"    />
+        <result property="processesCode"    column="processes_code"    />
+        <result property="parameterSetCode"    column="parameter_set_code"    />
+        <result property="parameterSetName"    column="parameter_set_name"    />
+        <result property="collectParameterId"    column="collect_parameter_id"    />
+        <result property="collectParameterName"    column="collect_parameter_name"    />
+        <result property="contrastParameterFlag"    column="contrast_parameter_flag"    />
+        <result property="collectParameterType"    column="collect_parameter_type"    />
+        <result property="collectParameterUnit"    column="collect_parameter_unit"    />
+        <result property="Descriptives"    column="Descriptives"    />
+        <result property="paramUpper"    column="param_upper"    />
+        <result property="paramLower"    column="param_lower"    />
+        <result property="paramCentral"    column="param_Central"    />
+        <result property="productCode"    column="product_code"    />
+        <result property="gatherAddress"    column="gather_address"    />
+        <result property="gatherSequence"    column="gather_sequence"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="createUser"    column="create_user"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateUser"    column="update_user"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="spareField1"    column="spare_field_1"    />
+        <result property="spareField2"    column="spare_field_2"    />
+        <result property="spareField3"    column="spare_field_3"    />
+        <result property="spareField4"    column="spare_field_4"    />
+    </resultMap>
+
+    <sql id="selectDaCollectionParamConfVo">
+        select id, processes_code, parameter_set_code, parameter_set_name, collect_parameter_id, collect_parameter_name, contrast_parameter_flag, collect_parameter_type, collect_parameter_unit, Descriptives, param_upper, param_lower, param_Central, product_code, gather_address, gather_sequence, remarks, create_user, create_time, update_user, update_time, spare_field_1, spare_field_2, spare_field_3, spare_field_4 from da_collection_param_conf
+    </sql>
+    <sql id="selectOptionVo">
+        select id, processes_code, parameter_set_code, parameter_set_name, collect_parameter_id, collect_parameter_name, remarks from da_collection_param_conf
+    </sql>
+
+    <select id="selectDaCollectionParamConfList" parameterType="DaCollectionParamConf" resultMap="DaCollectionParamConfResult">
+        <include refid="selectDaCollectionParamConfVo"/>
+        <where>  
+            <if test="processesCode != null  and processesCode != ''"> and processes_code like concat('%', #{processesCode}, '%')</if>
+            <if test="parameterSetCode != null  and parameterSetCode != ''"> and parameter_set_code like concat('%', #{parameterSetCode}, '%')</if>
+            <if test="parameterSetName != null  and parameterSetName != ''"> and parameter_set_name like concat('%', #{parameterSetName}, '%')</if>
+            <if test="collectParameterId != null  and collectParameterId != ''"> and collect_parameter_id like concat('%', #{collectParameterId}, '%')</if>
+            <if test="collectParameterName != null  and collectParameterName != ''"> and collect_parameter_name like concat('%', #{collectParameterName}, '%')</if>
+            <if test="contrastParameterFlag != null  and contrastParameterFlag != ''"> and contrast_parameter_flag like concat('%', #{contrastParameterFlag}, '%')</if>
+            <if test="collectParameterType != null  and collectParameterType != ''"> and collect_parameter_type like concat('%', #{collectParameterType}, '%')</if>
+            <if test="productCode != null  and productCode != ''"> and product_code like concat('%', #{productCode}, '%')</if>
+            <if test="gatherAddress != null  and gatherAddress != ''"> and gather_address like concat('%', #{gatherAddress}, '%')</if>
+            <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
+        </where>
+    </select>
+    
+    <select id="selectDaCollectionParamConfById" parameterType="Long" resultMap="DaCollectionParamConfResult">
+        <include refid="selectDaCollectionParamConfVo"/>
+        where id = #{id}
+    </select>
+    <select id="getSelectOption"
+            resultMap="DaCollectionParamConfResult">
+        <include refid="selectOptionVo"/>
+        <where>
+            remarks = '1' and collect_parameter_name in ('瑙掑害','鎵煩')
+            <if test="processesCode != null  and processesCode != ''"> and processes_code like concat('%', #{processesCode}, '%')</if>
+            <if test="parameterSetCode != null  and parameterSetCode != ''"> and parameter_set_code like concat('%', #{parameterSetCode}, '%')</if>
+            <if test="collectParameterName != null  and collectParameterName != ''"> and collect_parameter_name like concat('%', #{collectParameterName}, '%')</if>
+        </where>
+    </select>
+
+    <insert id="insertDaCollectionParamConf" parameterType="DaCollectionParamConf">
+        insert into da_collection_param_conf
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="processesCode != null">processes_code,</if>
+            <if test="parameterSetCode != null">parameter_set_code,</if>
+            <if test="parameterSetName != null">parameter_set_name,</if>
+            <if test="collectParameterId != null">collect_parameter_id,</if>
+            <if test="collectParameterName != null">collect_parameter_name,</if>
+            <if test="contrastParameterFlag != null">contrast_parameter_flag,</if>
+            <if test="collectParameterType != null">collect_parameter_type,</if>
+            <if test="collectParameterUnit != null">collect_parameter_unit,</if>
+            <if test="Descriptives != null">Descriptives,</if>
+            <if test="paramUpper != null">param_upper,</if>
+            <if test="paramLower != null">param_lower,</if>
+            <if test="paramCentral != null">param_Central,</if>
+            <if test="productCode != null">product_code,</if>
+            <if test="gatherAddress != null">gather_address,</if>
+            <if test="gatherSequence != null">gather_sequence,</if>
+            <if test="remarks != null">remarks,</if>
+            <if test="createUser != null">create_user,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateUser != null">update_user,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="spareField1 != null">spare_field_1,</if>
+            <if test="spareField2 != null">spare_field_2,</if>
+            <if test="spareField3 != null">spare_field_3,</if>
+            <if test="spareField4 != null">spare_field_4,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="processesCode != null">#{processesCode},</if>
+            <if test="parameterSetCode != null">#{parameterSetCode},</if>
+            <if test="parameterSetName != null">#{parameterSetName},</if>
+            <if test="collectParameterId != null">#{collectParameterId},</if>
+            <if test="collectParameterName != null">#{collectParameterName},</if>
+            <if test="contrastParameterFlag != null">#{contrastParameterFlag},</if>
+            <if test="collectParameterType != null">#{collectParameterType},</if>
+            <if test="collectParameterUnit != null">#{collectParameterUnit},</if>
+            <if test="Descriptives != null">#{Descriptives},</if>
+            <if test="paramUpper != null">#{paramUpper},</if>
+            <if test="paramLower != null">#{paramLower},</if>
+            <if test="paramCentral != null">#{paramCentral},</if>
+            <if test="productCode != null">#{productCode},</if>
+            <if test="gatherAddress != null">#{gatherAddress},</if>
+            <if test="gatherSequence != null">#{gatherSequence},</if>
+            <if test="remarks != null">#{remarks},</if>
+            <if test="createUser != null">#{createUser},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateUser != null">#{updateUser},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="spareField1 != null">#{spareField1},</if>
+            <if test="spareField2 != null">#{spareField2},</if>
+            <if test="spareField3 != null">#{spareField3},</if>
+            <if test="spareField4 != null">#{spareField4},</if>
+         </trim>
+    </insert>
+
+    <update id="updateDaCollectionParamConf" parameterType="DaCollectionParamConf">
+        update da_collection_param_conf
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="processesCode != null">processes_code = #{processesCode},</if>
+            <if test="parameterSetCode != null">parameter_set_code = #{parameterSetCode},</if>
+            <if test="parameterSetName != null">parameter_set_name = #{parameterSetName},</if>
+            <if test="collectParameterId != null">collect_parameter_id = #{collectParameterId},</if>
+            <if test="collectParameterName != null">collect_parameter_name = #{collectParameterName},</if>
+            <if test="contrastParameterFlag != null">contrast_parameter_flag = #{contrastParameterFlag},</if>
+            <if test="collectParameterType != null">collect_parameter_type = #{collectParameterType},</if>
+            <if test="collectParameterUnit != null">collect_parameter_unit = #{collectParameterUnit},</if>
+            <if test="Descriptives != null">Descriptives = #{Descriptives},</if>
+            <if test="paramUpper != null">param_upper = #{paramUpper},</if>
+            <if test="paramLower != null">param_lower = #{paramLower},</if>
+            <if test="paramCentral != null">param_Central = #{paramCentral},</if>
+            <if test="productCode != null">product_code = #{productCode},</if>
+            <if test="gatherAddress != null">gather_address = #{gatherAddress},</if>
+            <if test="gatherSequence != null">gather_sequence = #{gatherSequence},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="createUser != null">create_user = #{createUser},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateUser != null">update_user = #{updateUser},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="spareField1 != null">spare_field_1 = #{spareField1},</if>
+            <if test="spareField2 != null">spare_field_2 = #{spareField2},</if>
+            <if test="spareField3 != null">spare_field_3 = #{spareField3},</if>
+            <if test="spareField4 != null">spare_field_4 = #{spareField4},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteDaCollectionParamConfById" parameterType="Long">
+        delete from da_collection_param_conf where id = #{id}
+    </delete>
+
+    <delete id="deleteDaCollectionParamConfByIds" parameterType="String">
+        delete from da_collection_param_conf where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/billion-main/src/main/resources/mapper/da/DaTightenCollectionMapper.xml b/billion-main/src/main/resources/mapper/da/DaTightenCollectionMapper.xml
index dbd33c4..358010c 100644
--- a/billion-main/src/main/resources/mapper/da/DaTightenCollectionMapper.xml
+++ b/billion-main/src/main/resources/mapper/da/DaTightenCollectionMapper.xml
@@ -8,29 +8,24 @@
         <result property="id"    column="id"    />
         <result property="sfcCode"    column="sfc_code"    />
         <result property="locationCode"    column="location_code"    />
-        <result property="paramSetCode"    column="param_set_code"    />
         <result property="paramSetName"    column="param_set_name"    />
         <result property="torque"    column="torque"    />
-        <result property="torqueStatus"    column="torque_status"    />
         <result property="angle"    column="angle"    />
         <result property="angleStatus"    column="angle_status"    />
         <result property="collectTime"    column="collect_time"    />
     </resultMap>
 
     <sql id="selectDaTightenCollectionVo">
-        select id, sfc_code, location_code, param_set_code, param_set_name, torque, torque_status, angle, angle_status, collect_time from da_tighten_collection
+        select id, sfc_code, location_code, param_set_name, torque, angle, angle_status, collect_time from da_tighten_collection
     </sql>
 
     <select id="selectDaTightenCollectionList" parameterType="DaTightenCollection" resultMap="DaTightenCollectionResult">
         <include refid="selectDaTightenCollectionVo"/>
         <where>  
             <if test="sfcCode != null  and sfcCode != ''"> and sfc_code = #{sfcCode}</if>
-            <if test="locationCode != null  and locationCode != ''"> and location_code like concat('%', #{locationCode}, '%')</if>
-            <if test="paramSetCode != null  and paramSetCode != ''"> and param_set_code like concat('%', #{paramSetCode}, '%')</if>
+            <if test="locationCode != null  and locationCode != ''"> and location_code = #{locationCode}</if>
             <if test="paramSetName != null  and paramSetName != ''"> and param_set_name like concat('%', #{paramSetName}, '%')</if>
-            <if test="torqueStatus != null  and torqueStatus != ''"> and torque_status = #{torqueStatus}</if>
             <if test="angleStatus != null  and angleStatus != ''"> and angle_status = #{angleStatus}</if>
-            <if test="startTime != null"> and collect_time BETWEEN #{startTime} and #{stopTime}</if>
         </where>
     </select>
     
@@ -38,27 +33,25 @@
         <include refid="selectDaTightenCollectionVo"/>
         where id = #{id}
     </select>
-
-    <insert id="insertDaTightenCollection" parameterType="DaTightenCollection" useGeneratedKeys="true" keyProperty="id">
+        
+    <insert id="insertDaTightenCollection" parameterType="DaTightenCollection">
         insert into da_tighten_collection
         <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
             <if test="sfcCode != null">sfc_code,</if>
             <if test="locationCode != null">location_code,</if>
-            <if test="paramSetCode != null">param_set_code,</if>
             <if test="paramSetName != null">param_set_name,</if>
             <if test="torque != null">torque,</if>
-            <if test="torqueStatus != null">torque_status,</if>
             <if test="angle != null">angle,</if>
             <if test="angleStatus != null">angle_status,</if>
             <if test="collectTime != null">collect_time,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
             <if test="sfcCode != null">#{sfcCode},</if>
             <if test="locationCode != null">#{locationCode},</if>
-            <if test="paramSetCode != null">#{paramSetCode},</if>
             <if test="paramSetName != null">#{paramSetName},</if>
             <if test="torque != null">#{torque},</if>
-            <if test="torqueStatus != null">#{torqueStatus},</if>
             <if test="angle != null">#{angle},</if>
             <if test="angleStatus != null">#{angleStatus},</if>
             <if test="collectTime != null">#{collectTime},</if>
@@ -70,10 +63,8 @@
         <trim prefix="SET" suffixOverrides=",">
             <if test="sfcCode != null">sfc_code = #{sfcCode},</if>
             <if test="locationCode != null">location_code = #{locationCode},</if>
-            <if test="paramSetCode != null">param_set_code = #{paramSetCode},</if>
             <if test="paramSetName != null">param_set_name = #{paramSetName},</if>
             <if test="torque != null">torque = #{torque},</if>
-            <if test="torqueStatus != null">torque_status = #{torqueStatus},</if>
             <if test="angle != null">angle = #{angle},</if>
             <if test="angleStatus != null">angle_status = #{angleStatus},</if>
             <if test="collectTime != null">collect_time = #{collectTime},</if>
diff --git a/billion-ui/src/api/main/da/collectionParamConf.js b/billion-ui/src/api/main/da/collectionParamConf.js
new file mode 100644
index 0000000..8f48767
--- /dev/null
+++ b/billion-ui/src/api/main/da/collectionParamConf.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ閲囬泦鍙傛暟閰嶇疆鍒楄〃
+export function listCollectionParamConf(query) {
+  return request({
+    url: '/da/collectionParamConf/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ閲囬泦鍙傛暟閰嶇疆璇︾粏
+export function getCollectionParamConf(id) {
+  return request({
+    url: '/da/collectionParamConf/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板閲囬泦鍙傛暟閰嶇疆
+export function addCollectionParamConf(data) {
+  return request({
+    url: '/da/collectionParamConf',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼閲囬泦鍙傛暟閰嶇疆
+export function updateCollectionParamConf(data) {
+  return request({
+    url: '/da/collectionParamConf',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎閲囬泦鍙傛暟閰嶇疆
+export function delCollectionParamConf(id) {
+  return request({
+    url: '/da/collectionParamConf/' + id,
+    method: 'delete'
+  })
+}
diff --git a/billion-ui/src/views/main/da/collectionParamConf/index.vue b/billion-ui/src/views/main/da/collectionParamConf/index.vue
new file mode 100644
index 0000000..2e294fe
--- /dev/null
+++ b/billion-ui/src/views/main/da/collectionParamConf/index.vue
@@ -0,0 +1,449 @@
+<template>
+  <div class="app-container">
+    <el-card class="box-card">
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+          <el-form-item label="宸ュ簭缂栧彿" prop="processesCode">
+            <el-input
+              v-model="queryParams.processesCode"
+              placeholder="璇疯緭鍏ュ伐搴忕紪鍙�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="浜у搧缂栫爜" prop="productCode">
+            <el-input
+              v-model="queryParams.productCode"
+              placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item style="float: right">
+            <el-button type="primary" 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-card>
+
+    <el-card style="margin-top: 10px" class="box-card">
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button
+              type="primary"
+              plain
+              icon="el-icon-plus"
+              size="mini"
+              @click="handleAdd"
+              v-hasPermi="['da:collectionParamConf:add']"
+            >鏂板</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="success"
+              plain
+              icon="el-icon-edit"
+              size="mini"
+              :disabled="single"
+              @click="handleUpdate"
+              v-hasPermi="['da:collectionParamConf:edit']"
+            >淇敼</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="danger"
+              plain
+              icon="el-icon-delete"
+              size="mini"
+              :disabled="multiple"
+              @click="handleDelete"
+              v-hasPermi="['da:collectionParamConf:remove']"
+            >鍒犻櫎</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="warning"
+              plain
+              icon="el-icon-download"
+              size="mini"
+              @click="handleExport"
+              v-hasPermi="['da:collectionParamConf:export']"
+            >瀵煎嚭</el-button>
+          </el-col>
+          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+        </el-row>
+
+        <el-table border v-loading="loading" :data="collectionParamConfList" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+<!--          <el-table-column label="涓婚敭id" align="center" prop="id" />-->
+          <el-table-column label="浜у搧缂栫爜" align="center" width="150" prop="productCode">
+          </el-table-column>
+          <el-table-column label="宸ュ簭缂栧彿" align="center" width="80" prop="processesCode">
+          </el-table-column>
+          <el-table-column label="鍙傛暟闆嗙紪鐮�" align="center" width="130" prop="parameterSetCode">
+          </el-table-column>
+          <el-table-column label="鍙傛暟闆嗗悕绉�" align="center" width="160" prop="parameterSetName">
+          </el-table-column>
+          <el-table-column label="鍙傛暟缂栫爜" align="center" width="130" prop="collectParameterId">
+          </el-table-column>
+          <el-table-column label="鍙傛暟鍚嶇О" align="center" width="160" prop="collectParameterName">
+          </el-table-column>
+
+
+          <el-table-column label="閲囬泦鍦板潃" align="center" width="180" prop="gatherAddress">
+          </el-table-column>
+          <el-table-column label="閲囬泦椤哄簭" align="center" width="80" prop="gatherSequence">
+          </el-table-column>
+
+          <el-table-column label="鍙傛暟绫诲瀷" align="center" width="130" prop="collectParameterType">
+          </el-table-column>
+          <el-table-column label="鍗曚綅" align="center" width="80" prop="collectParameterUnit">
+          </el-table-column>
+
+          <el-table-column label="涓婇檺鍊�" align="center" prop="paramUpper">
+          </el-table-column>
+          <el-table-column label="涓嬮檺鍊�" align="center" prop="paramLower">
+          </el-table-column>
+          <el-table-column label="涓績鍊�" align="center" prop="paramCentral">
+          </el-table-column>
+
+          <el-table-column label="澶囨敞" align="center" width="160" prop="remarks">
+          </el-table-column>
+          <el-table-column label="鏄惁浣滀负閲囬泦鍙傛暟绫诲瀷" align="center" width="160" prop="contrastParameterFlag">
+            <template slot-scope="scope">
+              <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.contrastParameterFlag"/>
+            </template>
+          </el-table-column>
+
+          <el-table-column fixed="right" width="200" label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                type="success"
+                plain
+                style="width: 72px"
+                icon="el-icon-edit"
+                @click="handleUpdate(scope.row)"
+                v-hasPermi="['da:collectionParamConf:edit']"
+              >淇敼</el-button>
+              <el-button
+                size="mini"
+                type="danger"
+                plain
+                style="width: 72px"
+                icon="el-icon-delete"
+                @click="handleDelete(scope.row)"
+                v-hasPermi="['da:collectionParamConf:remove']"
+              >鍒犻櫎</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+    </el-card>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 娣诲姞鎴栦慨鏀归噰闆嗗弬鏁伴厤缃璇濇 -->
+    <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="1000px" append-to-body>
+      <span slot="title">
+        <i class="el-icon-s-order"></i>
+        {{titleName}}
+      </span>
+      <el-form ref="form" inline :model="form" :rules="rules"  label-width="200px" >
+        <el-form-item label="宸ュ簭缂栧彿" prop="processesCode">
+          <el-select style="width: 100%" @change="handleSelectChangeprocessesCode(form.processesCode)" v-model="form.processesCode" placeholder="璇烽�夋嫨宸ュ簭缂栧彿">
+            <el-option
+              v-for="item in options"
+              :key="item.processesCode"
+              :label="item.processesCode"
+              :value="item.processesCode">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鍙傛暟闆嗙紪鐮�" prop="parameterSetCode">
+          <el-input v-model="form.parameterSetCode" placeholder="璇疯緭鍏ュ弬鏁伴泦缂栫爜" />
+        </el-form-item>
+        <el-form-item label="鍙傛暟闆嗗悕绉�" prop="parameterSetName">
+          <el-input v-model="form.parameterSetName" placeholder="璇疯緭鍏ュ弬鏁伴泦鍚嶇О" />
+        </el-form-item>
+        <el-form-item label="閲囬泦鍙傛暟ID" prop="collectParameterId">
+          <el-input v-model="form.collectParameterId" placeholder="璇疯緭鍏ラ噰闆嗗弬鏁癐D" />
+        </el-form-item>
+        <el-form-item label="閲囬泦鍙傛暟鍚嶇О" prop="collectParameterName">
+          <el-input v-model="form.collectParameterName" placeholder="璇疯緭鍏ラ噰闆嗗弬鏁板悕绉�" />
+        </el-form-item>
+        <el-form-item label="鏄惁浣滀负瀵规瘮鍙傛暟"  prop="contrastParameterFlag" >
+          <el-select v-model="form.contrastParameterFlag" placeholder="璇烽�夋嫨鏄惁浣滀负瀵规瘮鍙傛暟">
+            <el-option
+              v-for="dict in dict.type.sys_yes_no"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="閲囬泦鍙傛暟鍗曚綅" prop="collectParameterUnit">
+          <el-input v-model="form.collectParameterUnit" placeholder="璇疯緭鍏ラ噰闆嗗弬鏁板崟浣�" />
+        </el-form-item>
+        <el-form-item label="鏁版嵁鎻忚堪" prop="Descriptives">
+          <el-input v-model="form.Descriptives" placeholder="璇疯緭鍏ユ暟鎹弿杩�" />
+        </el-form-item>
+        <el-form-item label="涓婇檺鍊�" prop="paramUpper">
+          <el-input v-model="form.paramUpper" placeholder="璇疯緭鍏ヤ笂闄愬��" />
+        </el-form-item>
+        <el-form-item label="涓嬮檺鍊�" prop="paramLower">
+          <el-input v-model="form.paramLower" placeholder="璇疯緭鍏ヤ笅闄愬��" />
+        </el-form-item>
+        <el-form-item label="涓績鍊�" prop="paramCentral">
+          <el-input v-model="form.paramCentral" placeholder="璇疯緭鍏ヤ腑蹇冨��" />
+        </el-form-item>
+        <el-form-item label="浜у搧缂栫爜" prop="productCode">
+          <el-input v-model="form.productCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" />
+        </el-form-item>
+        <el-form-item label="閲囬泦鍦板潃" prop="gatherAddress">
+          <el-input v-model="form.gatherAddress" placeholder="璇疯緭鍏ラ噰闆嗗湴鍧�" />
+        </el-form-item>
+        <el-form-item label="閲囬泦椤哄簭" prop="gatherSequence">
+          <el-input v-model="form.gatherSequence" placeholder="璇疯緭鍏ラ噰闆嗛『搴�" />
+        </el-form-item>
+        <el-form-item label="澶囨敞" prop="remarks">
+          <el-input v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listCollectionParamConf, getCollectionParamConf, delCollectionParamConf, addCollectionParamConf, updateCollectionParamConf } from "@/api/main/da/collectionParamConf";
+
+export default {
+  name: "CollectionParamConf",
+  dicts: ['subscription_type', 'sys_yes_no', 'data_type','sys_normal_disable'],
+  data() {
+    return {
+      options: [],
+      // 閬僵灞�
+      loading: true,
+      titleName: "",
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 閲囬泦鍙傛暟閰嶇疆琛ㄦ牸鏁版嵁
+      collectionParamConfList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        processesCode: null,
+        parameterSetCode: null,
+        parameterSetName: null,
+        collectParameterId: null,
+        collectParameterName: null,
+        contrastParameterFlag: null,
+        collectParameterType: null,
+        productCode: null,
+      },
+
+      processesCodeQueryParams:{
+        pageNum: 1,
+        pageSize: 10,
+        processesCode: null,
+        processesName: null,
+        processesType: null,
+        ipAddress: null,
+        spareField1: null,
+        spareField2: null,
+        spareField3: null,
+        spareField4: null,
+        createUser: null,
+        updateUser: null,
+        remarks: null
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        id: [
+          { required: true, message: "涓婚敭id涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        processesCode: [
+          { required: true, message: "宸ュ簭缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        parameterSetCode: [
+          { required: true, message: "鍙傛暟闆嗙紪鐮佷笉鑳戒负绌�", trigger: "blur" }
+        ],
+        parameterSetName: [
+          { required: true, message: "鍙傛暟闆嗗悕绉颁笉鑳戒负绌�", trigger: "blur" }
+        ],
+        collectParameterId: [
+          { required: true, message: "閲囬泦鍙傛暟ID涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        collectParameterName: [
+          { required: true, message: "閲囬泦鍙傛暟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        collectParameterUnit: [
+          { required: true, message: "閲囬泦鍙傛暟鍗曚綅涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        gatherAddress: [
+          { required: true, message: "閲囬泦鍦板潃涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        gatherSequence: [
+          { required: true, message: "閲囬泦椤哄簭涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.initProcesses()
+  },
+  methods: {
+
+
+    handleSelectChangeprocessesCode(selectedOption) {
+      this.processesCodeQueryParams.processesCode = selectedOption;
+      listProcesses(this.processesCodeQueryParams).then(response => {
+        this.form.collectParameterName = response.rows[0].collectParameterName;
+      });
+    },
+    initProcesses(){
+      listProcesses(this.queryParams).then(response => {
+        this.options = response.rows;
+      });
+    },
+    /** 鏌ヨ閲囬泦鍙傛暟閰嶇疆鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listCollectionParamConf(this.queryParams).then(response => {
+        this.collectionParamConfList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        processesCode: null,
+        parameterSetCode: null,
+        parameterSetName: null,
+        collectParameterId: null,
+        collectParameterName: null,
+        contrastParameterFlag: null,
+        collectParameterType: null,
+        collectParameterUnit: null,
+        Descriptives: null,
+        paramUpper: null,
+        paramLower: null,
+        paramCentral: null,
+        productCode: null,
+        gatherAddress: null,
+        gatherSequence: null,
+        remarks: null,
+        createUser: null,
+        createTime: null,
+        updateUser: null,
+        updateTime: null,
+        spareField1: null,
+        spareField2: null,
+        spareField3: null,
+        spareField4: null
+      };
+      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.open = true;
+      this.titleName = "娣诲姞閲囬泦鍙傛暟閰嶇疆";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getCollectionParamConf(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.titleName = "淇敼閲囬泦鍙傛暟閰嶇疆";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateCollectionParamConf(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addCollectionParamConf(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎閲囬泦鍙傛暟閰嶇疆缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delCollectionParamConf(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('da/collectionParamConf/export', {
+        ...this.queryParams
+      }, `collectionParamConf_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/billion-ui/src/views/main/da/tightenCollection/index.vue b/billion-ui/src/views/main/da/tightenCollection/index.vue
index e48efb2..09a9399 100644
--- a/billion-ui/src/views/main/da/tightenCollection/index.vue
+++ b/billion-ui/src/views/main/da/tightenCollection/index.vue
@@ -1,43 +1,11 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label-width="120" label="鎬绘垚搴忓垪鍙�" prop="sfcCode">
-        <el-input
-          v-model="queryParams.sfcCode"
-          placeholder="璇疯緭鍏ユ�绘垚搴忓垪鍙�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label-width="120" label="閲囬泦鏃堕棿" prop="timeQuery">
-        <el-date-picker
-          v-model="queryParams.timeQuery"
-          type="datetimerange"
-          range-separator="鑷�"
-          value-format="yyyy-MM-dd HH:mm:ss"
-          start-placeholder="寮�濮嬫棩鏈�"
-          end-placeholder="缁撴潫鏃ユ湡">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item style="float: right">
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
-        <el-button icon="el-icon-setting" size="mini" @click="toggleAdvancedSearch">楂樼骇鏌ヨ</el-button>
-      </el-form-item>
-      <transition name="fade">
-        <div v-if="advancedSearchVisible" class="advanced-search">
-          <el-form-item label-width="100" label="鍙傛暟闆嗙紪鐮�" prop="paramSetCode">
+    <el-card class="box-card">
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+          <el-form-item label="鎬绘垚搴忓垪鍙�" prop="sfcCode">
             <el-input
-              v-model="queryParams.paramSetCode"
-              placeholder="璇疯緭鍏ュ弬鏁伴泦缂栫爜"
-              clearable
-              @keyup.enter.native="handleQuery"
-            />
-          </el-form-item>
-          <el-form-item label-width="100" label="鍙傛暟闆嗗悕绉�" prop="paramSetName">
-            <el-input
-              v-model="queryParams.paramSetName"
-              placeholder="璇疯緭鍏ュ弬鏁伴泦鍚嶇О"
+              v-model="queryParams.sfcCode"
+              placeholder="璇疯緭鍏ユ�绘垚搴忓垪鍙�"
               clearable
               @keyup.enter.native="handleQuery"
             />
@@ -50,75 +18,137 @@
               @keyup.enter.native="handleQuery"
             />
           </el-form-item>
-          <el-row>
-            <el-col :span="24" style="text-align: right;">
-              <el-button type="primary" icon="el-icon-close" size="mini" @click="toggleAdvancedSearch">鍏抽棴</el-button>
-            </el-col>
-          </el-row>
-        </div>
-      </transition>
-    </el-form>
+          <el-form-item label="鍙傛暟闆嗙紪鐮�" prop="paramSetCode">
+            <el-input
+              v-model="queryParams.paramSetCode"
+              placeholder="璇疯緭鍏ュ弬鏁伴泦缂栫爜"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="鍙傛暟闆嗗悕绉�" prop="paramSetName">
+            <el-input
+              v-model="queryParams.paramSetName"
+              placeholder="璇疯緭鍏ュ弬鏁伴泦鍚嶇О"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+<!--          <el-form-item label="鎵煩鐘舵��" prop="torqueStatus">-->
+<!--            <el-select v-model="queryParams.torqueStatus" placeholder="璇烽�夋嫨鎵煩鐘舵��" clearable>-->
+<!--              <el-option-->
+<!--                v-for="dict in dict.type.${dictType}"-->
+<!--                :key="dict.value"-->
+<!--                :label="dict.label"-->
+<!--                :value="dict.value"-->
+<!--              />-->
+<!--            </el-select>-->
+<!--          </el-form-item>-->
+<!--          <el-form-item label="瑙掑害鐘舵��" prop="angleStatus">-->
+<!--            <el-select v-model="queryParams.angleStatus" placeholder="璇烽�夋嫨瑙掑害鐘舵��" clearable>-->
+<!--              <el-option-->
+<!--                v-for="dict in dict.type.${dictType}"-->
+<!--                :key="dict.value"-->
+<!--                :label="dict.label"-->
+<!--                :value="dict.value"-->
+<!--              />-->
+<!--            </el-select>-->
+<!--          </el-form-item>-->
+          <el-form-item style="float: right">
+            <el-button type="primary" 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-card>
 
-    <el-row :gutter="10" class="mb8">
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="primary"-->
-<!--          plain-->
-<!--          icon="el-icon-plus"-->
-<!--          size="mini"-->
-<!--          @click="handleAdd"-->
-<!--          v-hasPermi="['da:tightenCollection:add']"-->
-<!--        >鏂板</el-button>-->
-<!--      </el-col>-->
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="success"-->
-<!--          plain-->
-<!--          icon="el-icon-edit"-->
-<!--          size="mini"-->
-<!--          :disabled="single"-->
-<!--          @click="handleUpdate"-->
-<!--          v-hasPermi="['da:tightenCollection:edit']"-->
-<!--        >淇敼</el-button>-->
-<!--      </el-col>-->
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="danger"-->
-<!--          plain-->
-<!--          icon="el-icon-delete"-->
-<!--          size="mini"-->
-<!--          :disabled="multiple"-->
-<!--          @click="handleDelete"-->
-<!--          v-hasPermi="['da:tightenCollection:remove']"-->
-<!--        >鍒犻櫎</el-button>-->
-<!--      </el-col>-->
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['da:tightenCollection:export']"
-        >瀵煎嚭</el-button>
-      </el-col>
-<!--      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
-    </el-row>
+    <el-card style="margin-top: 10px" class="box-card">
+        <el-row :gutter="10" class="mb8">
+<!--          <el-col :span="1.5">-->
+<!--            <el-button-->
+<!--              type="primary"-->
+<!--              plain-->
+<!--              icon="el-icon-plus"-->
+<!--              size="mini"-->
+<!--              @click="handleAdd"-->
+<!--              v-hasPermi="['da:tightenCollection:add']"-->
+<!--            >鏂板</el-button>-->
+<!--          </el-col>-->
+<!--          <el-col :span="1.5">-->
+<!--            <el-button-->
+<!--              type="success"-->
+<!--              plain-->
+<!--              icon="el-icon-edit"-->
+<!--              size="mini"-->
+<!--              :disabled="single"-->
+<!--              @click="handleUpdate"-->
+<!--              v-hasPermi="['da:tightenCollection:edit']"-->
+<!--            >淇敼</el-button>-->
+<!--          </el-col>-->
+<!--          <el-col :span="1.5">-->
+<!--            <el-button-->
+<!--              type="danger"-->
+<!--              plain-->
+<!--              icon="el-icon-delete"-->
+<!--              size="mini"-->
+<!--              :disabled="multiple"-->
+<!--              @click="handleDelete"-->
+<!--              v-hasPermi="['da:tightenCollection:remove']"-->
+<!--            >鍒犻櫎</el-button>-->
+<!--          </el-col>-->
+          <el-col :span="1.5">
+            <el-button
+              type="warning"
+              plain
+              icon="el-icon-download"
+              size="mini"
+              @click="handleExport"
+              v-hasPermi="['da:tightenCollection:export']"
+            >瀵煎嚭</el-button>
+          </el-col>
+          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+        </el-row>
 
-    <el-table border v-loading="loading" :data="tightenCollectionList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-<!--      <el-table-column label="涓婚敭id" align="center" prop="id" />-->
-      <el-table-column label="鎬绘垚搴忓垪鍙�" align="center" prop="sfcCode" />
-      <el-table-column label="宸ヤ綅缂栫爜" align="center" prop="locationCode" />
-      <el-table-column label="鍙傛暟闆嗙紪鐮�" align="center" prop="paramSetCode" />
-      <el-table-column label="鍙傛暟闆嗗悕绉�" align="center" prop="paramSetName" />
-      <el-table-column label="鎵煩鍊�" align="center" prop="torque" />
-      <el-table-column label="鎵煩鐘舵��" align="center" prop="torqueStatus" />
-      <el-table-column label="瑙掑害鍊�" align="center" prop="angle" />
-      <el-table-column label="瑙掑害鐘舵��" align="center" prop="angleStatus" />
-      <el-table-column label="閲囬泦鏃堕棿" align="center" prop="collectTime" width="180">
-      </el-table-column>
-    </el-table>
+        <el-table border v-loading="loading" :data="tightenCollectionList" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+          <el-table-column label="涓婚敭id" align="center" prop="id" />
+          <el-table-column label="鎬绘垚搴忓垪鍙�" align="center" prop="sfcCode">
+          </el-table-column>
+          <el-table-column label="宸ヤ綅缂栫爜" align="center" prop="locationCode">
+          </el-table-column>
+          <el-table-column label="鍙傛暟闆嗗悕绉�" align="center" prop="paramSetName">
+          </el-table-column>
+          <el-table-column label="鎵煩鍊�" align="center" prop="torque">
+          </el-table-column>
+          <el-table-column label="瑙掑害鍊�" align="center" prop="angle">
+          </el-table-column>
+          <el-table-column label="瑙掑害鐘舵��" align="center" prop="angleStatus">
+          </el-table-column>
+          <el-table-column label="閲囬泦鏃堕棿" align="center" prop="collectTime">
+          </el-table-column>
+<!--          <el-table-column fixed="right" width="200" label="鎿嶄綔" align="center" class-name="small-padding fixed-width">-->
+<!--            <template slot-scope="scope">-->
+<!--              <el-button-->
+<!--                size="mini"-->
+<!--                type="success"-->
+<!--                plain-->
+<!--                style="width: 72px"-->
+<!--                icon="el-icon-edit"-->
+<!--                @click="handleUpdate(scope.row)"-->
+<!--                v-hasPermi="['da:tightenCollection:edit']"-->
+<!--              >淇敼</el-button>-->
+<!--              <el-button-->
+<!--                size="mini"-->
+<!--                type="danger"-->
+<!--                plain-->
+<!--                style="width: 72px"-->
+<!--                icon="el-icon-delete"-->
+<!--                @click="handleDelete(scope.row)"-->
+<!--                v-hasPermi="['da:tightenCollection:remove']"-->
+<!--              >鍒犻櫎</el-button>-->
+<!--            </template>-->
+<!--          </el-table-column>-->
+        </el-table>
+    </el-card>
 
     <pagination
       v-show="total>0"
@@ -129,8 +159,12 @@
     />
 
     <!-- 娣诲姞鎴栦慨鏀规嫥绱ч噰闆嗗璇濇 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+    <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="500px" append-to-body>
+      <span slot="title">
+        <i class="el-icon-s-order"></i>
+        {{titleName}}
+      </span>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="鎬绘垚搴忓垪鍙�" prop="sfcCode">
           <el-input v-model="form.sfcCode" placeholder="璇疯緭鍏ユ�绘垚搴忓垪鍙�" />
         </el-form-item>
@@ -146,9 +180,27 @@
         <el-form-item label="鎵煩鍊�" prop="torque">
           <el-input v-model="form.torque" placeholder="璇疯緭鍏ユ壄鐭╁��" />
         </el-form-item>
+<!--        <el-form-item label="鎵煩鐘舵��" prop="torqueStatus">-->
+<!--          <el-radio-group v-model="form.torqueStatus">-->
+<!--            <el-radio-->
+<!--              v-for="dict in dict.type.${dictType}"-->
+<!--              :key="dict.value"-->
+<!--              :label="dict.value"-->
+<!--            >{{dict.label}}</el-radio>-->
+<!--          </el-radio-group>-->
+<!--        </el-form-item>-->
         <el-form-item label="瑙掑害鍊�" prop="angle">
           <el-input v-model="form.angle" placeholder="璇疯緭鍏ヨ搴﹀��" />
         </el-form-item>
+<!--        <el-form-item label="瑙掑害鐘舵��" prop="angleStatus">-->
+<!--          <el-radio-group v-model="form.angleStatus">-->
+<!--            <el-radio-->
+<!--              v-for="dict in dict.type.${dictType}"-->
+<!--              :key="dict.value"-->
+<!--              :label="dict.value"-->
+<!--            >{{dict.label}}</el-radio>-->
+<!--          </el-radio-group>-->
+<!--        </el-form-item>-->
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
@@ -165,9 +217,9 @@
   name: "TightenCollection",
   data() {
     return {
-      advancedSearchVisible: false,
       // 閬僵灞�
       loading: true,
+      titleName: "",
       // 閫変腑鏁扮粍
       ids: [],
       // 闈炲崟涓鐢�
@@ -194,13 +246,14 @@
         paramSetName: null,
         torqueStatus: null,
         angleStatus: null,
-        collectTime: null,
-        timeQuery: []
       },
       // 琛ㄥ崟鍙傛暟
       form: {},
       // 琛ㄥ崟鏍¢獙
       rules: {
+        id: [
+          { required: true, message: "涓婚敭id涓嶈兘涓虹┖", trigger: "blur" }
+        ],
       }
     };
   },
@@ -208,9 +261,6 @@
     this.getList();
   },
   methods: {
-    toggleAdvancedSearch() {
-      this.advancedSearchVisible = !this.advancedSearchVisible;
-    },
     /** 鏌ヨ鎷х揣閲囬泦鍒楄〃 */
     getList() {
       this.loading = true;
@@ -245,11 +295,9 @@
     handleQuery() {
       this.queryParams.pageNum = 1;
       this.getList();
-      this.advancedSearchVisible = false
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
-      this.clearQueryParams()
       this.resetForm("queryForm");
       this.handleQuery();
     },
@@ -259,16 +307,11 @@
       this.single = selection.length!==1
       this.multiple = !selection.length
     },
-    clearQueryParams(){
-      this.queryParams.paramSetName = null
-      this.queryParams.paramSetName = null
-      this.queryParams.locationCode = null
-    },
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
       this.reset();
       this.open = true;
-      this.title = "娣诲姞鎷х揣閲囬泦";
+      this.titleName = "娣诲姞鎷х揣閲囬泦";
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
@@ -277,7 +320,7 @@
       getTightenCollection(id).then(response => {
         this.form = response.data;
         this.open = true;
-        this.title = "淇敼鎷х揣閲囬泦";
+        this.titleName = "淇敼鎷х揣閲囬泦";
       });
     },
     /** 鎻愪氦鎸夐挳 */
@@ -319,28 +362,3 @@
   }
 };
 </script>
-<style scoped>.fade-enter-active, .fade-leave-active {
-  transition: opacity 0.3s;
-}
-.fade-enter, .fade-leave-to /* .fade-leave-active in <2.1.8 */ {
-  opacity: 0;
-}
-
-.advanced-search {
-  position: absolute;
-  background: #FFFFFF; /* 璁剧疆涓轰笌椤甸潰鑳屾櫙鑹茬浉鍚屾垨鐩歌繎鐨勯鑹� */
-  border-left: 1px solid #dcdfe6;
-  border-right: 1px solid #dcdfe6;
-  border-bottom: 1px solid #dcdfe6;
-  /*border: none;*/
-  box-shadow: none; /* 绉婚櫎闃村奖 */
-  padding: 10px;
-  z-index: 1000; /* 纭繚娴姩鍦ㄥ叾浠栧厓绱犱箣涓� */
-  top: 70px; /* 璋冩暣椤堕儴浣嶇疆锛屼娇鍏朵笌椤甸潰鍏朵粬鍏冪礌鏇村崗璋� */
-  left: 20px; /* 璋冩暣宸︿晶浣嶇疆 */
-  width: 97%; /* 璋冩暣瀹藉害 */
-  /*max-width: 1296px; !* 鏈�澶у搴� *!*/
-  /*max-width: 1296px; !* 鏈�澶у搴� *!*/
-  margin: 0 auto; /* 灞呬腑瀵归綈 */
-}
-</style>

--
Gitblit v1.9.3