From 51eb318f6df9ebc7d1ff47522e33b2ee7cea1ba8 Mon Sep 17 00:00:00 2001
From: hdy <1105738590@qq.com>
Date: 星期日, 09 三月 2025 16:30:44 +0800
Subject: [PATCH] 修改

---
 billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java                       |  158 +++++++++--------
 billion-main/src/main/java/com/billion/main/da/controller/DaMaterialCollectionController.java |   22 -
 billion-main/pom.xml                                                                          |    6 
 billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java              |    3 
 billion-main/src/main/java/com/billion/main/bs/domain/BsBomInfo.java                          |    3 
 billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java                     |    9 
 billion-main/src/main/java/com/billion/main/plcServer/util/TimeUtil.java                      |  139 +++++++++++++++
 billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml                     |    2 
 billion-main/src/main/java/com/billion/main/om/domain/OmOrderScheduling.java                  |   16 +
 billion-main/src/main/java/com/billion/main/da/domain/DaStationCollection.java                |    3 
 billion-main/src/main/java/com/billion/main/om/service/impl/OmOrderSchedulingServiceImpl.java |   17 -
 billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java              |  103 ++++++-----
 12 files changed, 324 insertions(+), 157 deletions(-)

diff --git a/billion-main/pom.xml b/billion-main/pom.xml
index b049ba9..1117525 100644
--- a/billion-main/pom.xml
+++ b/billion-main/pom.xml
@@ -83,6 +83,12 @@
             <version>3.5.13</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>com.mysql</groupId>
+            <artifactId>mysql-connector-j</artifactId>
+            <version>8.0.33</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java b/billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java
index c6a4121..240f1df 100644
--- a/billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java
+++ b/billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java
@@ -1,10 +1,10 @@
 package com.billion.main.bs.domain;
 
 import com.billion.common.annotation.Excel;
+import com.billion.main.common.BaseEntity;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
-import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -14,7 +14,7 @@
  * @date 2024-11-25
  */
 @Data
-public class BsBomChildInfo
+public class BsBomChildInfo extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
@@ -47,7 +47,7 @@
 
     /** 鍗曡�� */
     @Excel(name = "鍗曡��")
-    private BigDecimal costQty;
+    private String costQty;
 
     /** 鍗曚綅 */
     @Excel(name = "鍗曚綅")
@@ -83,7 +83,4 @@
     private Date updateTime;
 
 
-
-    public void setCostQty(String count) {
-    }
 }
diff --git a/billion-main/src/main/java/com/billion/main/bs/domain/BsBomInfo.java b/billion-main/src/main/java/com/billion/main/bs/domain/BsBomInfo.java
index 4da6f86..d5bcce0 100644
--- a/billion-main/src/main/java/com/billion/main/bs/domain/BsBomInfo.java
+++ b/billion-main/src/main/java/com/billion/main/bs/domain/BsBomInfo.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.billion.common.annotation.Excel;
+import com.billion.main.common.BaseEntity;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
@@ -14,7 +15,7 @@
  * @date 2024-11-25
  */
 @Data
-public class BsBomInfo
+public class BsBomInfo extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
diff --git a/billion-main/src/main/java/com/billion/main/da/controller/DaMaterialCollectionController.java b/billion-main/src/main/java/com/billion/main/da/controller/DaMaterialCollectionController.java
index 08dadb0..f298d40 100644
--- a/billion-main/src/main/java/com/billion/main/da/controller/DaMaterialCollectionController.java
+++ b/billion-main/src/main/java/com/billion/main/da/controller/DaMaterialCollectionController.java
@@ -1,25 +1,19 @@
 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.DaMaterialCollection;
 import com.billion.main.da.service.IDaMaterialCollectionService;
-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.List;
 
 /**
  * 鐗╂枡閲囬泦Controller
diff --git a/billion-main/src/main/java/com/billion/main/da/domain/DaStationCollection.java b/billion-main/src/main/java/com/billion/main/da/domain/DaStationCollection.java
index d2e301c..176d4a1 100644
--- a/billion-main/src/main/java/com/billion/main/da/domain/DaStationCollection.java
+++ b/billion-main/src/main/java/com/billion/main/da/domain/DaStationCollection.java
@@ -1,7 +1,6 @@
 package com.billion.main.da.domain;
 
 import com.billion.common.annotation.Excel;
-import com.billion.main.common.BaseEntity;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
@@ -14,7 +13,7 @@
  * @date 2025-02-12
  */
 @Data
