From bf5dcc46de28c2ca664be4c6c3566e0a82c1ecd6 Mon Sep 17 00:00:00 2001
From: hdy <1105738590@qq.com>
Date: 星期四, 27 二月 2025 09:11:08 +0800
Subject: [PATCH] 修改

---
 billion-main/src/main/java/com/billion/main/da/service/IDaParamCollectionService.java             |   14 
 billion-main/src/main/java/com/billion/main/da/controller/DaCollectionParamConfController.java    |  130 ++++
 billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml                         |  127 ++++
 billion-main/src/main/java/com/billion/main/da/mapper/DaParamCollectionMapper.java                |    7 
 billion-main/src/main/java/com/billion/main/da/mapper/DaCollectionParamConfMapper.java            |   63 ++
 billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java                  |  238 ++++++--
 billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java                           |   12 
 billion-main/src/main/java/com/billion/main/config/RestTemplateConfig.java                        |   22 
 billion-main/src/main/java/com/billion/main/da/domain/DaCollectionParamConf.java                  |  357 +++++++++++++
 billion-main/pom.xml                                                                              |    5 
 billion-main/src/main/java/com/billion/main/da/service/IDaCollectionParamConfService.java         |   63 ++
 billion-main/src/main/java/com/billion/main/da/service/impl/DaCollectionParamConfServiceImpl.java |   98 +++
 billion-main/src/main/java/com/billion/main/da/controller/DaParamCollectionController.java        |   32 
 billion-main/src/main/java/com/billion/main/da/domain/DaParamCollection.java                      |  336 +++++++++++
 billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java     |   59 +
 billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java       |    2 
 16 files changed, 1,440 insertions(+), 125 deletions(-)

diff --git a/billion-main/pom.xml b/billion-main/pom.xml
index d7c2a5d..b049ba9 100644
--- a/billion-main/pom.xml
+++ b/billion-main/pom.xml
@@ -66,6 +66,11 @@
             <version>3.0.5</version>
         </dependency>
         <!-- opc end-->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel</artifactId>
+            <version>3.1.3</version>
+        </dependency>
 
 
         <dependency>
diff --git a/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java b/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java
index 80d8a6e..6f1cff2 100644
--- a/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java
+++ b/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java
@@ -49,7 +49,7 @@
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             Date startTime = sdf.parse(workOrdersInfo.getStartTime());
             omProductionOrderInfo.setPlanStartTime(startTime);
-            omProductionOrderInfo.setRemarks(workOrdersInfo.getDescription());
+            omProductionOrderInfo.setRemarks(Long.valueOf(workOrdersInfo.getDescription()));
             omProductionOrderInfo.setOrderStatus(workOrdersInfo.getState());
             omProductionOrderInfo.setFlag(workOrdersInfo.getFLAG());
             omProductionOrderInfoService.save(omProductionOrderInfo);
diff --git a/billion-main/src/main/java/com/billion/main/config/RestTemplateConfig.java b/billion-main/src/main/java/com/billion/main/config/RestTemplateConfig.java
new file mode 100644
index 0000000..ba6504d
--- /dev/null
+++ b/billion-main/src/main/java/com/billion/main/config/RestTemplateConfig.java
@@ -0,0 +1,22 @@
+package com.billion.main.config;
+
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.client.RestTemplate;
+
+@Configuration
+public class RestTemplateConfig {
+    /**
+     * 娌℃湁瀹炰緥鍖朢estTemplate鏃讹紝鍒濆鍖朢estTemplate
+     * @return
+     */
+    @ConditionalOnMissingBean(RestTemplate.class)
+    @Bean
+    public RestTemplate restTemplate(){
+        RestTemplate restTemplate = new RestTemplate();
+        return restTemplate;
+    }
+
+
+}
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..a7aabbc
--- /dev/null
+++ b/billion-main/src/main/java/com/billion/main/da/controller/DaCollectionParamConfController.java
@@ -0,0 +1,130 @@
+package com.billion.main.da.controller;
+
+import cn.hutool.json.JSONObject;
+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.domain.R;
+import com.billion.common.core.page.TableDataInfo;
+import com.billion.common.enums.BusinessType;
+import com.billion.common.utils.poi.ExcelUtil;
+import com.billion.main.config.RestTemplateConfig;
+import com.billion.main.da.domain.DaCollectionParamConf;
+import com.billion.main.da.service.IDaCollectionParamConfService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 閲囬泦鍙傛暟閰嶇疆Controller
+ * 
+ * @author ruimin
+ * @date 2023-12-25
+ */
+@RestController
+@RequestMapping("/da/collectionParamConf")
+public class DaCollectionParamConfController extends BaseController
+{
+    @Autowired
+    private IDaCollectionParamConfService daCollectionParamConfService;
+
+    @Resource
+    private RestTemplateConfig restTemplateConfig;
+
+    /**
+     * 鏌ヨ閲囬泦鍙傛暟閰嶇疆鍒楄〃
+     */
+    @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));
+    }
+
+
+    /**
+     * 娴嬭瘯浣跨敤resttemplate瀹炵幇鎺ュ彛瀵规帴
+     * @return R
+     */
+    @GetMapping("/testHttpClientConnect")
+    public R testHttpClientConnect(){
+//        String url = "http://localhost:81/dev-api/system/dict/data/type/{param}";
+//        String param = "sys_user_sex";
+//        ResponseEntity<JSONObject> forEntity = restTemplateConfig.restTemplate().getForEntity(url, JSONObject.class,param);
+//        JSONObject body = forEntity.getBody();
+//        System.out.println(body.toString());
+
+        String url = "http://localhost:81/dev-api/bs/formulaChild/getProductProcess";
+        HashMap<String,String> map = new HashMap<>();
+        map.put("productCode","2V91");
+        ResponseEntity<JSONObject> jsonObjectResponseEntity = restTemplateConfig.restTemplate().postForEntity(url, map, JSONObject.class);
+        System.out.println(Objects.requireNonNull(jsonObjectResponseEntity.getBody()));
+        return R.ok();
+    }
+
+}
diff --git a/billion-main/src/main/java/com/billion/main/da/controller/DaParamCollectionController.java b/billion-main/src/main/java/com/billion/main/da/controller/DaParamCollectionController.java
index de0e16b..b4c8d97 100644
--- a/billion-main/src/main/java/com/billion/main/da/controller/DaParamCollectionController.java
+++ b/billion-main/src/main/java/com/billion/main/da/controller/DaParamCollectionController.java
@@ -1,26 +1,20 @@
 package com.billion.main.da.controller;
 
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-
-import com.billion.main.da.service.IDaParamCollectionService;
-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.enums.BusinessType;
-import com.billion.main.da.domain.DaParamCollection;
-import com.billion.common.utils.poi.ExcelUtil;
 import com.billion.common.core.page.TableDataInfo;