-public class DaStationCollection extends BaseEntity
+public class DaStationCollection
 {
     private static final long serialVersionUID = 1L;
 
diff --git a/billion-main/src/main/java/com/billion/main/om/domain/OmOrderScheduling.java b/billion-main/src/main/java/com/billion/main/om/domain/OmOrderScheduling.java
index 461b93c..b00837b 100644
--- a/billion-main/src/main/java/com/billion/main/om/domain/OmOrderScheduling.java
+++ b/billion-main/src/main/java/com/billion/main/om/domain/OmOrderScheduling.java
@@ -57,6 +57,20 @@
 
     /** 褰撳墠璁㈠崟宸蹭笂绾挎暟閲� */
     @Excel(name = "褰撳墠璁㈠崟宸蹭笂绾挎暟閲�")
-    private Long nowQty;
+    private String nowQty;
+
+    /** 鍒涘缓鑰� */
+    private String createBy;
+
+    /** 鍒涘缓鏃堕棿 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /** 鏇存柊鑰� */
+    private String updateBy;
+
+    /** 鏇存柊鏃堕棿 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
 
 }
diff --git a/billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java b/billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java
index 750c239..9d67aa0 100644
--- a/billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java
+++ b/billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.billion.common.annotation.Excel;
+import com.billion.main.common.BaseEntity;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
@@ -14,7 +15,7 @@
  * @date 2024-11-20
  */
 @Data
-public class OmProductionOrderInfo
+public class OmProductionOrderInfo extends BaseEntity
 {
     @TableId
     /** 涓婚敭id */
diff --git a/billion-main/src/main/java/com/billion/main/om/service/impl/OmOrderSchedulingServiceImpl.java b/billion-main/src/main/java/com/billion/main/om/service/impl/OmOrderSchedulingServiceImpl.java
index ff9edec..d009222 100644
--- a/billion-main/src/main/java/com/billion/main/om/service/impl/OmOrderSchedulingServiceImpl.java
+++ b/billion-main/src/main/java/com/billion/main/om/service/impl/OmOrderSchedulingServiceImpl.java
@@ -3,10 +3,7 @@
 import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.billion.common.core.domain.entity.SysUser;
-import com.billion.common.core.domain.model.LoginUser;
 import com.billion.common.exception.ServiceException;
-import com.billion.common.utils.SecurityUtils;
 import com.billion.main.om.domain.OmOrderScheduling;
 import com.billion.main.om.mapper.OmOrderSchedulingMapper;
 import com.billion.main.om.service.IOmOrderSchedulingService;
@@ -66,12 +63,12 @@
         if (CollUtil.isNotEmpty(list)){
             throw new ServiceException(MessageFormat.format("宸插瓨鍦ㄦ�绘垚搴忓垪鍙蜂负{0}鐨勬暟鎹�",omOrderScheduling.getSfcCode()));
         }
-        LoginUser loginUser = SecurityUtils.getLoginUser();
-        SysUser user = loginUser.getUser();
+//        LoginUser loginUser = SecurityUtils.getLoginUser();
+//        SysUser user = loginUser.getUser();
         omOrderScheduling.setCreateTime(new Date());
         omOrderScheduling.setUpdateTime(new Date());
-        omOrderScheduling.setCreateBy(user.getUserName());
-        omOrderScheduling.setUpdateBy(user.getUserName());
+//        omOrderScheduling.setCreateBy(user.getUserName());
+//        omOrderScheduling.setUpdateBy(user.getUserName());
         return omOrderSchedulingMapper.insertOmOrderScheduling(omOrderScheduling);
     }
 
@@ -90,10 +87,10 @@
         if (CollUtil.isNotEmpty(list)){
             throw new ServiceException(MessageFormat.format("宸插瓨鍦ㄦ�绘垚搴忓垪鍙蜂负{0}鐨勬暟鎹�",omOrderScheduling.getSfcCode()));
         }
-        LoginUser loginUser = SecurityUtils.getLoginUser();
-        SysUser user = loginUser.getUser();
+//        LoginUser loginUser = SecurityUtils.getLoginUser();
+//        SysUser user = loginUser.getUser();
         omOrderScheduling.setUpdateTime(new Date());
-        omOrderScheduling.setUpdateBy(user.getUserName());
+//        omOrderScheduling.setUpdateBy(user.getUserName());
         return omOrderSchedulingMapper.updateOmOrderScheduling(omOrderScheduling);
     }
 
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 d8e94c3..6b332b3 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
@@ -22,13 +22,10 @@
 public class CustomRunner implements ApplicationRunner {
     @Autowired
     private MiloService miloService;
-
     @Autowired
     public IDaParamCollectionService daParamCollectionService;
-
     @Autowired
     public IDaStationCollectionService daStationCollectionService;
-
     @Autowired
     public IOmProductionOrderInfoService omProductionOrderInfoService;
     @Autowired
@@ -50,7 +47,6 @@
         Constants.PLC1.add(Constants.C020);
         Constants.PLC1.add(Constants.C030);
         Constants.PLC1.add(Constants.C050);
-        Constants.PLC1.add(Constants.C060);
         //PLC2璁惧//鎺掓煡涓婁笅绾�
         Constants.PLC2.add(Constants.OP005);
         Constants.PLC2.add(Constants.OP010);
@@ -114,7 +110,7 @@
         Constants.ONLINE.add(Constants.C005);
         Constants.ONLINE.add(Constants.OP005);
         //涓嬬嚎宸ヤ綅
-        Constants.OFFLINE.add(Constants.C070);
+        Constants.OFFLINE.add(Constants.C060);
         Constants.OFFLINE.add(Constants.OP310);
 
         OPCUaSubscription OPCUaSubscription = new OPCUaSubscription(miloService,
@@ -135,77 +131,87 @@
 
     public List<String> getList(){
         List<String> lists = new ArrayList<>();
-        //PLC1
-        lists.add("PLC1.C005.RecordData");
-        lists.add("PLC1.C005.WorkOrderRequest");//璇锋眰宸ュ崟
-        lists.add("PLC1.C010.RecordData");
-        lists.add("PLC1.C020.RecordData");
-        lists.add("PLC1.C030.RecordData");
-        lists.add("PLC1.C050.RecordData");
-        lists.add("PLC1.C060.RecordData");
-        lists.add("PLC1.C070.RecordData");
-        //PLC2
-        lists.add("PLC2.OP005.RecordData");
-        lists.add("PLC2.OP010.WorkOrderRequest");//璇锋眰宸ュ崟
-        lists.add("PLC2.OP020.RecordData");
-        lists.add("PLC2.OP040.RecordData");
-        lists.add("PLC2.OP045.RecordData");
-        lists.add("PLC2.OP060.RecordData");
-        lists.add("PLC2.OP070.RecordData");
-        lists.add("PLC2.OP075.RecordData");
-        lists.add("PLC2.OP080.RecordData");
-        lists.add("PLC2.OP090.RecordData");
-        lists.add("PLC2.OP095-1.RecordData");
-        lists.add("PLC2.OP095-2.RecordData");
-        lists.add("PLC2.OP100-1.RecordData");
-        lists.add("PLC2.OP100-2.RecordData");
-        lists.add("PLC2.OP120.RecordData");
-        lists.add("PLC2.P010.RecordData");
-        lists.add("PLC2.P010.WorkOrderRequest");//璇锋眰宸ュ崟
-        //PLC3
-        lists.add("PLC3.OP130.RecordData");
-        lists.add("PLC3.OP145-1.RecordData");
-        lists.add("PLC3.OP145-2.RecordData");
-        lists.add("PLC3.OP150-1.RecordData");
-        lists.add("PLC3.OP150-2.RecordData");
-        lists.add("PLC3.OP160.RecordData");
-        lists.add("PLC3.OP165-1.RecordData");
-        lists.add("PLC3.OP165-2.RecordData");
-        lists.add("PLC3.OP170-1.RecordData");
-        lists.add("PLC3.OP170-2.RecordData");
-        lists.add("PLC3.OP180.RecordData");
-        lists.add("PLC3.OP190-1.RecordData");
-        lists.add("PLC3.OP190-2.RecordData");
-        lists.add("PLC3.OP200-1.RecordData");
-        lists.add("PLC3.OP200-2.RecordData");
-        lists.add("PLC3.OP210-1.RecordData");
-        lists.add("PLC3.OP210-2.RecordData");
-        lists.add("PLC3.OP220-1.RecordData");
-        lists.add("PLC3.OP220-2.RecordData");
-        lists.add("PLC3.OP230-1.RecordData");
-        lists.add("PLC3.OP230-2.RecordData");
-        lists.add("PLC3.OP240-1.RecordData");
-        lists.add("PLC3.OP240-2.RecordData");
-        lists.add("PLC3.OP250-1.RecordData");
-        lists.add("PLC3.OP250-2.RecordData");
-        lists.add("PLC3.OP260-1.RecordData");
-        lists.add("PLC3.OP260-2.RecordData");
-        lists.add("PLC3.OP270-1.RecordData");
-        lists.add("PLC3.OP270-2.RecordData");
-        lists.add("PLC3.OP275.RecordData");
-        lists.add("PLC3.OP280.RecordData");
-        lists.add("PLC3.OP290-1.RecordData");
-        lists.add("PLC3.OP290-2.RecordData");
-        lists.add("PLC3.OP295.RecordData");
-        lists.add("PLC3.OP300.RecordData");
-        lists.add("PLC3.OP310.RecordData");
-        //PLC4
-        lists.add("PLC4.C040.RecordData");
-        lists.add("PLC4.OP030.RecordData");
-        lists.add("PLC4.OP050.RecordData");
-        lists.add("PLC4.OP070.RecordData");
-        lists.add("PLC3.OP110.RecordData");
-        lists.add("PLC3.OP140.RecordData");
+//        //PLC1
+//        lists.add("PLC1.C005.RecordData");
+//        lists.add("PLC1.C005.WorkOrderRequest");//璇锋眰宸ュ崟
+//        lists.add("PLC1.C010.RecordData");
+//        lists.add("PLC1.C020.RecordData");
+//        lists.add("PLC1.C030.RecordData");
+//        lists.add("PLC1.C050.RecordData");
+//        lists.add("PLC1.C060.RecordData");
+//        //PLC2
+//        lists.add("PLC2.OP005.RecordData");
+//        lists.add("PLC2.OP010.WorkOrderRequest");//璇锋眰宸ュ崟
+//        lists.add("PLC2.OP020.RecordData");
+//        lists.add("PLC2.OP040.RecordData");
+//        lists.add("PLC2.OP045.RecordData");
+//        lists.add("PLC2.OP060.RecordData");
+//        lists.add("PLC2.OP070.RecordData");
+//        lists.add("PLC2.OP075.RecordData");
+//        lists.add("PLC2.OP080.RecordData");
+//        lists.add("PLC2.OP090.RecordData");
+//        lists.add("PLC2.OP095-1.RecordData");
+//        lists.add("PLC2.OP095-2.RecordData");
+//        lists.add("PLC2.OP100-1.RecordData");
+//        lists.add("PLC2.OP100-2.RecordData");
+//        lists.add("PLC2.OP120.RecordData");
+//        lists.add("PLC2.P010.RecordData");
+//        lists.add("PLC2.P010.WorkOrderRequest");//璇锋眰宸ュ崟
+//        //PLC3
+//        lists.add("PLC3.OP130.RecordData");
+//        lists.add("PLC3.OP145-1.RecordData");
+//        lists.add("PLC3.OP145-2.RecordData");
+//        lists.add("PLC3.OP150-1.RecordData");
+//        lists.add("PLC3.OP150-2.RecordData");
+//        lists.add("PLC3.OP160.RecordData");
+//        lists.add("PLC3.OP165-1.RecordData");
+//        lists.add("PLC3.OP165-2.RecordData");
+//        lists.add("PLC3.OP170-1.RecordData");
+//        lists.add("PLC3.OP170-2.RecordData");
+//        lists.add("PLC3.OP180.RecordData");
+//        lists.add("PLC3.OP190-1.RecordData");
+//        lists.add("PLC3.OP190-2.RecordData");
+//        lists.add("PLC3.OP200-1.RecordData");
+//        lists.add("PLC3.OP200-2.RecordData");
+//        lists.add("PLC3.OP210-1.RecordData");
+//        lists.add("PLC3.OP210-2.RecordData");
+//        lists.add("PLC3.OP220-1.RecordData");
+//        lists.add("PLC3.OP220-2.RecordData");
+//        lists.add("PLC3.OP230-1.RecordData");
+//        lists.add("PLC3.OP230-2.RecordData");
+//        lists.add("PLC3.OP240-1.RecordData");
+//        lists.add("PLC3.OP240-2.RecordData");
+//        lists.add("PLC3.OP250-1.RecordData");
+//        lists.add("PLC3.OP250-2.RecordData");
+//        lists.add("PLC3.OP260-1.RecordData");
+//        lists.add("PLC3.OP260-2.RecordData");
+//        lists.add("PLC3.OP270-1.RecordData");
+//        lists.add("PLC3.OP270-2.RecordData");
+//        lists.add("PLC3.OP275.RecordData");
+//        lists.add("PLC3.OP280.RecordData");
+//        lists.add("PLC3.OP290-1.RecordData");
+//        lists.add("PLC3.OP290-2.RecordData");
+//        lists.add("PLC3.OP295.RecordData");
+//        lists.add("PLC3.OP300.RecordData");
+//        lists.add("PLC3.OP310.RecordData");
+//        //PLC4
+//        lists.add("PLC4.C040.RecordData");
+//        lists.add("PLC4.OP030.RecordData");
+//        lists.add("PLC4.OP050.RecordData");
+//        lists.add("PLC4.OP070.RecordData");
+//        lists.add("PLC3.OP110.RecordData");
+//        lists.add("PLC3.OP140.RecordData");
+
+        //TEST
+        lists.add("TEST.C005.RecordData");
+        lists.add("TEST.C005.WorkOrderRequest");
+        lists.add("TEST.C060.RecordData");
+        lists.add("TEST.OP005.RecordData");
+        lists.add("TEST.OP005.WorkOrderRequest");
+        lists.add("TEST.OP010.RecordData");
+        lists.add("TEST.OP310.RecordData");
+        lists.add("TEST.P010.RecordData");
+        lists.add("TEST.P010.WorkOrderRequest");
 
 
 
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 00ed36a..8d3663b 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,7 +1,6 @@
 package com.billion.main.plcServer.sub;
 
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-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;
@@ -24,7 +23,9 @@
 import com.kangaroohy.milo.service.MiloService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
+import com.billion.main.plcServer.util.TimeUtil;
 
+import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.util.Date;
 import java.util.List;
@@ -33,6 +34,8 @@
 @Slf4j
 @Component
 public class OPCUaSubscription implements SubscriptionCallback {
+
+    public static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     public static MiloService miloService;
     public IDaParamCollectionService daParamCollectionService;
     public IDaStationCollectionService daStationCollectionService;
@@ -89,12 +92,12 @@
             if (Constants.RecordData.equals(tab)){
                 //宸ョ珯浜や簰鍒濆鍖�
                 if (Constants.ZERO.equals(valueString)){
-                    miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value("0").build());
+                    miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(0).build());
                 //璇锋眰杩涚珯
                 } else if (Constants.ONE.equals(valueString)){
                     //1.1//棣栧伐绔�
                     if(Constants.ONLINE.contains(device)){
-                        miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value("11").build());
+                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build());
                     }
                     //闄ら宸ョ珯鎵�鏈夊伐绔�
                     else if(Constants.PLC1.contains(device) ||
@@ -106,7 +109,7 @@
                         //鏍¢獙SFCCode鏄惁瀛樺湪
                         Object SFCCode = miloService.readFromOpcUa(thoroughfare + "." + device + ".SFCCode").getValue();
                         if (SFCCode == null ) {
-                            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value("23").build());
+                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(23).build());
                         } else {
                             OmOrderScheduling omOrderScheduling = new OmOrderScheduling();
                             List<OmOrderScheduling> resultList = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling);
@@ -116,7 +119,7 @@
                             bsbomChildInfo.setBomCode(resultList.get(0).getWorkOrderNo());
                             //涓嬪彂閰嶆柟
                             formula(thoroughfare, device, bsbomChildInfo);
-                            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value("11").build());
+                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build());
                         }
                     }
                 //鍑虹珯淇濆瓨鏁版嵁