+import com.billion.common.enums.BusinessType;
+import com.billion.common.utils.DateUtils;
+import com.billion.common.utils.poi.ExcelUtil;
+import com.billion.main.da.domain.DaParamCollection;
+import com.billion.main.da.service.IDaParamCollectionService;
+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
@@ -78,6 +72,8 @@
     @PostMapping
     public AjaxResult add(@RequestBody DaParamCollection daParamCollection)
     {
+        daParamCollection.setCreateBy(getUsername());
+        daParamCollection.setCreateTime(DateUtils.getNowDate());
         return toAjax(daParamCollectionService.insertDaParamCollection(daParamCollection));
     }
 
@@ -89,6 +85,8 @@
     @PutMapping
     public AjaxResult edit(@RequestBody DaParamCollection daParamCollection)
     {
+        daParamCollection.setUpdateBy(getUsername());
+        daParamCollection.setUpdateTime(DateUtils.getNowDate());
         return toAjax(daParamCollectionService.updateDaParamCollection(daParamCollection));
     }
 
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..803d7e5
--- /dev/null
+++ b/billion-main/src/main/java/com/billion/main/da/domain/DaCollectionParamConf.java
@@ -0,0 +1,357 @@
+package com.billion.main.da.domain;
+
+import com.billion.common.annotation.Excel;
+import com.billion.common.core.domain.BaseEntity;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 閲囬泦鍙傛暟閰嶇疆瀵硅薄 da_collection_param_conf
+ * 
+ * @author ruimin
+ * @date 2023-12-25
+ */
+@Data
+public class DaCollectionParamConf extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 涓婚敭id */
+    private Long id;
+
+    private Integer keyNum;
+
+    /** 宸ュ簭缂栧彿 */
+    @Excel(name = "宸ュ簭缂栧彿")
+    private String processesCode;
+
+    /** 鍙傛暟闆嗙紪鐮� */
+    @Excel(name = "鍙傛暟闆嗙紪鐮�")
+    private String parameterSetCode;
+
+    /** 鍙傛暟闆嗗悕绉� */
+    @Excel(name = "鍙傛暟闆嗗悕绉�")
+    private String parameterSetName;
+
+    /** 鏁版嵁鎻忚堪 */
+    @Excel(name = "鏁版嵁鎻忚堪")
+    private String descriptive;
+
+    /** 浜у搧缂栫爜 */
+    @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;
+
+    /** 宸ュ簭鍚嶇О */
+    @Excel(name = "宸ュ簭鍚嶇О")
+    private String processesName;
+
+    /** 璁惧 */
+    @Excel(name = "璁惧")
+    private String device;
+
+    /** 椤圭洰 */
+    @Excel(name = "椤圭洰")
+    private String project;
+
+    /** 绮惧害 */
+    @Excel(name = "绮惧害")
+    private Long accuracy;
+
+    /** 鏁扮粍闀垮害 */
+    @Excel(name = "鏁扮粍闀垮害")
+    private Long arrayLength;
+
+    /** 閲囬泦棰戠巼 */
+    @Excel(name = "閲囬泦棰戠巼")
+    private String acquisitionFrequency;
+
+    /** 涓氬姟闇�姹傞儴闂� */
+    @Excel(name = "涓氬姟闇�姹傞儴闂�")
+    private String demandDepartment;
+
+    /** 鏄惁閲囬泦 */
+    @Excel(name = "鏄惁閲囬泦")
+    private String whetherToCollect;
+
+    /** 榛樿鍊� */
+    @Excel(name = "榛樿鍊�")
+    private String defaultValue;
+
+    /** 浜у搧鍨嬪彿 */
+    @Excel(name = "浜у搧鍨嬪彿")
+    private String productModel;
+
+
+    public String getProductModel() {
+        return productModel;
+    }
+
+    public void setProductModel(String productModel) {
+        this.productModel = productModel;
+    }
+
+    public String getProcessesName() {
+        return processesName;
+    }
+
+    public void setProcessesName(String processesName) {
+        this.processesName = processesName;
+    }
+
+    public String getDevice() {
+        return device;
+    }
+
+    public void setDevice(String device) {
+        this.device = device;
+    }
+
+    public String getProject() {
+        return project;
+    }
+
+    public void setProject(String project) {
+        this.project = project;
+    }
+
+    public Long getAccuracy() {
+        return accuracy;
+    }
+
+    public void setAccuracy(Long accuracy) {
+        this.accuracy = accuracy;
+    }
+
+    public Long getArrayLength() {
+        return arrayLength;
+    }
+
+    public void setArrayLength(Long arrayLength) {
+        this.arrayLength = arrayLength;
+    }
+
+    public String getAcquisitionFrequency() {
+        return acquisitionFrequency;
+    }
+
+    public void setAcquisitionFrequency(String acquisitionFrequency) {
+        this.acquisitionFrequency = acquisitionFrequency;
+    }
+
+    public String getDemandDepartment() {
+        return demandDepartment;
+    }
+
+    public void setDemandDepartment(String demandDepartment) {
+        this.demandDepartment = demandDepartment;
+    }
+
+    public String getWhetherToCollect() {
+        return whetherToCollect;
+    }
+
+    public void setWhetherToCollect(String whetherToCollect) {
+        this.whetherToCollect = whetherToCollect;
+    }
+
+    public String getDefaultValue() {
+        return defaultValue;
+    }
+
+    public void setDefaultValue(String defaultValue) {
+        this.defaultValue = defaultValue;
+    }
+
+    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 setDescriptive(String descriptive)
+    {
+        this.descriptive = descriptive;
+    }
+
+    public String getDescriptive()
+    {
+        return descriptive;
+    }
+
+    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("descriptive", getDescriptive())
+            .append("productCode", getProductCode())
+            .append("gatherAddress", getGatherAddress())
+            .append("gatherSequence", getGatherSequence())
+            .append("remarks", getRemarks())
+            .append("createUser", getCreateUser())
+            .append("createTime", getCreateTime())
+            .append("updateUser", getUpdateUser())
+            .append("updateTime", getUpdateTime())
+            .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/DaParamCollection.java b/billion-main/src/main/java/com/billion/main/da/domain/DaParamCollection.java
index 7fdbc6f..9f235dc 100644
--- a/billion-main/src/main/java/com/billion/main/da/domain/DaParamCollection.java
+++ b/billion-main/src/main/java/com/billion/main/da/domain/DaParamCollection.java
@@ -1,14 +1,18 @@
 package com.billion.main.da.domain;
 
-import java.util.Date;
-
-import com.baomidou.mybatisplus.annotation.TableField;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.HeadFontStyle;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.billion.common.annotation.Excel;
+import com.billion.main.common.BaseEntity;
 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 org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
 
 /**
  * 鍙傛暟閲囬泦瀵硅薄 da_param_collection
@@ -17,6 +21,10 @@
  * @date 2024-11-20
  */
 @Data
+@ExcelIgnoreUnannotated
+@ColumnWidth(16)
+@HeadRowHeight(14)
+@HeadFontStyle(fontHeightInPoints = 11)
 public class DaParamCollection extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
@@ -24,39 +32,329 @@
     /** 涓婚敭id */
     private Long id;
 
+    /** 宸ュ崟缂栧彿 */
+    @Excel(name = "宸ュ崟缂栧彿")
+    private String workOrderNo;
+
+    private String repairFlag;
+
     /** 鎬绘垚搴忓垪鍙� */
-    @Excel(name = "鎬绘垚搴忓垪鍙�")
+    @Excel(name = "绠变綋缂栫爜")
     private String sfcCode;
 
-    /** 宸ヤ綅缂栫爜 */
-    @Excel(name = "宸ヤ綅缂栫爜")
+    /** 浜у搧缂栧彿 */
+    @Excel(name = "浜у搧缂栧彿")
+    private String productCode;
+
+    /** 浜х嚎缂栧彿 */
+    @Excel(name = "浜х嚎缂栧彿")
+    private String productionLine;
+
+    /** 宸ヤ綅缂栧彿 */
+    @Excel(name = "宸ヤ綅缂栧彿")
     private String locationCode;
+
+    /** 璁惧缂栧彿 */
+    @Excel(name = "璁惧缂栧彿")
+    private String equipmentNo;
 
     /** 鍙傛暟缂栫爜 */
     @Excel(name = "鍙傛暟缂栫爜")
     private String paramCode;
 
-    /** 鍙傛暟鍚嶇О */
-    @Excel(name = "鍙傛暟鍚嶇О")
-    private String paramName;
-
     /** 鍙傛暟鍊� */
     @Excel(name = "鍙傛暟鍊�")
     private String paramValue;
 
+    /** 鍙傛暟涓婇檺 */
+    @Excel(name = "鍙傛暟涓婇檺")
+    private String paramUpper;
+
+    /** 鍙傛暟涓嬮檺 */
+    @Excel(name = "鍙傛暟涓嬮檺")
+    private String paramLower;
+
+    /** 鏍囧噯鍊� */
+    @Excel(name = "鏍囧噯鍊�")
+    private String paramStandard;
+
     /** 閲囬泦鏃堕棿 */