@@ -129,7 +132,7 @@
                         Object workOrderNumber = miloService.readFromOpcUa(thoroughfare + "." + device + ".WorkOrderNumber").getValue();
                         Object nowQty = miloService.readFromOpcUa(thoroughfare + "." + device + ".PalletID").getValue();
                         omOrderScheduling.setWorkOrderNo(workOrderNumber.toString());
-                        omOrderScheduling.setNowQty((Long) nowQty);
+                        omOrderScheduling.setNowQty(nowQty.toString());
                         omOrderScheduling.setSfcCode(SFCCode.toString());
                         //鎵樼洏缁戝畾SFCCode鍜屽伐鍗曞拰浜х嚎
                         if(Constants.OP005.equals(device)){
@@ -140,7 +143,7 @@
                         }
                         omOrderSchedulingService.insertOmOrderScheduling(omOrderScheduling);
                     }else if(Constants.OFFLINE.contains(device)){
-                        if(Constants.C070.equals(device)){
+                        if(Constants.C060.equals(device)){
                             omOrderScheduling.setRemarks("Head");
                             omOrderScheduling.setSfcCode(SFCCode.toString());
                             List<OmOrderScheduling> omOrderSchedulingList = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling);
@@ -175,7 +178,7 @@
                         Object workOrderNumber = miloService.readFromOpcUa(thoroughfare + "." + device + ".WorkOrderNumber").getValue();
                         Object nowQty = miloService.readFromOpcUa(thoroughfare + "." + device + ".PalletID").getValue();
                         omOrderScheduling.setWorkOrderNo(workOrderNumber.toString());
-                        omOrderScheduling.setNowQty((Long) nowQty);
+                        omOrderScheduling.setNowQty(nowQty.toString());
                         omOrderScheduling.setSfcCode(SFCCode.toString());
                         omOrderScheduling.setRemarks("Pre");
                         omOrderSchedulingService.insertOmOrderScheduling(omOrderScheduling);
@@ -194,50 +197,54 @@
                     //鏌ヨdescriptive瀛楁绛変簬1鐨勯噰闆嗛」淇濆瓨鍒版壂鐮佷繚瀛樺埌da_material_collection琛ㄩ噷
                     DaCollectionParamConf daCollectionParamConf1 = new DaCollectionParamConf();
                     daCollectionParamConf1.setProcessesCode(device);
-                    daCollectionParamConf1.setDescriptive("1");
+                    daCollectionParamConf1.setDescriptive("3");
                     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"}
+                        if (valueObj != null ) {
+                            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);
                         }
-                        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");
+                    daCollectionParamConf2.setDescriptive("4");
                     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"}
+                        if (valueObj != null ) {
+                            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);
                         }