+    @Excel(name = "閲囬泦鏃堕棿")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @Excel(name = "閲囬泦鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
-    private Date collectTime;
+    private Date collectionTime;
 
-    @TableField(exist = false)
-    private String[] timeQuery;
+    /** 棰勭暀瀛楁1 */
+    private String spareField1;
 
-    @TableField(exist = false)
+    /** 棰勭暀瀛楁2 */
+    private String spareField2;
+
+    /** 鍒涘缓鐢ㄦ埛 */
+    private String createUser;
+
+    /** 鏇存敼鐢ㄦ埛 */
+    private String updateUser;
+
+    /** 鐘舵�侊紙1鍚堟牸銆�2涓嶅悎鏍硷級 */
+    @Excel(name = "鐘舵��", readConverterExp = "1=鍚堟牸銆�2涓嶅悎鏍�")
+    private String state;
+
+    /** 鍙傛暟鍚嶇О */
+    @Excel(name = "鍙傛暟鍚嶇О")
+    private String paramName;
+
+    /** 鍗曚綅 */
+    @Excel(name = "鍗曚綅")
+    private String unit;
+
+    /** 绫诲瀷 */
+    @Excel(name = "绫诲瀷")
+    private String type;
+
+    private String[] dateConditions;
+
     private String startTime;
 
-    @TableField(exist = false)
-    private String stopTime;
+    private String endTime;
 
+    public String[] getDateConditions() {
+        return dateConditions;
+    }
 
+    public void setDateConditions(String[] dateConditions) {
+        this.dateConditions = dateConditions;
+    }
+
+    public String getStartTime() {return startTime;}
+
+    public void setStartTime(String startTime) {
+        this.startTime = startTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setWorkOrderNo(String workOrderNo)
+    {
+        this.workOrderNo = workOrderNo;
+    }
+
+    public String getWorkOrderNo()
+    {
+        return workOrderNo;
+    }
+    public void setSfcCode(String sfcCode)
+    {
+        this.sfcCode = sfcCode;
+    }
+
+    public String getSfcCode()
+    {
+        return sfcCode;
+    }
+    public void setProductCode(String productCode)
+    {
+        this.productCode = productCode;
+    }
+
+    public String getProductCode()
+    {
+        return productCode;
+    }
+    public void setProductionLine(String productionLine)
+    {
+        this.productionLine = productionLine;
+    }
+
+    public String getProductionLine()
+    {
+        return productionLine;
+    }
+    public void setLocationCode(String locationCode)
+    {
+        this.locationCode = locationCode;
+    }
+
+    public String getLocationCode()
+    {
+        return locationCode;
+    }
+    public void setEquipmentNo(String equipmentNo)
+    {
+        this.equipmentNo = equipmentNo;
+    }
+
+    public String getEquipmentNo()
+    {
+        return equipmentNo;
+    }
+    public void setParamCode(String paramCode)
+    {
+        this.paramCode = paramCode;
+    }
+
+    public String getParamCode()
+    {
+        return paramCode;
+    }
+    public void setParamValue(String paramValue)
+    {
+        this.paramValue = paramValue;
+    }
+
+    public String getParamValue()
+    {
+        return paramValue;
+    }
+    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 setParamStandard(String paramStandard)
+    {
+        this.paramStandard = paramStandard;
+    }
+
+    public String getParamStandard()
+    {
+        return paramStandard;
+    }
+    public void setCollectionTime(Date collectionTime)
+    {
+        this.collectionTime = collectionTime;
+    }
+
+    public Date getCollectionTime()
+    {
+        return collectionTime;
+    }
+    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 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 setState(String state)
+    {
+        this.state = state;
+    }
+
+    public String getState()
+    {
+        return state;
+    }
+    public void setParamName(String paramName)
+    {
+        this.paramName = paramName;
+    }
+
+    public String getParamName()
+    {
+        return paramName;
+    }
+    public void setUnit(String unit)
+    {
+        this.unit = unit;
+    }
+
+    public String getUnit()
+    {
+        return unit;
+    }
+    public void setType(String type)
+    {
+        this.type = type;
+    }
+
+    public String getType()
+    {
+        return type;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("workOrderNo", getWorkOrderNo())
+                .append("sfcCode", getSfcCode())
+                .append("productCode", getProductCode())
+                .append("productionLine", getProductionLine())
+                .append("locationCode", getLocationCode())
+                .append("equipmentNo", getEquipmentNo())
+                .append("paramCode", getParamCode())
+                .append("paramValue", getParamValue())
+                .append("paramUpper", getParamUpper())
+                .append("paramLower", getParamLower())
+                .append("paramStandard", getParamStandard())
+                .append("collectionTime", getCollectionTime())
+                .append("spareField1", getSpareField1())
+                .append("spareField2", getSpareField2())
+                .append("createUser", getCreateUser())
+                .append("createTime", getCreateTime())
+                .append("updateUser", getUpdateUser())
+                .append("updateTime", getUpdateTime())
+                .append("state", getState())
+                .append("paramName", getParamName())
+                .append("unit", getUnit())
+                .append("type", getType())
+                .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..f0dc919
--- /dev/null
+++ b/billion-main/src/main/java/com/billion/main/da/mapper/DaCollectionParamConfMapper.java
@@ -0,0 +1,63 @@
+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);
+
+    /**
+     * 鏂板閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @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/DaParamCollectionMapper.java b/billion-main/src/main/java/com/billion/main/da/mapper/DaParamCollectionMapper.java
index b7a1023..2faa399 100644
--- a/billion-main/src/main/java/com/billion/main/da/mapper/DaParamCollectionMapper.java
+++ b/billion-main/src/main/java/com/billion/main/da/mapper/DaParamCollectionMapper.java
@@ -1,9 +1,10 @@
 package com.billion.main.da.mapper;
 
-import java.util.List;
-
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.billion.main.da.domain.DaParamCollection;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 鍙傛暟閲囬泦Mapper鎺ュ彛
@@ -29,6 +30,8 @@
      */
     public List<DaParamCollection> selectDaParamCollectionList(DaParamCollection daParamCollection);
 
+    public List<DaParamCollection> getListBySfcCode(@Param("engineNoList") List<String> engineNoList);
+
     /**
      * 鏂板鍙傛暟閲囬泦
      * 
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..81117e5
--- /dev/null
+++ b/billion-main/src/main/java/com/billion/main/da/service/IDaCollectionParamConfService.java
@@ -0,0 +1,63 @@
+package com.billion.main.da.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.billion.main.da.domain.DaCollectionParamConf;
+
+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);
+
+    /**
+     * 鏂板閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @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/IDaParamCollectionService.java b/billion-main/src/main/java/com/billion/main/da/service/IDaParamCollectionService.java
index d7970d1..6d1024f 100644
--- a/billion-main/src/main/java/com/billion/main/da/service/IDaParamCollectionService.java
+++ b/billion-main/src/main/java/com/billion/main/da/service/IDaParamCollectionService.java
@@ -1,9 +1,8 @@
 package com.billion.main.da.service;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.billion.main.da.domain.DaParamCollection;
+
+import java.util.List;
 
 /**
  * 鍙傛暟閲囬泦Service鎺ュ彛
@@ -11,7 +10,7 @@
  * @author Billion-Yi
  * @date 2024-11-20
  */
-public interface IDaParamCollectionService extends IService<DaParamCollection>
+public interface IDaParamCollectionService
 {
     /**
      * 鏌ヨ鍙傛暟閲囬泦
@@ -60,4 +59,11 @@
      * @return 缁撴灉
      */
     public int deleteDaParamCollectionById(Long id);
+    /**
+     * 浣跨敤sqlSessionFactory瀹炵幇鎵归噺鎻掑叆鏁版嵁
+     *
+     * @param list 璁惧浜у搧杩囩▼鍙傛暟閲囬泦涓婚敭
+     * @return 缁撴灉
+     */
+    void saveBeachDaParamCollection(List<DaParamCollection> 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..3b0a630
--- /dev/null
+++ b/billion-main/src/main/java/com/billion/main/da/service/impl/DaCollectionParamConfServiceImpl.java
@@ -0,0 +1,98 @@
+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.mapper.DaCollectionParamConfMapper;
+import com.billion.main.da.service.IDaCollectionParamConfService;
+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);
+    }
+
+    /**
+     * 鏂板閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @param daCollectionParamConf 閲囬泦鍙傛暟閰嶇疆
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertDaCollectionParamConf(DaCollectionParamConf daCollectionParamConf)
+    {
+        daCollectionParamConf.setCreateTime(DateUtils.getNowDate());
+        return daCollectionParamConfMapper.insertDaCollectionParamConf(daCollectionParamConf);
+    }
+
+    /**
+     * 淇敼閲囬泦鍙傛暟閰嶇疆
+     * 
+     * @param daCollectionParamConf 閲囬泦鍙傛暟閰嶇疆
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateDaCollectionParamConf(DaCollectionParamConf daCollectionParamConf)
+    {
+        daCollectionParamConf.setUpdateTime(DateUtils.getNowDate());
+        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/DaParamCollectionServiceImpl.java b/billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java
index cc17084..1fb1c1a 100644
--- a/billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java
+++ b/billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java
@@ -1,18 +1,17 @@
 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.common.utils.SecurityUtils;
+import com.billion.common.utils.DateUtils;
+import com.billion.main.da.domain.DaParamCollection;
+import com.billion.main.da.mapper.DaParamCollectionMapper;
+import com.billion.main.da.service.IDaParamCollectionService;
+import org.apache.ibatis.session.ExecutorType;
+import org.apache.ibatis.session.SqlSession;
+import org.apache.ibatis.session.SqlSessionFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.billion.main.da.mapper.DaParamCollectionMapper;
-import com.billion.main.da.domain.DaParamCollection;
-import com.billion.main.da.service.IDaParamCollectionService;
 
-import static org.apache.commons.lang3.SystemUtils.getUserName;
+import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 鍙傛暟閲囬泦Service涓氬姟灞傚鐞�
@@ -21,10 +20,18 @@
  * @date 2024-11-20
  */
 @Service
-public class DaParamCollectionServiceImpl extends ServiceImpl<DaParamCollectionMapper, DaParamCollection> implements IDaParamCollectionService
+public class DaParamCollectionServiceImpl implements IDaParamCollectionService
 {
     @Autowired
     private DaParamCollectionMapper daParamCollectionMapper;
+
+    @Autowired
+    private IDaParamCollectionService daParamCollectionService;
+
+    @Resource
+    private SqlSessionFactory sqlSessionFactory;
+
+
 
     /**
      * 鏌ヨ鍙傛暟閲囬泦
@@ -47,9 +54,10 @@
     @Override
     public List<DaParamCollection> selectDaParamCollectionList(DaParamCollection daParamCollection)
     {
-        if(ObjectUtil.isNotNull(daParamCollection.getTimeQuery())){
-            daParamCollection.setStartTime(daParamCollection.getTimeQuery()[0]);
-            daParamCollection.setStopTime(daParamCollection.getTimeQuery()[1]);
+        if(daParamCollection.getDateConditions()!=null){
+            String[] conditions = daParamCollection.getDateConditions();
+            daParamCollection.setStartTime(conditions[0]);
+            daParamCollection.setEndTime(conditions[1]);
         }
         return daParamCollectionMapper.selectDaParamCollectionList(daParamCollection);
     }
@@ -63,8 +71,7 @@
     @Override
     public int insertDaParamCollection(DaParamCollection daParamCollection)
     {
-        daParamCollection.setCollectTime(new Date());
-        daParamCollection.setCreateBy(getUserName());
+        daParamCollection.setCreateTime(DateUtils.getNowDate());
         return daParamCollectionMapper.insertDaParamCollection(daParamCollection);
     }
 
@@ -103,4 +110,24 @@
     {
         return daParamCollectionMapper.deleteDaParamCollectionById(id);
     }
+    @Override
+    public void saveBeachDaParamCollection(List<DaParamCollection> list) {
+        // ExecutorType.SIMPLE: 杩欎釜鎵ц鍣ㄧ被鍨嬩笉鍋氱壒娈婄殑浜嬫儏銆傚畠涓烘瘡涓鍙ョ殑鎵ц鍒涘缓涓�涓柊鐨勯澶勭悊璇彞銆�
+        // ExecutorType.REUSE: 杩欎釜鎵ц鍣ㄧ被鍨嬩細澶嶇敤棰勫鐞嗚鍙ャ��
+        // ExecutorType.BATCH: 杩欎釜鎵ц鍣ㄤ細鎵归噺鎵ц鎵�鏈夋洿鏂拌鍙�,濡傛灉 SELECT 鍦ㄥ畠浠腑闂存墽琛岃繕浼氭爣瀹氬畠浠槸 蹇呴』鐨�,鏉ヤ繚璇佷竴涓畝鍗曞苟鏄撲簬鐞嗚В鐨勮涓恒��
+
+        // 鍏抽棴session鐨勮嚜鍔ㄦ彁浜�
+        SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
+        try {
+            DaParamCollectionMapper userMapper = sqlSession.getMapper(DaParamCollectionMapper.class);
+            list.stream().forEach(DaParamCollection -> userMapper.insertDaParamCollection(DaParamCollection));
+            // 鎻愪氦鏁版嵁
+            sqlSession.commit();
+            sqlSession.rollback();
+        } catch (Exception e) {
+            sqlSession.rollback();
+        } finally {
+            sqlSession.close();
+        }
+    }
 }
diff --git a/billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java b/billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java
index 6d08b39..76cf3f1 100644
--- a/billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java
+++ b/billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java
@@ -2,6 +2,8 @@
 
 import com.billion.main.bs.service.IBsBomChildInfoService;
 import com.billion.main.constant.Constants;
+import com.billion.main.da.service.IDaCollectionParamConfService;
+import com.billion.main.da.service.IDaMaterialCollectionService;
 import com.billion.main.da.service.IDaParamCollectionService;
 import com.billion.main.da.service.IDaStationCollectionService;
 import com.billion.main.om.service.IOmOrderSchedulingService;
@@ -31,7 +33,11 @@
     @Autowired
     public IOmOrderSchedulingService omOrderSchedulingService;
     @Autowired
-    public IBsBomChildInfoService bomChildInfoService;
+    public IBsBomChildInfoService bsBomChildInfoService;
+    @Autowired
+    public IDaCollectionParamConfService daCollectionParamConfService;
+    @Autowired
+    public IDaMaterialCollectionService daMaterialCollectionService;
 
 
     @Override
@@ -94,7 +100,9 @@
                 daStationCollectionService,
                 omProductionOrderInfoService,
                 omOrderSchedulingService,
-                bomChildInfoService);
+                bsBomChildInfoService,
+                daCollectionParamConfService,
+                daMaterialCollectionService);
 
         List<String> lists = getList();
         System.out.println("璁㈤槄鍐呭锛�"+lists);
diff --git a/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java b/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java
index 1ab1bbf..1603060 100644
--- a/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java
+++ b/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java
@@ -1,8 +1,14 @@
 package com.billion.main.plcServer.sub;
-
+import com.billion.common.utils.StringUtils;
 import com.billion.main.bs.domain.BsBomChildInfo;
 import com.billion.main.bs.service.IBsBomChildInfoService;
 import com.billion.main.constant.Constants;
+import com.billion.main.da.domain.DaCollectionParamConf;
+import com.billion.main.da.domain.DaMaterialCollection;
+import com.billion.main.da.domain.DaParamCollection;
+import com.billion.main.da.domain.DaStationCollection;
+import com.billion.main.da.service.IDaCollectionParamConfService;
+import com.billion.main.da.service.IDaMaterialCollectionService;
 import com.billion.main.da.service.IDaParamCollectionService;
 import com.billion.main.da.service.IDaStationCollectionService;
 import com.billion.main.om.domain.OmOrderScheduling;
@@ -14,9 +20,9 @@
 import com.kangaroohy.milo.service.MiloService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
-
 import java.time.LocalDateTime;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.concurrent.CompletableFuture;
 @Slf4j
@@ -27,21 +33,28 @@
     public IDaStationCollectionService daStationCollectionService;
     public IOmProductionOrderInfoService omProductionOrderInfoService;
     public IOmOrderSchedulingService omOrderSchedulingService;
-    public IBsBomChildInfoService bomChildInfoService;
+    public IBsBomChildInfoService bsBomChildInfoService;
+    public IDaCollectionParamConfService daCollectionParamConfService;
+    public IDaMaterialCollectionService daMaterialCollectionService;
+
 
     public OPCUaSubscription(MiloService miloService,
                              IDaParamCollectionService daParamCollectionService,
                              IDaStationCollectionService daStationCollectionService,
                              IOmProductionOrderInfoService omProductionOrderInfoService,
                              IOmOrderSchedulingService omOrderSchedulingService,
-                             IBsBomChildInfoService bomChildInfoService
+                             IBsBomChildInfoService bsBomChildInfoService,
+                             IDaCollectionParamConfService daCollectionParamConfService,
+                             IDaMaterialCollectionService daMaterialCollectionService
                              ) {
         OPCUaSubscription.miloService = miloService;
         this.daParamCollectionService = daParamCollectionService;
         this.daStationCollectionService = daStationCollectionService;
         this.omProductionOrderInfoService = omProductionOrderInfoService;
         this.omOrderSchedulingService = omOrderSchedulingService;
-        this.bomChildInfoService = bomChildInfoService;
+        this.bsBomChildInfoService = bsBomChildInfoService;
+        this.daCollectionParamConfService = daCollectionParamConfService;
+        this.daMaterialCollectionService = daMaterialCollectionService;
     }
     @Override
     public void onSubscribe(String identifier, Object value) {
@@ -113,11 +126,103 @@
                         omOrderScheduling.setSfcCode(SFCCode.toString());
                         omOrderSchedulinglist.add(omOrderScheduling);
                         omOrderSchedulingService.saveBatch(omOrderSchedulinglist);
-                        // 缂哄皯淇濆瓨鏁版嵁鐨勬柟娉�
+                        //鏌ヨdescriptive瀛楁绛変簬1鐨勯噰闆嗛」淇濆瓨鍒版壂鐮佷繚瀛樺埌da_material_collection琛ㄩ噷
+                        DaCollectionParamConf daCollectionParamConf1 = new DaCollectionParamConf();
+                        daCollectionParamConf1.setProcessesCode(device);
+                        daCollectionParamConf1.setDescriptive("1");
+                        List<DaCollectionParamConf> daCollectionParamConfList1 = daCollectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf1);
+                        for (DaCollectionParamConf conf : daCollectionParamConfList1) {
+                            String gatherAddress = conf.getGatherAddress();
+                            Object valueObj = miloService.readFromOpcUa(gatherAddress).getValue(); // 鑾峰彇鍘熷鍊煎璞♀��:ml-citation{ref="4" data="citationList"}
+                            if (valueObj == null || StringUtils.isEmpty(valueObj.toString())) {
+                                log.warn("閲囬泦鍦板潃{}杩斿洖绌哄�硷紝璺宠繃瀛樺偍", gatherAddress);
+                                continue; // 缁堟褰撳墠寰幆杩唬鈥�:ml-citation{ref="1,2" data="citationList"}
+                            }
+                                DaMaterialCollection materialCollection = new DaMaterialCollection();
+                                materialCollection.setSfcCode(SFCCode.toString());
+                                materialCollection.setLocationCode(device);
+                                materialCollection.setParamName(conf.getParameterSetName());
+                                materialCollection.setParamValue((String) miloService.readFromOpcUa(gatherAddress).getValue());
+                                materialCollection.setCollectTime(new Date());
+                                daMaterialCollectionService.insertDaMaterialCollection(materialCollection);
+                        }
+                        //鏌ヨdescriptive瀛楁绛変簬2鐨勯噰闆嗛」淇濆瓨鍒版壂鐮佷繚瀛樺埌da_param_collection琛ㄩ噷
+                        DaCollectionParamConf daCollectionParamConf2 = new DaCollectionParamConf();
+                        daCollectionParamConf2.setProcessesCode(device);
+                        daCollectionParamConf2.setDescriptive("2");
+                        List<DaCollectionParamConf> daCollectionParamConfList2 = daCollectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf2);
+                        for (DaCollectionParamConf conf : daCollectionParamConfList2) {
+                            String gatherAddress = conf.getGatherAddress();
+                            Object valueObj = miloService.readFromOpcUa(gatherAddress).getValue(); // 鑾峰彇鍘熷鍊煎璞♀��:ml-citation{ref="4" data="citationList"}
+                            if (valueObj == null || StringUtils.isEmpty(valueObj.toString())) {
+                                log.warn("閲囬泦鍦板潃{}杩斿洖绌哄�硷紝璺宠繃瀛樺偍", gatherAddress);
+                                continue; // 缁堟褰撳墠寰幆杩唬鈥�:ml-citation{ref="1,2" data="citationList"}
+                            }
+                                DaParamCollection paramCollection = new DaParamCollection();
+                                paramCollection.setSfcCode(SFCCode.toString());
+                                paramCollection.setLocationCode(device);
+                                paramCollection.setParamName(conf.getParameterSetName());
+                                paramCollection.setParamValue((String) miloService.readFromOpcUa(gatherAddress).getValue());
+                                paramCollection.setCollectionTime(new Date());
+                                daParamCollectionService.insertDaParamCollection(paramCollection);
+                        }
+                        DaStationCollection daStationCollection = new DaStationCollection();
+                        daStationCollection.setLocationCode(device);
+                        daStationCollection.setSfcCode(SFCCode.toString());
+                        daStationCollection.setInboundTime((Date) miloService.readFromOpcUa(thoroughfare + "." + device + ".StartTime").getValue());
+                        daStationCollection.setOutboundTime((Date) miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime").getValue());
+                        daStationCollectionService.insertDaStationCollection(daStationCollection);
 
                         miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value("21").build());
-                    }else if(Constants.PLC.contains(device) && Constants.OP310.contains(device)){
-
+                    }else if(Constants.PLC.contains(device) && Constants.OP310.contains(device) ){
+                        Object SFCCode = miloService.readFromOpcUa(thoroughfare + "." + device + ".SFCCode").getValue();
+                        //鏌ヨdescriptive瀛楁绛変簬1鐨勯噰闆嗛」淇濆瓨鍒版壂鐮佷繚瀛樺埌da_material_collection琛ㄩ噷
+                        DaCollectionParamConf daCollectionParamConf1 = new DaCollectionParamConf();
+                        daCollectionParamConf1.setProcessesCode(device);
+                        daCollectionParamConf1.setDescriptive("1");
+                        List<DaCollectionParamConf> daCollectionParamConfList1 = daCollectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf1);
+                        for (DaCollectionParamConf conf : daCollectionParamConfList1) {
+                            String gatherAddress = conf.getGatherAddress();
+                            Object valueObj = miloService.readFromOpcUa(gatherAddress).getValue(); // 鑾峰彇鍘熷鍊煎璞♀��:ml-citation{ref="4" data="citationList"}
+                            if (valueObj == null || StringUtils.isEmpty(valueObj.toString())) {
+                                log.warn("閲囬泦鍦板潃{}杩斿洖绌哄�硷紝璺宠繃瀛樺偍", gatherAddress);
+                                continue; // 缁堟褰撳墠寰幆杩唬鈥�:ml-citation{ref="1,2" data="citationList"}
+                            }
+                            DaMaterialCollection materialCollection = new DaMaterialCollection();
+                            materialCollection.setSfcCode(SFCCode.toString());
+                            materialCollection.setLocationCode(device);
+                            materialCollection.setParamName(conf.getParameterSetName());
+                            materialCollection.setParamValue((String) miloService.readFromOpcUa(gatherAddress).getValue());
+                            materialCollection.setCollectTime(new Date());
+                            daMaterialCollectionService.insertDaMaterialCollection(materialCollection);
+                        }
+                        //鏌ヨdescriptive瀛楁绛変簬2鐨勯噰闆嗛」淇濆瓨鍒版壂鐮佷繚瀛樺埌da_param_collection琛ㄩ噷
+                        DaCollectionParamConf daCollectionParamConf2 = new DaCollectionParamConf();
+                        daCollectionParamConf2.setProcessesCode(device);
+                        daCollectionParamConf2.setDescriptive("2");
+                        List<DaCollectionParamConf> daCollectionParamConfList2 = daCollectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf2);
+                        for (DaCollectionParamConf conf : daCollectionParamConfList2) {
+                            String gatherAddress = conf.getGatherAddress();
+                            Object valueObj = miloService.readFromOpcUa(gatherAddress).getValue(); // 鑾峰彇鍘熷鍊煎璞♀��:ml-citation{ref="4" data="citationList"}
+                            if (valueObj == null || StringUtils.isEmpty(valueObj.toString())) {
+                                log.warn("閲囬泦鍦板潃{}杩斿洖绌哄�硷紝璺宠繃瀛樺偍", gatherAddress);
+                                continue; // 缁堟褰撳墠寰幆杩唬鈥�:ml-citation{ref="1,2" data="citationList"}
+                            }
+                            DaParamCollection paramCollection = new DaParamCollection();
+                            paramCollection.setSfcCode(SFCCode.toString());
+                            paramCollection.setLocationCode(device);
+                            paramCollection.setParamName(conf.getParameterSetName());
+                            paramCollection.setParamValue((String) miloService.readFromOpcUa(gatherAddress).getValue());
+                            paramCollection.setCollectionTime(new Date());
+                            daParamCollectionService.insertDaParamCollection(paramCollection);
+                        }
+                        DaStationCollection daStationCollection = new DaStationCollection();
+                        daStationCollection.setLocationCode(device);
+                        daStationCollection.setSfcCode(SFCCode.toString());
+                        daStationCollection.setInboundTime((Date) miloService.readFromOpcUa(thoroughfare + "." + device + ".StartTime").getValue());
+                        daStationCollection.setOutboundTime((Date) miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime").getValue());
+                        daStationCollectionService.insertDaStationCollection(daStationCollection);
+                        miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value("21").build());
                     }
                 }
             }
@@ -131,28 +236,65 @@
     public void plackWorkOrder(String thoroughfare, String device, String tab, String valueString) {
     try {
         if (Constants.WorkOrderRequest.equals(tab)) {
-            if (Constants.ZERO.equals(valueString)) {
-                miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value("0").build());
-            } else if (Constants.ONE.equals(valueString)) {
-                // 鏌ヨ鏁版嵁搴撹幏鍙栫鍚堟潯浠剁殑璁㈠崟淇℃伅
-                OmProductionOrderInfo getEarliestOrder = omProductionOrderInfoService.getEarliestOrder();
-                if (getEarliestOrder != null) {
-                    //鍒ゆ柇褰撳墠涓嬪彂鏁伴噺
-                    if(getEarliestOrder.getRemarks() >= getEarliestOrder.getPlanQty()){
-                        //鏇存柊宸ュ崟鐘舵��
-                        omProductionOrderInfoService.updateOrderStatus5();
-                        //鏌ヨ鏂版弧瓒崇殑宸ュ崟
-                        OmProductionOrderInfo getEarliestOrder2 = omProductionOrderInfoService.getEarliestOrder();
-                        if (getEarliestOrder2 != null) {
-                            // 灏嗘暟鎹啓鍏ュ埌鍦板潃鍧椾腑
-                            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderNumber").value(getEarliestOrder2.getWorkOrderNo()).build());
-                            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ProductionPlan").value(String.valueOf(getEarliestOrder2.getPlanQty())).build());
-                            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".EngineType").value(getEarliestOrder2.getEngineType()).build());
+            if(Constants.OP010.equals(device)){
+                if (Constants.ZERO.equals(valueString)) {
+                    miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value("0").build());
+                } else if (Constants.ONE.equals(valueString)) {
+                    // 鏌ヨ鏁版嵁搴撹幏鍙栫鍚堟潯浠剁殑璁㈠崟淇℃伅
+                    OmProductionOrderInfo getEarliestOrder = omProductionOrderInfoService.getEarliestOrder();
+                    if (getEarliestOrder != null) {
+                        //鍒ゆ柇褰撳墠涓嬪彂鏁伴噺
+                        if(getEarliestOrder.getRemarks() >= getEarliestOrder.getPlanQty()){
+                            //鏇存柊宸ュ崟鐘舵��
+                            omProductionOrderInfoService.updateOrderStatus5();
+                            //鏌ヨ鏂版弧瓒崇殑宸ュ崟
+                            OmProductionOrderInfo getEarliestOrder2 = omProductionOrderInfoService.getEarliestOrder();
+                            if (getEarliestOrder2 != null) {
+                                // 灏嗘暟鎹啓鍏ュ埌鍦板潃鍧椾腑
+                                miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderNumber").value(getEarliestOrder2.getWorkOrderNo()).build());
+                                miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ProductionPlan").value(String.valueOf(getEarliestOrder2.getPlanQty())).build());
+                                miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".EngineType").value(getEarliestOrder2.getEngineType()).build());
+                                //鐢熸垚sn鐮�
+                                OmProductionOrderInfo serialNumber = omProductionOrderInfoService.getSerialNumber();
+                                String A3 = String.valueOf(LocalDateTime.now().getYear()).substring(2);
+                                if(A3.equals(String.valueOf(serialNumber.getRemarks()))){
+                                    String A1 = getEarliestOrder2.getEngineType();//鑾峰彇浜у搧鍨嬪彿
+                                    String A2 = "3";
+                                    String A4 = MONTH[LocalDateTime.now().getMonthValue() - 1];// 鑾峰彇褰撳墠鏈堜唤锛�1-12锛�
+                                    String A5 = String.format("%05d", serialNumber.getPlanQty());
+                                    String SFCCode = A1 + A2 + A3+ A4 + A5;
+                                    miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build());
+                                    omProductionOrderInfoService.updateSerialNumber();
+                                }else{
+                                    OmProductionOrderInfo newNumber = omProductionOrderInfoService.updateYear();
+                                    String A1 = getEarliestOrder2.getEngineType();//鑾峰彇浜у搧鍨嬪彿
+                                    String A2 = "3";
+                                    String A4 = MONTH[LocalDateTime.now().getMonthValue() - 1];// 鑾峰彇褰撳墠鏈堜唤锛�1-12锛�
+                                    String A5 = String.format("%05d", newNumber.getPlanQty());
+                                    String SFCCode = A1 + A2 + A3+ A4 + A5;
+                                    miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build());
+                                    omProductionOrderInfoService.updateSerialNumber();
+                                }
+                                // 鏇存柊 WorkOrderRequestDone 鍦板潃鍧�
+                                miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value("11").build());
+                                BsBomChildInfo bsbomChildInfo= new BsBomChildInfo();
+                                bsbomChildInfo.setLocationCode(device);
+                                bsbomChildInfo.setBomCode(getEarliestOrder2.getWorkOrderNo());
+                                //鍙戜笅宸ヨ壓閰嶆柟
+                                formula(thoroughfare, device, bsbomChildInfo);
+                                omProductionOrderInfoService.updateOrderStatus2();
+
+                            }
+                        } else if (getEarliestOrder.getRemarks() < getEarliestOrder.getPlanQty()) {
+                            //鏇存柊宸ュ崟鐘舵��
+                            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderNumber").value(getEarliestOrder.getWorkOrderNo()).build());
+                            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ProductionPlan").value(String.valueOf(getEarliestOrder.getPlanQty())).build());
+                            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".EngineType").value(getEarliestOrder.getEngineType()).build());
                             //鐢熸垚sn鐮�
                             OmProductionOrderInfo serialNumber = omProductionOrderInfoService.getSerialNumber();
                             String A3 = String.valueOf(LocalDateTime.now().getYear()).substring(2);
                             if(A3.equals(String.valueOf(serialNumber.getRemarks()))){
-                                String A1 = getEarliestOrder2.getEngineType();//鑾峰彇浜у搧鍨嬪彿
+                                String A1 = getEarliestOrder.getEngineType();//鑾峰彇浜у搧鍨嬪彿
                                 String A2 = "3";
                                 String A4 = MONTH[LocalDateTime.now().getMonthValue() - 1];// 鑾峰彇褰撳墠鏈堜唤锛�1-12锛�
                                 String A5 = String.format("%05d", serialNumber.getPlanQty());
@@ -161,7 +303,7 @@
                                 omProductionOrderInfoService.updateSerialNumber();
                             }else{
                                 OmProductionOrderInfo newNumber = omProductionOrderInfoService.updateYear();
-                                String A1 = getEarliestOrder2.getEngineType();//鑾峰彇浜у搧鍨嬪彿
+                                String A1 = getEarliestOrder.getEngineType();//鑾峰彇浜у搧鍨嬪彿
                                 String A2 = "3";
                                 String A4 = MONTH[LocalDateTime.now().getMonthValue() - 1];// 鑾峰彇褰撳墠鏈堜唤锛�1-12锛�
                                 String A5 = String.format("%05d", newNumber.getPlanQty());
@@ -173,49 +315,17 @@
                             miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value("11").build());
                             BsBomChildInfo bsbomChildInfo= new BsBomChildInfo();
                             bsbomChildInfo.setLocationCode(device);
-                            bsbomChildInfo.setBomCode(getEarliestOrder2.getWorkOrderNo());
+                            bsbomChildInfo.setBomCode(getEarliestOrder.getWorkOrderNo());
                             //鍙戜笅宸ヨ壓閰嶆柟
                             formula(thoroughfare, device, bsbomChildInfo);
                             omProductionOrderInfoService.updateOrderStatus2();
-
                         }
-                    } else if (getEarliestOrder.getRemarks() < getEarliestOrder.getPlanQty()) {
-                        //鏇存柊宸ュ崟鐘舵��
-                        miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderNumber").value(getEarliestOrder.getWorkOrderNo()).build());
-                        miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ProductionPlan").value(String.valueOf(getEarliestOrder.getPlanQty())).build());
-                        miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".EngineType").value(getEarliestOrder.getEngineType()).build());
-                        //鐢熸垚sn鐮�
-                        OmProductionOrderInfo serialNumber = omProductionOrderInfoService.getSerialNumber();
-                        String A3 = String.valueOf(LocalDateTime.now().getYear()).substring(2);
-                        if(A3.equals(String.valueOf(serialNumber.getRemarks()))){
-                            String A1 = getEarliestOrder.getEngineType();//鑾峰彇浜у搧鍨嬪彿
-                            String A2 = "3";
-                            String A4 = MONTH[LocalDateTime.now().getMonthValue() - 1];// 鑾峰彇褰撳墠鏈堜唤锛�1-12锛�
-                            String A5 = String.format("%05d", serialNumber.getPlanQty());
-                            String SFCCode = A1 + A2 + A3+ A4 + A5;
-                            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build());
-                            omProductionOrderInfoService.updateSerialNumber();
-                        }else{
-                            OmProductionOrderInfo newNumber = omProductionOrderInfoService.updateYear();
-                            String A1 = getEarliestOrder.getEngineType();//鑾峰彇浜у搧鍨嬪彿
-                            String A2 = "3";
-                            String A4 = MONTH[LocalDateTime.now().getMonthValue() - 1];// 鑾峰彇褰撳墠鏈堜唤锛�1-12锛�
-                            String A5 = String.format("%05d", newNumber.getPlanQty());
-                            String SFCCode = A1 + A2 + A3+ A4 + A5;
-                            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build());
-                            omProductionOrderInfoService.updateSerialNumber();
-                        }
-                        // 鏇存柊 WorkOrderRequestDone 鍦板潃鍧�
-                        miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value("11").build());
-                        BsBomChildInfo bsbomChildInfo= new BsBomChildInfo();
-                        bsbomChildInfo.setLocationCode(device);
-                        bsbomChildInfo.setBomCode(getEarliestOrder.getWorkOrderNo());
-                        //鍙戜笅宸ヨ壓閰嶆柟
-                        formula(thoroughfare, device, bsbomChildInfo);
-                        omProductionOrderInfoService.updateOrderStatus2();
                     }
                 }
+            } else if (Constants.C005.equals(device)) {
+
             }
+
         }
     } catch (Exception e) {
         log.error(e.getMessage());
@@ -224,7 +334,7 @@
 
     //鍙戜笅宸ヨ壓閰嶆柟鏂规硶
     private void formula(String thoroughfare, String device, BsBomChildInfo bsbomChildInfo) throws Exception {
-        List<BsBomChildInfo> bomChildList = bomChildInfoService.selectBsBomChildInfoList(bsbomChildInfo);
+        List<BsBomChildInfo> bomChildList = bsBomChildInfoService.selectBsBomChildInfoList(bsbomChildInfo);
         for (int i = 1; i <= bomChildList.size(); i++) {
             // 鐢熸垚 MaterialCode 鑺傜偣
             miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".Material1Code"+ i).value(bomChildList.get(i-1).getMaterialCode()).build());
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..2198107
--- /dev/null
+++ b/billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml
@@ -0,0 +1,127 @@
+<?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="descriptive"    column="descriptive"    />
+        <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_field1"    />
+        <result property="spareField2"    column="spare_field2"    />
+        <result property="spareField3"    column="spare_field3"    />
+        <result property="spareField4"    column="spare_field4"    />
+
+    </resultMap>
+
+    <sql id="selectDaCollectionParamConfVo">
+        select id, processes_code, parameter_set_code, parameter_set_name, descriptive, product_code, gather_address, gather_sequence, remarks, create_user, create_time, update_user, update_time, spare_field1, spare_field2, spare_field3, spare_field4 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="productCode != null  and productCode != ''"> and product_code like concat('%', #{productCode}, '%')</if>
+            <if test="gatherAddress != null  and gatherAddress != ''"> and gather_address like concat('%', #{gatherAddress}, '%')</if>
+
+        </where>
+    </select>
+    
+    <select id="selectDaCollectionParamConfById" parameterType="Long" resultMap="DaCollectionParamConfResult">
+        <include refid="selectDaCollectionParamConfVo"/>
+        where id = #{id}
+    </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="descriptive != null">descriptive,</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_field1,</if>
+            <if test="spareField2 != null">spare_field2,</if>
+            <if test="spareField3 != null">spare_field3,</if>
+            <if test="spareField4 != null">spare_field4,</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="descriptive != null">#{descriptive},</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="descriptive != null">descriptive = #{descriptive},</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_field1 = #{spareField1},</if>
+            <if test="spareField2 != null">spare_field2 = #{spareField2},</if>
+            <if test="spareField3 != null">spare_field3 = #{spareField3},</if>
+            <if test="spareField4 != null">spare_field4 = #{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

--
Gitblit v1.9.3