-                        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());
+                    Object StationStatus = miloService.readFromOpcUa(thoroughfare + "." + device + ".StationStatus").getValue();
+                    Date startTime = new Date();
+                    ReadWriteEntity startTimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StartTime");//杩涚珯鏃堕棿
+                    startTime = format.parse(TimeUtil.test(TimeUtil.stringProcessing(startTimeRead.getValue().toString())));
+                    daStationCollection.setInboundTime( startTime);
+                    Date stopTime = new Date();
+                    ReadWriteEntity stopTimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime");//杩涚珯鏃堕棿
+                    stopTime = format.parse(TimeUtil.test(TimeUtil.stringProcessing(stopTimeRead.getValue().toString())));
+                    daStationCollection.setOutboundTime( stopTime);
+                    daStationCollection.setStatus(StationStatus.toString());
                     daStationCollectionService.insertDaStationCollection(daStationCollection);
-                    miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value("21").build());
+                    miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(21).build());
                 }
             }
         }
@@ -251,7 +258,7 @@
     try {
         if (Constants.WorkOrderRequest.equals(tab)) {
             if (Constants.ZERO.equals(valueString)) {
-                miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value("0").build());
+                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(0).build());
             }else if (Constants.ONE.equals(valueString)){
                 if (Constants.OP005.equals(device)){
                     // 鏌ヨ鏁版嵁搴撹幏鍙栫鍚堟潯浠剁殑璁㈠崟淇℃伅
@@ -260,7 +267,6 @@
                         //鍒ゆ柇褰撳墠涓嬪彂鏁伴噺鏄惁婊¤冻璁″垝鏁伴噺
                             //鏇存柊宸ュ崟鐘舵��
                             miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderNumber").value(getBodyOrder.getWorkOrderNo()).build());
-                            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ProductionPlan").value(String.valueOf(getBodyOrder.getPlanQty())).build());
                             miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".EngineType").value(getBodyOrder.getEngineType()).build());
                             //鐢熸垚sn鐮�
                             SysCount serialNumber = sysCountService.getSerialNumber();
@@ -300,9 +306,12 @@
                             if (Objects.equals(getBodyOrder2.getBodyQty(), getBodyOrder2.getPlanQty())){
                                 omProductionOrderInfoService.updateBodyStatus2();
                             }
-                            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(getBodyOrder2.getBodyQty()).build());
-                            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value("11").build());
+                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(getBodyOrder2.getBodyQty()).build());
+                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(11).build());
                     }
+                    else{
+                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(12).build());
+                        }
                 } else if (Constants.C005.equals(device)) {
                     // 鏌ヨ鏁版嵁搴撹幏鍙栫鍚堟潯浠剁殑璁㈠崟淇℃伅
                     OmProductionOrderInfo getHeadOrder = omProductionOrderInfoService.getHeadOrder();
@@ -310,7 +319,6 @@
                         //鍒ゆ柇褰撳墠涓嬪彂鏁伴噺鏄惁婊¤冻璁″垝鏁伴噺
                         //鏇存柊宸ュ崟鐘舵��
                         miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderNumber").value(getHeadOrder.getWorkOrderNo()).build());
-                        miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ProductionPlan").value(String.valueOf(getHeadOrder.getPlanQty())).build());
                         miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".EngineType").value(getHeadOrder.getEngineType()).build());
                         //鐢熸垚sn鐮�
                         SysCount headNumber = sysCountService.getHeadNumber();
@@ -350,8 +358,11 @@
                         if (Objects.equals(getHeadOrder2.getHeadQty(), getHeadOrder2.getPlanQty())){
                             omProductionOrderInfoService.updateHeadStatus2();
                         }
-                        miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(getHeadOrder2.getHeadQty()).build());
-                        miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value("11").build());
+                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(getHeadOrder2.getHeadQty()).build());
+                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(11).build());
+                    }
+                    else{
+                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(12).build());
                     }
                 } else if (Constants.P010.equals(device)) {
                     // 鏌ヨ鏁版嵁搴撹幏鍙栫鍚堟潯浠剁殑璁㈠崟淇℃伅
@@ -360,7 +371,6 @@
                         //鍒ゆ柇褰撳墠涓嬪彂鏁伴噺鏄惁婊¤冻璁″垝鏁伴噺
                         //鏇存柊宸ュ崟鐘舵��
                         miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderNumber").value(getPreOrder.getWorkOrderNo()).build());
-                        miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ProductionPlan").value(String.valueOf(getPreOrder.getPlanQty())).build());
                         miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".EngineType").value(getPreOrder.getEngineType()).build());
                         //鐢熸垚sn鐮�
                         SysCount preNumber = sysCountService.getPreNumber();
@@ -399,8 +409,11 @@
                         if (Objects.equals(getPreOrder2.getPreQty(), getPreOrder2.getPlanQty())){
                             omProductionOrderInfoService.updatePreStatus2();
                         }
-                        miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(getPreOrder2.getPreQty()).build());
-                        miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value("11").build());
+                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(getPreOrder2.getPreQty()).build());
+                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(11).build());
+                    }
+                    else{
+                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(12).build());
                     }
                 }
             }
@@ -415,9 +428,9 @@
         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());
+            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".Material"+ i +"Code").value(bomChildList.get(i-1).getMaterialCode()).build());
             // 鐢熸垚 MaterialNumber 鑺傜偣
-            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".Material1Number"+ i).value(bomChildList.get(i-1).getCostQty()).build());
+            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".Material"+ i +"Number").value(Integer.parseInt(bomChildList.get(i-1).getCostQty())).build());
         }
     }
 
diff --git a/billion-main/src/main/java/com/billion/main/plcServer/util/TimeUtil.java b/billion-main/src/main/java/com/billion/main/plcServer/util/TimeUtil.java
new file mode 100644
index 0000000..665be5b
--- /dev/null
+++ b/billion-main/src/main/java/com/billion/main/plcServer/util/TimeUtil.java
@@ -0,0 +1,139 @@
+package com.billion.main.plcServer.util;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+import java.util.TimeZone;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class TimeUtil {
+    public static void main(String[] args) {
+        String dateString = "Tue May 14 18:25:18 CST 2024";
+//        System.out.println(test(dateString));
+//        String str = "OP330";
+//        System.out.println(str.substring(0,5));
+//        String tightenData = "[9.077463,12.0,OK,OK]";
+//        tightenData = tightenData.replace("[", "").replace("]", "").replace(" ", "");
+//        String[] tightenDataParts = tightenData.split(",");
+//        for (int i = 0; i < tightenDataParts.length; i++) {
+//            System.out.println(tightenDataParts[i]);
+//        }
+        String originalString = "[3.6,7.8,OK,OK]";
+        String modifiedString = originalString.replaceFirst("OK", "NG");
+        System.out.println(modifiedString); // 杈撳嚭: [3.6,7.8,NG,OK]
+//        System.out.println(isNumberInRange(7.7, 7.5, 8.5));
+//        System.out.println(test( stringProcessing("DateTime{utcTime=133601559184960000, javaDate=Tue May 14 18:25:18 CST 2024}")));
+    }
+
+    public static String replaceNumber(String input) {
+        String regex = ",(\\d+),";
+        String replacement = ",NG,";
+
+        Pattern pattern = Pattern.compile(regex);
+        Matcher matcher = pattern.matcher(input);
+
+        return matcher.replaceAll(replacement);
+    }
+
+    // 妫�鏌ヤ竴涓暟鏄惁鍦ㄤ袱涓暟瀹氫箟鐨勫尯闂村唴锛堜笉鍖呭惈杈圭晫锛�
+    public static boolean isNumberInRange(Double number, Double start, Double end) {
+        return number >= start && number <= end;
+    }
+
+    public static String stringProcessing(String dateTimeStr){
+        String result = "";
+        // 鎵惧埌 "javaDate=" 鐨勪綅缃�
+        int javaDateIndex = dateTimeStr.indexOf("javaDate=");
+        if (javaDateIndex != -1) {
+            // 浠� "javaDate=" 鍚庨潰寮�濮嬫埅鍙�
+            javaDateIndex += "javaDate=".length();
+
+            // 鎵惧埌鏃ユ湡鏃堕棿瀛楃涓茬粨鏉熺殑浣嶇疆锛岃繖閲屽亣璁炬槸瀛楃涓茬殑缁撳熬鎴栬�呯┖鏍肩殑浣嶇疆
+            int endIndex = dateTimeStr.indexOf('}', javaDateIndex);
+            if (endIndex == -1) {
+                // 濡傛灉娌℃湁鎵惧埌绌烘牸锛屽氨鍙栧埌瀛楃涓茬殑鏈熬
+                endIndex = dateTimeStr.length();
+            }
+            // 浣跨敤 substring 鏂规硶鎴彇鏃ユ湡鏃堕棿閮ㄥ垎
+            String dateTimePart = dateTimeStr.substring(javaDateIndex, endIndex);
+            result = dateTimePart;
+        } else {
+            System.out.println("javaDate= not found in the string.");
+        }
+        return result;
+    }
+
+    public static String getTimestamp(String param){
+        String result = "";
+        // 瀹氫箟鏃ユ湡鏃堕棿鏍煎紡鍜屾椂鍖�
+        SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
+        sdf.setTimeZone(TimeZone.getTimeZone("GMT+8")); // CST閫氬父琛ㄧず涓浗鏍囧噯鏃堕棿锛屽嵆涓滃叓鍖�
+
+        try {
+            // 瑙f瀽鏃ユ湡鏃堕棿瀛楃涓�
+            Date date = sdf.parse("Mon Jan 01 17:05:23 CST 2024");
+
+            // 鑾峰彇鏃堕棿鎴筹紙姣锛�
+            long timestamp = date.getTime();
+
+            // 杈撳嚭13浣嶆椂闂存埑
+            result = String.valueOf(timestamp);
+
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        return result;
+    }
+
+    public static String getYyyyDdMm(String inputDate){
+        String outputPattern = "yyyy-MM-dd HH:mm:ss";
+
+        // 瀹氫箟涓�涓В鏋愬櫒锛岀敤浜庡拷鐣ユ椂鍖猴紙浠呬綔涓虹ず渚嬶紝鍙兘闇�瑕佽皟鏁翠互澶勭悊涓嶅悓鐨勮緭鍏ワ級
+        SimpleDateFormat parser = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);
+        parser.setLenient(false); // 璁剧疆涓嶅鏉撅紝浠ヤ弗鏍煎尮閰嶆牸寮�
+
+        // 瑙f瀽鏃ユ湡瀛楃涓�
+        Date date = null;
+        try {
+            date = parser.parse(inputDate);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+
+        // 瀹氫箟涓�涓牸寮忓寲鍣紝鐢ㄤ簬杈撳嚭鎵�闇�鐨勬牸寮�
+        SimpleDateFormat formatter = new SimpleDateFormat(outputPattern);
+
+        // 鏍煎紡鍖栨棩鏈�
+        String outputDate = formatter.format(date);
+        return outputDate;
+    }
+
+    public static String test(String param){
+        String str = "";
+        // 鍒涘缓涓�涓猄impleDateFormat瀵硅薄鏉ヨВ鏋愯緭鍏ョ殑鏃ユ湡瀛楃涓诧紙鍋囪CST涓轰腑鍥芥爣鍑嗘椂闂达級
+        SimpleDateFormat inputFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
+        inputFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); // 璁剧疆涓轰腑鍥芥椂鍖�
+
+        Date date = null;
+        try {
+            date = inputFormat.parse(param);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+
+        // 鍒涘缓涓�涓猄impleDateFormat瀵硅薄鏉ユ牸寮忓寲鏃ユ湡涓篣TC鏃堕棿
+        SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        outputFormat.setTimeZone(TimeZone.getTimeZone("UTC")); // 璁剧疆涓篣TC鏃跺尯
+
+        // 鏍煎紡鍖栨棩鏈�
+        if (date != null) {
+            str = outputFormat.format(date);
+        }
+        return str;
+    }
+
+
+
+}
diff --git a/billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml b/billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml
index 2198107..a5f1a13 100644
--- a/billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml
+++ b/billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml
@@ -37,7 +37,7 @@
             <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>
-
+            <if test="descriptive != null  and descriptive != ''"> and descriptive like concat('%', #{descriptive}, '%')</if>
         </where>
     </select>
     

--
Gitblit v1.9.3