Эх сурвалжийг харах

新增工业库的定时任务

wangmiaomiao 11 сар өмнө
parent
commit
03c51573eb

+ 1 - 1
slibra-admin/src/main/resources/application-dev.yml

@@ -6,7 +6,7 @@ spring:
         druid:
             # 主库数据源
             master:
-                url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                 username: root
                 password: root
             # 从库数据源

+ 7 - 0
slibra-common/pom.xml

@@ -165,6 +165,13 @@
             <version>[7.13.0, 7.13.99]</version>
         </dependency>
 
+        <!-- hutool -->
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.8.16</version>
+        </dependency>
+
 
 
     </dependencies>

+ 2 - 0
slibra-common/src/main/java/com/slibra/common/utils/DateUtils.java

@@ -28,6 +28,8 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
 
     public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
 
+    public static String YYYYMMDDHHMM_TS = "yyyy/MM/dd HH:mm";
+
     private static String[] parsePatterns = {
             "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", 
             "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",

+ 4 - 0
slibra-quartz/pom.xml

@@ -34,6 +34,10 @@
             <groupId>com.slibra</groupId>
             <artifactId>slibra-common</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.slibra</groupId>
+            <artifactId>slibra-system</artifactId>
+        </dependency>
 
     </dependencies>
 

+ 243 - 0
slibra-quartz/src/main/java/com/slibra/quartz/task/RyTask.java

@@ -1,7 +1,21 @@
 package com.slibra.quartz.task;
 
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.http.HttpRequest;
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
+import com.slibra.business.domain.TXinyiIndustry;
+import com.slibra.business.mapper.TXinyiIndustryMapper;
+import com.slibra.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import com.slibra.common.utils.StringUtils;
+import org.springframework.util.StopWatch;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
 
 /**
  * 定时任务调度测试
@@ -25,4 +39,233 @@ public class RyTask
     {
         System.out.println("执行无参方法");
     }
+
+    //----------------------------------------------下面是新增的方法----------------------------------------------
+
+    @Autowired
+    private TXinyiIndustryMapper xinyiIndustryMapper;
+    public final static StopWatch watch = new StopWatch("task");
+    public static final String[] queryTags = {"信义污水厂JS_COD_Value","信义污水厂JS_PH_Value","信义污水厂JS_SS_Value","信义污水厂JS_ZL_Value","信义污水厂JS_ZA_Value","信义污水厂JS_AD_Value","信义污水厂JS_T_Value","信义污水厂进水泵房液位","信义污水厂出水瞬时流量","信义污水厂升级出水COD","信义污水厂升级出水PH","信义污水厂升级出水SS","信义污水厂升级出水TN","信义污水厂升级出水TP","信义污水厂升级出水氨氮","信义污水厂AIT202_Value","信义污水厂AIT203_Value","信义污水厂AIT207_Value","信义污水厂AIT206_Value","信义污水厂AIT209_Value","信义污水厂AIT210_Value","信义污水厂进水TDS","信义污水厂FT101_Value","信义污水厂SWCHHYHLB1_R_Value","信义污水厂SWCHHYHLB2_R_Value","信义污水厂SWCHHYHLB3_R_Value","信义污水厂SWCHHYHLB4_R_Value","信义污水厂SWCHHYHLB5_R_Value","信义污水厂SWCHHYHLB6_R_Value","信义污水厂SWCWNHLB1_R_Value","信义污水厂SWCWNHLB2_R_Value","信义污水厂SWCWNHLB3_R_Value","信义污水厂SWCWNHLB4_R_Value","信义污水厂SWCWNHLB5_R_Value","信义污水厂GFJ1_R_Value","信义污水厂GFJ2_R_Value","信义污水厂GFJ3_R_Value","信义污水厂GFJ4_R_Value","信义污水厂GFJ5_R_Value","信义污水厂GFJ6_R_Value","信义污水厂GFJ1_KQLL_Value","信义污水厂GFJ2_KQLL_Value","信义污水厂GFJ3_KQLL_Value","信义污水厂GFJ4_KQLL_Value","信义污水厂GFJ5_KQLL_Value","信义污水厂GFJ6_KQLL_Value"};
+
+    /**
+     * 定时从工业库获取数据
+     */
+    public void getIndustryData(){
+
+        //耗时工具
+        watch.start("parseJob");
+
+
+        // 给定时间段的起始时间和结束时间
+        LocalDateTime startTime = LocalDateTime.parse("2022-07-01T00:00:00");
+        LocalDateTime endTime = LocalDateTime.parse("2023-12-31T23:59:59");
+
+
+        /*LocalDateTime startTime = LocalDateTime.parse("2024-02-26T00:00:00");
+        LocalDateTime endTime = LocalDateTime.parse("2024-02-27T00:00:00");*/
+
+        // 每个小时的时间格式
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+        // 循环按小时分割
+        LocalDateTime currentHour = startTime;
+        while (currentHour.isBefore(endTime)) {
+            String begin = currentHour.format(formatter);
+            String end = currentHour.plusMinutes(10).format(formatter);
+            // 输出当前小时的起始时间和结束时间
+            System.out.println("起始时间:" + begin);
+            System.out.println("结束时间:" + end);
+
+            // 当前小时加一小时,作为下一个小时的起始时间
+            currentHour = currentHour.plusMinutes(10);
+
+            //每个小时查询一次数据
+            String url = "http://192.168.10.113:4568/api/v1/khquerydata";
+            HashMap<String, Object> req = new HashMap<>();
+            req.put("tagNames", queryTags);
+            req.put("startTime", begin);
+            req.put("endTime", end);
+            req.put("recordNumbers", 100000);
+            String body = HttpRequest.post(url).header("Authorization", "c2E6c2E=").header("clientName", "hongshan").body(JSON.toJSONString(req)).execute().body();
+//            System.out.println("body = " + body);
+            List<HashMap<String, String>> list = new ArrayList<>();
+
+            //行转列数据处理
+            for (String queryTag : queryTags) {
+                JSONArray array = JSON.parseObject(body).getJSONArray(queryTag);
+                //特殊数据处理一
+                if(Objects.isNull(array) || array.isEmpty()){
+                    System.out.println(queryTag + "查询到了空的数据,跳过本次循环");
+                    continue;
+                }
+                int size = array.size();
+                //特殊数据处理二
+                if("0".equals(array.get(1) + "")){
+                    System.out.println(queryTag + "查询到了数据,但是数据集合只有一条,且都是0");
+                    continue;
+                }
+                //结合至少62个数据才满足条件(有可能获取不到)
+                /*if(size < 62){
+                    System.out.println(queryTag + "查询到了不符合条件的数据,跳过本次循环");
+                    continue;
+                }*/
+
+                //存放的数据集
+                //利用map去重
+                HashMap<String, String> map = new LinkedHashMap<>();
+                for (int i = 2; i < size; i++) {
+//            System.out.println(i + "" + array.get(i));
+                    JSONArray oneRecord = JSON.parseArray(JSON.toJSONString(array.get(i)));
+                    //处理为空或者为0的数据
+                    Object timeStampValue = oneRecord.get(2);
+                    if(Objects.isNull(timeStampValue) || "0".equals(timeStampValue + ""))
+                        continue;
+                    BigDecimal value = Objects.isNull(oneRecord.get(0)) ? null : new BigDecimal(oneRecord.get(0) + "");
+                    long timestamp = (long) timeStampValue;
+                    String format = DateUtil.format(new Date(timestamp), DateUtils.YYYYMMDDHHMM_TS);
+                    map.put(format, queryTag + "-" + value);
+                }
+                list.add(map);
+            }
+
+            Set<String> recordTimeSet = new HashSet<>();
+            Map<String, TXinyiIndustry> recordMap = new HashMap<>();
+            for (int i = 0; i < list.size(); i++) {
+                HashMap<String, String> map = list.get(i);
+                int finalJ = i;
+                map.forEach((k, v) ->{
+                    TXinyiIndustry industry = null;
+                    if(!recordTimeSet.contains(k)){//第一次
+                        industry = new TXinyiIndustry();
+                        recordTimeSet.add(k);
+                        recordMap.put(k, industry);
+                    }else{
+                        industry = recordMap.get(k);
+                    }
+                    industry.setTestTime(k);
+                    //解析值
+                    String[] split = v.split("-");
+                    String type = split[0];
+                    BigDecimal value = new BigDecimal(split[1]);
+                    if ("信义污水厂JS_COD_Value".equals(type)) {
+                        industry.setJsCod(value);
+                    } else if ("信义污水厂JS_PH_Value".equals(type)) {
+                        industry.setJsPh(value);
+                    } else if ("信义污水厂JS_SS_Value".equals(type)) {
+                        industry.setJsSs(value);
+                    } else if ("信义污水厂JS_ZL_Value".equals(type)) {
+                        industry.setJsTp(value);
+                    } else if ("信义污水厂JS_ZA_Value".equals(type)) {
+                        industry.setJsTn(value);
+                    } else if ("信义污水厂JS_AD_Value".equals(type)) {
+                        industry.setJsNh3(value);
+                    } else if ("信义污水厂JS_T_Value".equals(type)) {
+                        industry.setJsSwPh(value);
+                    } else if ("信义污水厂进水泵房液位".equals(type)) {
+                        industry.setJsBfyw(value);
+                    } else if ("信义污水厂出水瞬时流量".equals(type)) {
+                        industry.setCsSlqc(value);
+                    } else if ("信义污水厂升级出水COD".equals(type)) {
+                        industry.setCsCod(value);
+                    } else if ("信义污水厂升级出水PH".equals(type)) {
+                        industry.setCsPh(value);
+                    } else if ("信义污水厂升级出水SS".equals(type)) {
+                        industry.setCsSs(value);
+                    } else if ("信义污水厂升级出水TN".equals(type)) {
+                        industry.setCsTn(value);
+                    } else if ("信义污水厂升级出水TP".equals(type)) {
+                        industry.setCsTp(value);
+                    } else if ("信义污水厂升级出水氨氮".equals(type)) {
+                        industry.setCsNh3(value);
+                    } else if ("信义污水厂AIT202_Value".equals(type)) {
+                        industry.setOneHyzdDo(value);
+                    } else if ("信义污水厂AIT203_Value".equals(type)) {
+                        industry.setOneHymdDo(value);
+                    } else if ("信义污水厂AIT207_Value".equals(type)) {
+                        industry.setTwoHyzdDo(value);
+                    } else if ("信义污水厂AIT206_Value".equals(type)) {
+                        industry.setTwoHymdDo(value);
+                    } else if ("信义污水厂AIT209_Value".equals(type)) {
+                        industry.setOneMlss(value);
+                    } else if ("信义污水厂AIT210_Value".equals(type)) {
+                        industry.setTwoMlss(value);
+                    } else if ("信义污水厂进水TDS".equals(type)) {
+                        industry.setJsTds(value);
+                    } else if ("信义污水厂FT101_Value".equals(type)) {
+                        industry.setJsSlq(value);
+                    } else if ("信义污水厂SWCHHYHLB1_R_Value".equals(type)) {
+                        industry.setNHlbOneGp(value);
+                    } else if ("信义污水厂SWCHHYHLB2_R_Value".equals(type)) {
+                        industry.setNHlbTwoGp(value);
+                    } else if ("信义污水厂SWCHHYHLB3_R_Value".equals(type)) {
+                        industry.setNHlbThreeGp(value);
+                    } else if ("信义污水厂SWCHHYHLB4_R_Value".equals(type)) {
+                        industry.setNHlbFourGp(value);
+                    } else if ("信义污水厂SWCHHYHLB5_R_Value".equals(type)) {
+                        industry.setNhlBFiveGp(value);
+                    } else if ("信义污水厂SWCHHYHLB6_R_Value".equals(type)) {
+                        industry.setNHlbSixGp(value);
+                    } else if ("信义污水厂SWCWNHLB1_R_Value".equals(type)) {
+                        industry.setWHlbOneGp(value);
+                    } else if ("信义污水厂SWCWNHLB2_R_Value".equals(type)) {
+                        industry.setWHlbTwoGp(value);
+                    } else if ("信义污水厂SWCWNHLB3_R_Value".equals(type)) {
+                        industry.setWHlbThreeGp(value);
+                    } else if ("信义污水厂SWCWNHLB4_R_Value".equals(type)) {
+                        industry.setWHlbFourGp(value);
+                    } else if ("信义污水厂SWCWNHLB5_R_Value".equals(type)) {
+                        industry.setWHlbFiveGp(value);
+                    } else if ("信义污水厂GFJ1_R_Value".equals(type)) {
+                        industry.setFjOne(value);
+                    } else if ("信义污水厂GFJ2_R_Value".equals(type)) {
+                        industry.setFjTwo(value);
+                    } else if ("信义污水厂GFJ3_R_Value".equals(type)) {
+                        industry.setFjThree(value);
+                    } else if ("信义污水厂GFJ4_R_Value".equals(type)) {
+                        industry.setFjFour(value);
+                    } else if ("信义污水厂GFJ5_R_Value".equals(type)) {
+                        industry.setFjFive(value);
+                    } else if ("信义污水厂GFJ6_R_Value".equals(type)) {
+                        industry.setFjSix(value);
+                    } else if ("信义污水厂GFJ1_KQLL_Value".equals(type)) {
+                        industry.setKqllOne(value);
+                    } else if ("信义污水厂GFJ2_KQLL_Value".equals(type)) {
+                        industry.setKqllTwo(value);
+                    } else if ("信义污水厂GFJ3_KQLL_Value".equals(type)) {
+                        industry.setKqllThree(value);
+                    } else if ("信义污水厂GFJ4_KQLL_Value".equals(type)) {
+                        industry.setKqllFour(value);
+                    } else if ("信义污水厂GFJ5_KQLL_Value".equals(type)) {
+                        industry.setKqllFive(value);
+                    } else if ("信义污水厂GFJ6_KQLL_Value".equals(type)) {
+                        industry.setKqllSix(value);
+                    }else if ("信义污水厂实际碳源加药量".equals(type)) {
+                        industry.setSJTYJLY(value);
+                    }else if ("信义污水厂除磷加药瞬时流量".equals(type)) {
+                        industry.setCLJYSSLL(value);
+                    }
+                    //只有最后一次才执行数据库添加
+                    if(finalJ == list.size()-1){
+                        //插入数据库
+                        xinyiIndustryMapper.insertTXinyiIndustry(industry);
+                    }
+                });
+
+            }
+
+        }
+
+        //执行完成 测试执行时间
+        //计时结束
+        watch.stop();
+        System.out.println(watch.getLastTaskName() + " 执行耗时:" + watch.getLastTaskTimeMillis() + " ms");
+    }
+
+
+    public static void main(String[] args) {
+        LocalDateTime endTime = LocalDateTime.now();
+        System.out.println("endTime = " + endTime);
+        endTime = endTime.plusMinutes(60);
+        System.out.println("endTime = " + endTime);
+    }
 }

+ 230 - 0
slibra-system/src/main/java/com/slibra/business/domain/TXinyiIndustry.java

@@ -0,0 +1,230 @@
+package com.slibra.business.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.slibra.common.annotation.Excel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TXinyiIndustry
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */
+    private Long ID;
+
+    /** 化验时间(2023/12/13 5:00:00格式的) */
+    @Excel(name = "化验时间", readConverterExp = "2=023/12/13,5=:00:00格式的")
+    private String testTime;
+
+    /** 进水化学需氧量COD */
+    @Excel(name = "进水化学需氧量COD")
+    private BigDecimal jsCod;
+
+    /** 进水酸碱度pH */
+    @Excel(name = "进水酸碱度pH")
+    private BigDecimal jsPh;
+
+    /** 进水悬浮物SS */
+    @Excel(name = "进水悬浮物SS")
+    private BigDecimal jsSs;
+
+    /** 进水总磷TP */
+    @Excel(name = "进水总磷TP")
+    private BigDecimal jsTp;
+
+    /** 进水总氮TN */
+    @Excel(name = "进水总氮TN")
+    private BigDecimal jsTn;
+
+    /** 进水氨氮NH₃-N */
+    @Excel(name = "进水氨氮NH₃-N")
+    private BigDecimal jsNh3;
+
+    /** 进水水温/进水PH - 2个值 */
+    @Excel(name = "进水水温/进水PH - 2个值")
+    private BigDecimal jsSwPh;
+
+    /** 进水泵房液位 (粗细格栅一提液位) */
+    @Excel(name = "进水泵房液位 ", readConverterExp = "粗=细格栅一提液位")
+    private BigDecimal jsBfyw;
+
+    /** 出水水量Q出 */
+    @Excel(name = "出水水量Q出")
+    private BigDecimal csSlqc;
+
+    /** 出水化学需氧量COD */
+    @Excel(name = "出水化学需氧量COD")
+    private BigDecimal csCod;
+
+    /** 出水酸碱度pH */
+    @Excel(name = "出水酸碱度pH")
+    private BigDecimal csPh;
+
+    /** 出水悬浮物SS */
+    @Excel(name = "出水悬浮物SS")
+    private BigDecimal csSs;
+
+    /** 出水总氮TN */
+    @Excel(name = "出水总氮TN")
+    private BigDecimal csTn;
+
+    /** 出水总磷TP */
+    @Excel(name = "出水总磷TP")
+    private BigDecimal csTp;
+
+    /** 出水氨氮NH₃-N */
+    @Excel(name = "出水氨氮NH₃-N")
+    private BigDecimal csNh3;
+
+    /** 1#池好氧中段溶解氧 DO */
+    @Excel(name = "1#池好氧中段溶解氧 DO")
+    private BigDecimal oneHyzdDo;
+
+    /** 1#池好氧末段溶解氧 DO */
+    @Excel(name = "1#池好氧末段溶解氧 DO")
+    private BigDecimal oneHymdDo;
+
+    /** 2#池好氧中段溶解氧 DO */
+    @Excel(name = "2#池好氧中段溶解氧 DO")
+    private BigDecimal twoHyzdDo;
+
+    /** 2#池好氧末段溶解氧 DO */
+    @Excel(name = "2#池好氧末段溶解氧 DO")
+    private BigDecimal twoHymdDo;
+
+    /** 1#池污泥浓度(MLSS) */
+    @Excel(name = "1#池污泥浓度", readConverterExp = "M=LSS")
+    private BigDecimal oneMlss;
+
+    /** 2#池污泥浓度(MLSS) */
+    @Excel(name = "2#池污泥浓度", readConverterExp = "M=LSS")
+    private BigDecimal twoMlss;
+
+    /** 进水溶解性总固体TDS */
+    @Excel(name = "进水溶解性总固体TDS")
+    private BigDecimal jsTds;
+
+    /** 进水水量Q进 */
+    @Excel(name = "进水水量Q进")
+    private BigDecimal jsSlq;
+
+    /** 内回流泵1# 1号泵 工频 */
+    @Excel(name = "内回流泵1# 1号泵 工频")
+    private BigDecimal nHlbOneGp;
+
+    /** 内回流泵1# 2号泵 工频 */
+    @Excel(name = "内回流泵1# 2号泵 工频")
+    private BigDecimal nHlbTwoGp;
+
+    /** 内回流泵1# 3号泵 工频 */
+    @Excel(name = "内回流泵1# 3号泵 工频")
+    private BigDecimal nHlbThreeGp;
+
+    /** 内回流泵2# 4号泵 工频 */
+    @Excel(name = "内回流泵2# 4号泵 工频")
+    private BigDecimal nHlbFourGp;
+
+    /** 内回流泵2# 5号泵 工频 */
+    @Excel(name = "内回流泵2# 5号泵 工频")
+    private BigDecimal nhlBFiveGp;
+
+    /** 内回流泵2# 6号泵 工频 */
+    @Excel(name = "内回流泵2# 6号泵 工频")
+    private BigDecimal nHlbSixGp;
+
+    /** 外回流泵1 工频 */
+    @Excel(name = "外回流泵1 工频")
+    private BigDecimal wHlbOneGp;
+
+    /** 外回流泵2 工频 */
+    @Excel(name = "外回流泵2 工频")
+    private BigDecimal wHlbTwoGp;
+
+    /** 外回流泵3 工频 */
+    @Excel(name = "外回流泵3 工频")
+    private BigDecimal wHlbThreeGp;
+
+    /** 外回流泵4 工频 */
+    @Excel(name = "外回流泵4 工频")
+    private BigDecimal wHlbFourGp;
+
+    /** 外回流泵5 工频 */
+    @Excel(name = "外回流泵5 工频")
+    private BigDecimal wHlbFiveGp;
+
+    /** 风机1(启停) */
+    @Excel(name = "风机1", readConverterExp = "启=停")
+    private BigDecimal fjOne;
+
+    /** 风机2(启停) */
+    @Excel(name = "风机2", readConverterExp = "启=停")
+    private BigDecimal fjTwo;
+
+    /** 风机3(启停) */
+    @Excel(name = "风机3", readConverterExp = "启=停")
+    private BigDecimal fjThree;
+
+    /** 风机4(启停) */
+    @Excel(name = "风机4", readConverterExp = "启=停")
+    private BigDecimal fjFour;
+
+    /** 风机5(启停) */
+    @Excel(name = "风机5", readConverterExp = "启=停")
+    private BigDecimal fjFive;
+
+    /** 风机6(启停) */
+    @Excel(name = "风机6", readConverterExp = "启=停")
+    private BigDecimal fjSix;
+
+    /** 空气流量1(风机现阶段送风量) */
+    @Excel(name = "空气流量1", readConverterExp = "风=机现阶段送风量")
+    private BigDecimal kqllOne;
+
+    /** 空气流量2(风机现阶段送风量) */
+    @Excel(name = "空气流量2", readConverterExp = "风=机现阶段送风量")
+    private BigDecimal kqllTwo;
+
+    /** 空气流量3(风机现阶段送风量) */
+    @Excel(name = "空气流量3", readConverterExp = "风=机现阶段送风量")
+    private BigDecimal kqllThree;
+
+    /** 空气流量4(风机现阶段送风量) */
+    @Excel(name = "空气流量4", readConverterExp = "风=机现阶段送风量")
+    private BigDecimal kqllFour;
+
+    /** 空气流量5(风机现阶段送风量) */
+    @Excel(name = "空气流量5", readConverterExp = "风=机现阶段送风量")
+    private BigDecimal kqllFive;
+
+    /** 空气流量6(风机现阶段送风量) */
+    @Excel(name = "空气流量6", readConverterExp = "风=机现阶段送风量")
+    private BigDecimal kqllSix;
+
+
+    //2024年3月29日13:55:45 新增的字段
+    /** 信义污水厂实际碳源加药量 */
+    @Excel(name = "信义污水厂实际碳源加药量")
+    private BigDecimal SJTYJLY;
+
+    /** 信义污水厂除磷加药瞬时流量 */
+    @Excel(name = "信义污水厂除磷加药瞬时流量")
+    private BigDecimal CLJYSSLL;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdTime;
+
+
+
+}
+

+ 195 - 0
slibra-system/src/main/java/com/slibra/business/domain/TXinyiLaboratory.java

@@ -0,0 +1,195 @@
+package com.slibra.business.domain;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.slibra.common.annotation.Excel;
+import com.slibra.common.core.domain.BaseEntity;
+
+/**
+ * 信义化验数据;对象 t_xinyi_laboratory
+ * 
+ * @author slibra
+ * @date 2024-03-27
+ */
+public class TXinyiLaboratory extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */
+    private Long ID;
+
+    /** 化验时间(2023/12/13 5:00:00格式的) */
+    @Excel(name = "化验时间", readConverterExp = "2=023/12/13,5=:00:00格式的")
+    private String testTime;
+
+    /** 1#好氧池硝酸盐(内回流) */
+    @Excel(name = "1#好氧池硝酸盐", readConverterExp = "内=回流")
+    private BigDecimal oneHycxsy;
+
+    /** 2#好氧池硝酸盐(内回流) */
+    @Excel(name = "2#好氧池硝酸盐", readConverterExp = "内=回流")
+    private BigDecimal twoHycxsy;
+
+    /** 1#缺氧出口硝酸盐 */
+    @Excel(name = "1#缺氧出口硝酸盐")
+    private BigDecimal oneQyckxsy;
+
+    /** 2#缺氧出-硝酸盐 */
+    @Excel(name = "2#缺氧出-硝酸盐")
+    private BigDecimal twoQyckxsy;
+
+    /** 正磷 */
+    @Excel(name = "正磷")
+    private BigDecimal ZL;
+
+    /** #1好氧池-正磷酸盐 */
+    @Excel(name = "#1好氧池-正磷酸盐")
+    private BigDecimal oneHyZlsy;
+
+    /** #2好氧池-正磷酸盐 */
+    @Excel(name = "#2好氧池-正磷酸盐")
+    private BigDecimal twoHyZlsy;
+
+    /** 1#缺氧氨氮 */
+    @Excel(name = "1#缺氧氨氮")
+    private BigDecimal oneQyad;
+
+    /** 2#缺氧氨氮 */
+    @Excel(name = "2#缺氧氨氮")
+    private BigDecimal twoQyad;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdTime;
+
+    public void setID(Long ID) 
+    {
+        this.ID = ID;
+    }
+
+    public Long getID() 
+    {
+        return ID;
+    }
+    public void setTestTime(String testTime) 
+    {
+        this.testTime = testTime;
+    }
+
+    public String getTestTime() 
+    {
+        return testTime;
+    }
+    public void setOneHycxsy(BigDecimal oneHycxsy) 
+    {
+        this.oneHycxsy = oneHycxsy;
+    }
+
+    public BigDecimal getOneHycxsy() 
+    {
+        return oneHycxsy;
+    }
+    public void setTwoHycxsy(BigDecimal twoHycxsy) 
+    {
+        this.twoHycxsy = twoHycxsy;
+    }
+
+    public BigDecimal getTwoHycxsy() 
+    {
+        return twoHycxsy;
+    }
+    public void setOneQyckxsy(BigDecimal oneQyckxsy) 
+    {
+        this.oneQyckxsy = oneQyckxsy;
+    }
+
+    public BigDecimal getOneQyckxsy() 
+    {
+        return oneQyckxsy;
+    }
+    public void setTwoQyckxsy(BigDecimal twoQyckxsy) 
+    {
+        this.twoQyckxsy = twoQyckxsy;
+    }
+
+    public BigDecimal getTwoQyckxsy() 
+    {
+        return twoQyckxsy;
+    }
+    public void setZL(BigDecimal ZL) 
+    {
+        this.ZL = ZL;
+    }
+
+    public BigDecimal getZL() 
+    {
+        return ZL;
+    }
+    public void setOneHyZlsy(BigDecimal oneHyZlsy) 
+    {
+        this.oneHyZlsy = oneHyZlsy;
+    }
+
+    public BigDecimal getOneHyZlsy() 
+    {
+        return oneHyZlsy;
+    }
+    public void setTwoHyZlsy(BigDecimal twoHyZlsy) 
+    {
+        this.twoHyZlsy = twoHyZlsy;
+    }
+
+    public BigDecimal getTwoHyZlsy() 
+    {
+        return twoHyZlsy;
+    }
+    public void setOneQyad(BigDecimal oneQyad) 
+    {
+        this.oneQyad = oneQyad;
+    }
+
+    public BigDecimal getOneQyad() 
+    {
+        return oneQyad;
+    }
+    public void setTwoQyad(BigDecimal twoQyad) 
+    {
+        this.twoQyad = twoQyad;
+    }
+
+    public BigDecimal getTwoQyad() 
+    {
+        return twoQyad;
+    }
+    public void setCreatedTime(Date createdTime) 
+    {
+        this.createdTime = createdTime;
+    }
+
+    public Date getCreatedTime() 
+    {
+        return createdTime;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("ID", getID())
+            .append("testTime", getTestTime())
+            .append("oneHycxsy", getOneHycxsy())
+            .append("twoHycxsy", getTwoHycxsy())
+            .append("oneQyckxsy", getOneQyckxsy())
+            .append("twoQyckxsy", getTwoQyckxsy())
+            .append("ZL", getZL())
+            .append("oneHyZlsy", getOneHyZlsy())
+            .append("twoHyZlsy", getTwoHyZlsy())
+            .append("oneQyad", getOneQyad())
+            .append("twoQyad", getTwoQyad())
+            .append("createdTime", getCreatedTime())
+            .toString();
+    }
+}

+ 126 - 0
slibra-system/src/main/java/com/slibra/business/domain/TXinyiPhosphorus.java

@@ -0,0 +1,126 @@
+package com.slibra.business.domain;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.slibra.common.annotation.Excel;
+import com.slibra.common.core.domain.BaseEntity;
+
+/**
+ * 信义正磷对象 t_xinyi_phosphorus
+ * 
+ * @author slibra
+ * @date 2024-03-27
+ */
+public class TXinyiPhosphorus
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */
+    private Long ID;
+
+    /** 化验日期 */
+    @Excel(name = "化验日期")
+    private String testDate;
+
+    /** 化验时间 */
+    @Excel(name = "化验时间")
+    private String testTime;
+
+    /** 二沉池 */
+    @Excel(name = "二沉池")
+    private BigDecimal ECC;
+
+    /** 一号回流 */
+    @Excel(name = "一号回流")
+    private BigDecimal YHHL;
+
+    /** 二号回流 */
+    @Excel(name = "二号回流")
+    private BigDecimal EHHL;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdTime;
+
+
+    private int sort;//排序
+
+    public int getSort() {
+        return sort;
+    }
+
+    public void setSort(int sort) {
+        this.sort = sort;
+    }
+
+    public void setID(Long ID)
+    {
+        this.ID = ID;
+    }
+
+    public Long getID() 
+    {
+        return ID;
+    }
+    public void setTestDate(String testDate) 
+    {
+        this.testDate = testDate;
+    }
+
+    public String getTestDate() 
+    {
+        return testDate;
+    }
+    public void setTestTime(String testTime) 
+    {
+        this.testTime = testTime;
+    }
+
+    public String getTestTime() 
+    {
+        return testTime;
+    }
+    public void setECC(BigDecimal ECC) 
+    {
+        this.ECC = ECC;
+    }
+
+    public BigDecimal getECC() 
+    {
+        return ECC;
+    }
+    public void setYHHL(BigDecimal YHHL) 
+    {
+        this.YHHL = YHHL;
+    }
+
+    public BigDecimal getYHHL() 
+    {
+        return YHHL;
+    }
+    public void setEHHL(BigDecimal EHHL) 
+    {
+        this.EHHL = EHHL;
+    }
+
+    public BigDecimal getEHHL() 
+    {
+        return EHHL;
+    }
+    public void setCreatedTime(Date createdTime) 
+    {
+        this.createdTime = createdTime;
+    }
+
+    public Date getCreatedTime() 
+    {
+        return createdTime;
+    }
+
+
+}

+ 419 - 0
slibra-system/src/main/java/com/slibra/business/domain/TXinyiRobot.java

@@ -0,0 +1,419 @@
+package com.slibra.business.domain;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.slibra.common.annotation.Excel;
+import com.slibra.common.core.domain.BaseEntity;
+
+/**
+ * 信义化验数据对象 t_xinyi_robot
+ * 
+ * @author slibra
+ * @date 2024-03-30
+ */
+public class TXinyiRobot extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */
+    private Long ID;
+
+    /** 日期 */
+    @Excel(name = "日期")
+    private String vDate;
+
+    /** 时间 */
+    @Excel(name = "时间")
+    private String vTime;
+
+    /** 时间日期 */
+    @Excel(name = "时间日期")
+    private String vDateTime;
+
+    /** 仪表COD(在线仪表) */
+    @Excel(name = "仪表COD", readConverterExp = "在=线仪表")
+    private BigDecimal codYb;
+
+    /** 化验机器人COD化验有效值(COD生物池进水机器人) */
+    @Excel(name = "化验机器人COD化验有效值", readConverterExp = "C=OD生物池进水机器人")
+    private BigDecimal codJqr;
+
+    /** 化验机器人COD化验计算值(COD生物池进水阈值) */
+    @Excel(name = "化验机器人COD化验计算值", readConverterExp = "C=OD生物池进水阈值")
+    private BigDecimal codYz;
+
+    /** #1好氧池-正磷酸盐 +  化验机器人正磷化验有效值1(正磷1池回流机器人) */
+    @Excel(name = "#1好氧池-正磷酸盐 +  化验机器人正磷化验有效值1", readConverterExp = "正=磷1池回流机器人")
+    private BigDecimal tpHl1Jqr;
+
+    /** #2好氧池-正磷酸盐 + 化验机器人正磷化验有效值2(正磷2池回流机器人) */
+    @Excel(name = "#2好氧池-正磷酸盐 + 化验机器人正磷化验有效值2", readConverterExp = "正=磷2池回流机器人")
+    private BigDecimal tpHl2Jqr;
+
+    /** 二沉池-正磷酸盐 + 化验机器人正磷化验有效值二沉池(正磷二沉池机器人) */
+    @Excel(name = "二沉池-正磷酸盐 + 化验机器人正磷化验有效值二沉池", readConverterExp = "正=磷二沉池机器人")
+    private BigDecimal tpRccJqr;
+
+    /** 化验机器人正磷化验计算值1(正磷1池回流阈值) */
+    @Excel(name = "化验机器人正磷化验计算值1", readConverterExp = "正=磷1池回流阈值")
+    private BigDecimal tp1Yz;
+
+    /** 化验机器人正磷化验计算值2(正磷2池回流阈值) */
+    @Excel(name = "化验机器人正磷化验计算值2", readConverterExp = "正=磷2池回流阈值")
+    private BigDecimal tp2Yz;
+
+    /** 化验机器人正磷化验计算值二沉池(正磷二沉池阈值) */
+    @Excel(name = "化验机器人正磷化验计算值二沉池", readConverterExp = "正=磷二沉池阈值")
+    private BigDecimal tpRccYz;
+
+    /** 1#缺氧氨氮 + 化验机器人氨氮化验有效值1(氨氮1池缺氧机器人) */
+    @Excel(name = "1#缺氧氨氮 + 化验机器人氨氮化验有效值1", readConverterExp = "氨=氮1池缺氧机器人")
+    private BigDecimal nh31Jqr;
+
+    /** 2#缺氧氨氮 + 化验机器人氨氮化验有效值2(氨氮2池缺氧机器人) */
+    @Excel(name = "2#缺氧氨氮 + 化验机器人氨氮化验有效值2", readConverterExp = "氨=氮2池缺氧机器人")
+    private BigDecimal nh32Jqr;
+
+    /** 化验机器人氨氮化验计算值1(氨氮1池缺氧阈值) */
+    @Excel(name = "化验机器人氨氮化验计算值1", readConverterExp = "氨=氮1池缺氧阈值")
+    private BigDecimal nh31Yz;
+
+    /** 回流出水计算值1(硝氮1池回流阈值) */
+    @Excel(name = "回流出水计算值1", readConverterExp = "硝=氮1池回流阈值")
+    private BigDecimal no3Hlc1Yz;
+
+    /** 化验机器人氨氮化验计算值2(氨氮2池缺氧阈值) */
+    @Excel(name = "化验机器人氨氮化验计算值2", readConverterExp = "氨=氮2池缺氧阈值")
+    private BigDecimal nh32Yz;
+
+    /** 回流出水计算值2(硝氮2池回流阈值) */
+    @Excel(name = "回流出水计算值2", readConverterExp = "硝=氮2池回流阈值")
+    private BigDecimal no3Hlc2Yz;
+
+    /** 1#好氧池硝酸盐(内回流)+ 回流进水化验机器人有效值1(硝氮1池回流机器人) */
+    @Excel(name = "1#好氧池硝酸盐", readConverterExp = "内=回流")
+    private BigDecimal no3Hlj1Jqr;
+
+    /** 2#好氧池硝酸盐(内回流) + 回流进水化验机器人有效值2(硝氮2池回流机器人) */
+    @Excel(name = "2#好氧池硝酸盐", readConverterExp = "内=回流")
+    private BigDecimal no3Hlj2Jqr;
+
+    /** 碳源投加流量(碳源投加流量) */
+    @Excel(name = "碳源投加流量", readConverterExp = "碳=源投加流量")
+    private BigDecimal TYLL;
+
+    /** 1#缺氧出口硝酸盐 + 缺氧出水化验机器人有效值1(硝氮1池缺氧机器人) */
+    @Excel(name = "1#缺氧出口硝酸盐 + 缺氧出水化验机器人有效值1", readConverterExp = "硝=氮1池缺氧机器人")
+    private BigDecimal no3Qyc1Jqr;
+
+    /** 2#缺氧出-硝酸盐 + 缺氧出水化验机器人有效值2(硝氮2池缺氧机器人) */
+    @Excel(name = "2#缺氧出-硝酸盐 + 缺氧出水化验机器人有效值2", readConverterExp = "硝=氮2池缺氧机器人")
+    private BigDecimal no3Qyc2Jqr;
+
+    /** 缺氧进水计算值1(硝氮1池缺氧阈值) */
+    @Excel(name = "缺氧进水计算值1", readConverterExp = "硝=氮1池缺氧阈值")
+    private BigDecimal no3Qyc1Yz;
+
+    /** 缺氧进水计算值2(硝氮2池缺氧阈值) */
+    @Excel(name = "缺氧进水计算值2", readConverterExp = "硝=氮2池缺氧阈值")
+    private BigDecimal no3Qyc2Yz;
+
+    /** 进水流量(进水流量) */
+    @Excel(name = "进水流量", readConverterExp = "进=水流量")
+    private BigDecimal JSLL;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdTime;
+
+    public void setID(Long ID) 
+    {
+        this.ID = ID;
+    }
+
+    public Long getID() 
+    {
+        return ID;
+    }
+    public void setvDate(String vDate) 
+    {
+        this.vDate = vDate;
+    }
+
+    public String getvDate() 
+    {
+        return vDate;
+    }
+    public void setvTime(String vTime) 
+    {
+        this.vTime = vTime;
+    }
+
+    public String getvTime() 
+    {
+        return vTime;
+    }
+    public void setvDateTime(String vDateTime) 
+    {
+        this.vDateTime = vDateTime;
+    }
+
+    public String getvDateTime() 
+    {
+        return vDateTime;
+    }
+    public void setCodYb(BigDecimal codYb) 
+    {
+        this.codYb = codYb;
+    }
+
+    public BigDecimal getCodYb() 
+    {
+        return codYb;
+    }
+    public void setCodJqr(BigDecimal codJqr) 
+    {
+        this.codJqr = codJqr;
+    }
+
+    public BigDecimal getCodJqr() 
+    {
+        return codJqr;
+    }
+    public void setCodYz(BigDecimal codYz) 
+    {
+        this.codYz = codYz;
+    }
+
+    public BigDecimal getCodYz() 
+    {
+        return codYz;
+    }
+    public void setTpHl1Jqr(BigDecimal tpHl1Jqr) 
+    {
+        this.tpHl1Jqr = tpHl1Jqr;
+    }
+
+    public BigDecimal getTpHl1Jqr() 
+    {
+        return tpHl1Jqr;
+    }
+    public void setTpHl2Jqr(BigDecimal tpHl2Jqr) 
+    {
+        this.tpHl2Jqr = tpHl2Jqr;
+    }
+
+    public BigDecimal getTpHl2Jqr() 
+    {
+        return tpHl2Jqr;
+    }
+    public void setTpRccJqr(BigDecimal tpRccJqr) 
+    {
+        this.tpRccJqr = tpRccJqr;
+    }
+
+    public BigDecimal getTpRccJqr() 
+    {
+        return tpRccJqr;
+    }
+    public void setTp1Yz(BigDecimal tp1Yz) 
+    {
+        this.tp1Yz = tp1Yz;
+    }
+
+    public BigDecimal getTp1Yz() 
+    {
+        return tp1Yz;
+    }
+    public void setTp2Yz(BigDecimal tp2Yz) 
+    {
+        this.tp2Yz = tp2Yz;
+    }
+
+    public BigDecimal getTp2Yz() 
+    {
+        return tp2Yz;
+    }
+    public void setTpRccYz(BigDecimal tpRccYz) 
+    {
+        this.tpRccYz = tpRccYz;
+    }
+
+    public BigDecimal getTpRccYz() 
+    {
+        return tpRccYz;
+    }
+    public void setNh31Jqr(BigDecimal nh31Jqr) 
+    {
+        this.nh31Jqr = nh31Jqr;
+    }
+
+    public BigDecimal getNh31Jqr() 
+    {
+        return nh31Jqr;
+    }
+    public void setNh32Jqr(BigDecimal nh32Jqr) 
+    {
+        this.nh32Jqr = nh32Jqr;
+    }
+
+    public BigDecimal getNh32Jqr() 
+    {
+        return nh32Jqr;
+    }
+    public void setNh31Yz(BigDecimal nh31Yz) 
+    {
+        this.nh31Yz = nh31Yz;
+    }
+
+    public BigDecimal getNh31Yz() 
+    {
+        return nh31Yz;
+    }
+    public void setNo3Hlc1Yz(BigDecimal no3Hlc1Yz) 
+    {
+        this.no3Hlc1Yz = no3Hlc1Yz;
+    }
+
+    public BigDecimal getNo3Hlc1Yz() 
+    {
+        return no3Hlc1Yz;
+    }
+    public void setNh32Yz(BigDecimal nh32Yz) 
+    {
+        this.nh32Yz = nh32Yz;
+    }
+
+    public BigDecimal getNh32Yz() 
+    {
+        return nh32Yz;
+    }
+    public void setNo3Hlc2Yz(BigDecimal no3Hlc2Yz) 
+    {
+        this.no3Hlc2Yz = no3Hlc2Yz;
+    }
+
+    public BigDecimal getNo3Hlc2Yz() 
+    {
+        return no3Hlc2Yz;
+    }
+    public void setNo3Hlj1Jqr(BigDecimal no3Hlj1Jqr) 
+    {
+        this.no3Hlj1Jqr = no3Hlj1Jqr;
+    }
+
+    public BigDecimal getNo3Hlj1Jqr() 
+    {
+        return no3Hlj1Jqr;
+    }
+    public void setNo3Hlj2Jqr(BigDecimal no3Hlj2Jqr) 
+    {
+        this.no3Hlj2Jqr = no3Hlj2Jqr;
+    }
+
+    public BigDecimal getNo3Hlj2Jqr() 
+    {
+        return no3Hlj2Jqr;
+    }
+    public void setTYLL(BigDecimal TYLL) 
+    {
+        this.TYLL = TYLL;
+    }
+
+    public BigDecimal getTYLL() 
+    {
+        return TYLL;
+    }
+    public void setNo3Qyc1Jqr(BigDecimal no3Qyc1Jqr) 
+    {
+        this.no3Qyc1Jqr = no3Qyc1Jqr;
+    }
+
+    public BigDecimal getNo3Qyc1Jqr() 
+    {
+        return no3Qyc1Jqr;
+    }
+    public void setNo3Qyc2Jqr(BigDecimal no3Qyc2Jqr) 
+    {
+        this.no3Qyc2Jqr = no3Qyc2Jqr;
+    }
+
+    public BigDecimal getNo3Qyc2Jqr() 
+    {
+        return no3Qyc2Jqr;
+    }
+    public void setNo3Qyc1Yz(BigDecimal no3Qyc1Yz) 
+    {
+        this.no3Qyc1Yz = no3Qyc1Yz;
+    }
+
+    public BigDecimal getNo3Qyc1Yz() 
+    {
+        return no3Qyc1Yz;
+    }
+    public void setNo3Qyc2Yz(BigDecimal no3Qyc2Yz) 
+    {
+        this.no3Qyc2Yz = no3Qyc2Yz;
+    }
+
+    public BigDecimal getNo3Qyc2Yz() 
+    {
+        return no3Qyc2Yz;
+    }
+    public void setJSLL(BigDecimal JSLL) 
+    {
+        this.JSLL = JSLL;
+    }
+
+    public BigDecimal getJSLL() 
+    {
+        return JSLL;
+    }
+    public void setCreatedTime(Date createdTime) 
+    {
+        this.createdTime = createdTime;
+    }
+
+    public Date getCreatedTime() 
+    {
+        return createdTime;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("ID", getID())
+            .append("vDate", getvDate())
+            .append("vTime", getvTime())
+            .append("vDateTime", getvDateTime())
+            .append("codYb", getCodYb())
+            .append("codJqr", getCodJqr())
+            .append("codYz", getCodYz())
+            .append("tpHl1Jqr", getTpHl1Jqr())
+            .append("tpHl2Jqr", getTpHl2Jqr())
+            .append("tpRccJqr", getTpRccJqr())
+            .append("tp1Yz", getTp1Yz())
+            .append("tp2Yz", getTp2Yz())
+            .append("tpRccYz", getTpRccYz())
+            .append("nh31Jqr", getNh31Jqr())
+            .append("nh32Jqr", getNh32Jqr())
+            .append("nh31Yz", getNh31Yz())
+            .append("no3Hlc1Yz", getNo3Hlc1Yz())
+            .append("nh32Yz", getNh32Yz())
+            .append("no3Hlc2Yz", getNo3Hlc2Yz())
+            .append("no3Hlj1Jqr", getNo3Hlj1Jqr())
+            .append("no3Hlj2Jqr", getNo3Hlj2Jqr())
+            .append("TYLL", getTYLL())
+            .append("no3Qyc1Jqr", getNo3Qyc1Jqr())
+            .append("no3Qyc2Jqr", getNo3Qyc2Jqr())
+            .append("no3Qyc1Yz", getNo3Qyc1Yz())
+            .append("no3Qyc2Yz", getNo3Qyc2Yz())
+            .append("JSLL", getJSLL())
+            .append("createdTime", getCreatedTime())
+            .toString();
+    }
+}

+ 66 - 0
slibra-system/src/main/java/com/slibra/business/mapper/TXinyiIndustryMapper.java

@@ -0,0 +1,66 @@
+package com.slibra.business.mapper;
+
+import java.util.List;
+
+import com.slibra.business.domain.TXinyiIndustry;
+
+/**
+ * 信义工业数据Mapper接口
+ *
+ * @author slibra
+ * @date 2024-03-23
+ */
+public interface TXinyiIndustryMapper
+{
+    /**
+     * 查询信义工业数据
+     *
+     * @param ID 信义工业数据主键
+     * @return 信义工业数据
+     */
+    public TXinyiIndustry selectTXinyiIndustryByID(Long ID);
+
+    /**
+     * 查询信义工业数据列表
+     *
+     * @param tXinyiIndustry 信义工业数据
+     * @return 信义工业数据集合
+     */
+    public List<TXinyiIndustry> selectTXinyiIndustryList(TXinyiIndustry tXinyiIndustry);
+
+    /**
+     * 新增信义工业数据
+     *
+     * @param tXinyiIndustry 信义工业数据
+     * @return 结果
+     */
+    public int insertTXinyiIndustry(TXinyiIndustry tXinyiIndustry);
+
+    /**
+     * 修改信义工业数据
+     *
+     * @param tXinyiIndustry 信义工业数据
+     * @return 结果
+     */
+    public int updateTXinyiIndustry(TXinyiIndustry tXinyiIndustry);
+
+    /**
+     * 删除信义工业数据
+     *
+     * @param ID 信义工业数据主键
+     * @return 结果
+     */
+    public int deleteTXinyiIndustryByID(Long ID);
+
+    /**
+     * 批量删除信义工业数据
+     *
+     * @param IDs 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteTXinyiIndustryByIDs(Long[] IDs);
+
+    //通过时间获取唯一的一条记录
+    TXinyiIndustry getUniqueTXinyiIndustry(String testTime);
+
+}

+ 64 - 0
slibra-system/src/main/java/com/slibra/business/mapper/TXinyiLaboratoryMapper.java

@@ -0,0 +1,64 @@
+package com.slibra.business.mapper;
+
+import java.util.List;
+import com.slibra.business.domain.TXinyiLaboratory;
+
+/**
+ * 信义化验数据;Mapper接口
+ * 
+ * @author slibra
+ * @date 2024-03-27
+ */
+public interface TXinyiLaboratoryMapper 
+{
+    /**
+     * 查询信义化验数据;
+     * 
+     * @param ID 信义化验数据;主键
+     * @return 信义化验数据;
+     */
+    public TXinyiLaboratory selectTXinyiLaboratoryByID(Long ID);
+
+    /**
+     * 查询信义化验数据;列表
+     * 
+     * @param tXinyiLaboratory 信义化验数据;
+     * @return 信义化验数据;集合
+     */
+    public List<TXinyiLaboratory> selectTXinyiLaboratoryList(TXinyiLaboratory tXinyiLaboratory);
+
+    /**
+     * 新增信义化验数据;
+     * 
+     * @param tXinyiLaboratory 信义化验数据;
+     * @return 结果
+     */
+    public int insertTXinyiLaboratory(TXinyiLaboratory tXinyiLaboratory);
+
+    /**
+     * 修改信义化验数据;
+     * 
+     * @param tXinyiLaboratory 信义化验数据;
+     * @return 结果
+     */
+    public int updateTXinyiLaboratory(TXinyiLaboratory tXinyiLaboratory);
+
+    /**
+     * 删除信义化验数据;
+     * 
+     * @param ID 信义化验数据;主键
+     * @return 结果
+     */
+    public int deleteTXinyiLaboratoryByID(Long ID);
+
+    /**
+     * 批量删除信义化验数据;
+     * 
+     * @param IDs 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteTXinyiLaboratoryByIDs(Long[] IDs);
+
+
+    TXinyiLaboratory getUniqueByDate(String date);
+}

+ 61 - 0
slibra-system/src/main/java/com/slibra/business/mapper/TXinyiPhosphorusMapper.java

@@ -0,0 +1,61 @@
+package com.slibra.business.mapper;
+
+import java.util.List;
+import com.slibra.business.domain.TXinyiPhosphorus;
+
+/**
+ * 信义正磷Mapper接口
+ * 
+ * @author slibra
+ * @date 2024-03-27
+ */
+public interface TXinyiPhosphorusMapper 
+{
+    /**
+     * 查询信义正磷
+     * 
+     * @param ID 信义正磷主键
+     * @return 信义正磷
+     */
+    public TXinyiPhosphorus selectTXinyiPhosphorusByID(Long ID);
+
+    /**
+     * 查询信义正磷列表
+     * 
+     * @param tXinyiPhosphorus 信义正磷
+     * @return 信义正磷集合
+     */
+    public List<TXinyiPhosphorus> selectTXinyiPhosphorusList(TXinyiPhosphorus tXinyiPhosphorus);
+
+    /**
+     * 新增信义正磷
+     * 
+     * @param tXinyiPhosphorus 信义正磷
+     * @return 结果
+     */
+    public int insertTXinyiPhosphorus(TXinyiPhosphorus tXinyiPhosphorus);
+
+    /**
+     * 修改信义正磷
+     * 
+     * @param tXinyiPhosphorus 信义正磷
+     * @return 结果
+     */
+    public int updateTXinyiPhosphorus(TXinyiPhosphorus tXinyiPhosphorus);
+
+    /**
+     * 删除信义正磷
+     * 
+     * @param ID 信义正磷主键
+     * @return 结果
+     */
+    public int deleteTXinyiPhosphorusByID(Long ID);
+
+    /**
+     * 批量删除信义正磷
+     * 
+     * @param IDs 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteTXinyiPhosphorusByIDs(Long[] IDs);
+}

+ 61 - 0
slibra-system/src/main/java/com/slibra/business/mapper/TXinyiRobotMapper.java

@@ -0,0 +1,61 @@
+package com.slibra.business.mapper;
+
+import java.util.List;
+import com.slibra.business.domain.TXinyiRobot;
+
+/**
+ * 信义化验数据Mapper接口
+ * 
+ * @author slibra
+ * @date 2024-03-30
+ */
+public interface TXinyiRobotMapper 
+{
+    /**
+     * 查询信义化验数据
+     * 
+     * @param ID 信义化验数据主键
+     * @return 信义化验数据
+     */
+    public TXinyiRobot selectTXinyiRobotByID(Long ID);
+
+    /**
+     * 查询信义化验数据列表
+     * 
+     * @param tXinyiRobot 信义化验数据
+     * @return 信义化验数据集合
+     */
+    public List<TXinyiRobot> selectTXinyiRobotList(TXinyiRobot tXinyiRobot);
+
+    /**
+     * 新增信义化验数据
+     * 
+     * @param tXinyiRobot 信义化验数据
+     * @return 结果
+     */
+    public int insertTXinyiRobot(TXinyiRobot tXinyiRobot);
+
+    /**
+     * 修改信义化验数据
+     * 
+     * @param tXinyiRobot 信义化验数据
+     * @return 结果
+     */
+    public int updateTXinyiRobot(TXinyiRobot tXinyiRobot);
+
+    /**
+     * 删除信义化验数据
+     * 
+     * @param ID 信义化验数据主键
+     * @return 结果
+     */
+    public int deleteTXinyiRobotByID(Long ID);
+
+    /**
+     * 批量删除信义化验数据
+     * 
+     * @param IDs 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteTXinyiRobotByIDs(Long[] IDs);
+}

+ 312 - 0
slibra-system/src/main/resources/mapper/business/TXinyiIndustryMapper.xml

@@ -0,0 +1,312 @@
+<?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.slibra.business.mapper.TXinyiIndustryMapper">
+    
+    <resultMap type="TXinyiIndustry" id="TXinyiIndustryResult">
+        <result property="ID"    column="ID"    />
+        <result property="testTime"    column="TEST_TIME"    />
+        <result property="jsCod"    column="JS_COD"    />
+        <result property="jsPh"    column="JS_PH"    />
+        <result property="jsSs"    column="JS_SS"    />
+        <result property="jsTp"    column="JS_TP"    />
+        <result property="jsTn"    column="JS_TN"    />
+        <result property="jsNh3"    column="JS_NH3"    />
+        <result property="jsSwPh"    column="JS_SW_PH"    />
+        <result property="jsBfyw"    column="JS_BFYW"    />
+        <result property="csSlqc"    column="CS_SLQC"    />
+        <result property="csCod"    column="CS_COD"    />
+        <result property="csPh"    column="CS_PH"    />
+        <result property="csSs"    column="CS_SS"    />
+        <result property="csTn"    column="CS_TN"    />
+        <result property="csTp"    column="CS_TP"    />
+        <result property="csNh3"    column="CS_NH3"    />
+        <result property="oneHyzdDo"    column="ONE_HYZD_DO"    />
+        <result property="oneHymdDo"    column="ONE_HYMD_DO"    />
+        <result property="twoHyzdDo"    column="TWO_HYZD_DO"    />
+        <result property="twoHymdDo"    column="TWO_HYMD_DO"    />
+        <result property="oneMlss"    column="ONE_MLSS"    />
+        <result property="twoMlss"    column="TWO_MLSS"    />
+        <result property="jsTds"    column="JS_TDS"    />
+        <result property="jsSlq"    column="JS_SLQ"    />
+        <result property="nHlbOneGp"    column="N_HLB_ONE_GP"    />
+        <result property="nHlbTwoGp"    column="N_HLB_TWO_GP"    />
+        <result property="nHlbThreeGp"    column="N_HLB_THREE_GP"    />
+        <result property="nHlbFourGp"    column="N_HLB_FOUR_GP"    />
+        <result property="nhlBFiveGp"    column="NHL_B_FIVE_GP"    />
+        <result property="nHlbSixGp"    column="N_HLB_SIX_GP"    />
+        <result property="wHlbOneGp"    column="W_HLB_ONE_GP"    />
+        <result property="wHlbTwoGp"    column="W_HLB_TWO_GP"    />
+        <result property="wHlbThreeGp"    column="W_HLB_THREE_GP"    />
+        <result property="wHlbFourGp"    column="W_HLB_FOUR_GP"    />
+        <result property="wHlbFiveGp"    column="W_HLB_FIVE_GP"    />
+        <result property="fjOne"    column="FJ_ONE"    />
+        <result property="fjTwo"    column="FJ_TWO"    />
+        <result property="fjThree"    column="FJ_THREE"    />
+        <result property="fjFour"    column="FJ_FOUR"    />
+        <result property="fjFive"    column="FJ_FIVE"    />
+        <result property="fjSix"    column="FJ_SIX"    />
+        <result property="kqllOne"    column="KQLL_ONE"    />
+        <result property="kqllTwo"    column="KQLL_TWO"    />
+        <result property="kqllThree"    column="KQLL_THREE"    />
+        <result property="kqllFour"    column="KQLL_FOUR"    />
+        <result property="kqllFive"    column="KQLL_FIVE"    />
+        <result property="kqllSix"    column="KQLL_SIX"    />
+        <result property="SJTYJLY"    column="SJTYJLY"    />
+        <result property="CLJYSSLL"    column="CLJYSSLL"    />
+        <result property="createdTime"    column="CREATED_TIME"    />
+    </resultMap>
+
+    <sql id="selectTXinyiIndustryVo">
+        select ID, TEST_TIME, JS_COD, JS_PH, JS_SS, JS_TP, JS_TN, JS_NH3, JS_SW_PH, JS_BFYW, CS_SLQC, CS_COD, CS_PH, CS_SS, CS_TN, CS_TP, CS_NH3, ONE_HYZD_DO, ONE_HYMD_DO, TWO_HYZD_DO, TWO_HYMD_DO, ONE_MLSS, TWO_MLSS, JS_TDS, JS_SLQ, N_HLB_ONE_GP, N_HLB_TWO_GP, N_HLB_THREE_GP, N_HLB_FOUR_GP, NHL_B_FIVE_GP, N_HLB_SIX_GP, W_HLB_ONE_GP, W_HLB_TWO_GP, W_HLB_THREE_GP, W_HLB_FOUR_GP, W_HLB_FIVE_GP, FJ_ONE, FJ_TWO, FJ_THREE, FJ_FOUR, FJ_FIVE, FJ_SIX, KQLL_ONE, KQLL_TWO, KQLL_THREE, KQLL_FOUR, KQLL_FIVE, KQLL_SIX, SJTYJLY, CLJYSSLL, CREATED_TIME from t_xinyi_industry
+    </sql>
+
+    <select id="selectTXinyiIndustryList" parameterType="TXinyiIndustry" resultMap="TXinyiIndustryResult">
+        <include refid="selectTXinyiIndustryVo"/>
+        <where>
+            1 = 1
+            <if test="testTime != null  and testTime != ''"> and TEST_TIME = #{testTime}</if>
+            <if test="jsCod != null "> and JS_COD = #{jsCod}</if>
+            <if test="jsPh != null "> and JS_PH = #{jsPh}</if>
+            <if test="jsSs != null "> and JS_SS = #{jsSs}</if>
+            <if test="jsTp != null "> and JS_TP = #{jsTp}</if>
+            <if test="jsTn != null "> and JS_TN = #{jsTn}</if>
+            <if test="jsNh3 != null "> and JS_NH3 = #{jsNh3}</if>
+            <if test="jsSwPh != null "> and JS_SW_PH = #{jsSwPh}</if>
+            <if test="jsBfyw != null "> and JS_BFYW = #{jsBfyw}</if>
+            <if test="csSlqc != null "> and CS_SLQC = #{csSlqc}</if>
+            <if test="csCod != null "> and CS_COD = #{csCod}</if>
+            <if test="csPh != null "> and CS_PH = #{csPh}</if>
+            <if test="csSs != null "> and CS_SS = #{csSs}</if>
+            <if test="csTn != null "> and CS_TN = #{csTn}</if>
+            <if test="csTp != null "> and CS_TP = #{csTp}</if>
+            <if test="csNh3 != null "> and CS_NH3 = #{csNh3}</if>
+            <if test="oneHyzdDo != null "> and ONE_HYZD_DO = #{oneHyzdDo}</if>
+            <if test="oneHymdDo != null "> and ONE_HYMD_DO = #{oneHymdDo}</if>
+            <if test="twoHyzdDo != null "> and TWO_HYZD_DO = #{twoHyzdDo}</if>
+            <if test="twoHymdDo != null "> and TWO_HYMD_DO = #{twoHymdDo}</if>
+            <if test="oneMlss != null "> and ONE_MLSS = #{oneMlss}</if>
+            <if test="twoMlss != null "> and TWO_MLSS = #{twoMlss}</if>
+            <if test="jsTds != null "> and JS_TDS = #{jsTds}</if>
+            <if test="jsSlq != null "> and JS_SLQ = #{jsSlq}</if>
+            <if test="nHlbOneGp != null "> and N_HLB_ONE_GP = #{nHlbOneGp}</if>
+            <if test="nHlbTwoGp != null "> and N_HLB_TWO_GP = #{nHlbTwoGp}</if>
+            <if test="nHlbThreeGp != null "> and N_HLB_THREE_GP = #{nHlbThreeGp}</if>
+            <if test="nHlbFourGp != null "> and N_HLB_FOUR_GP = #{nHlbFourGp}</if>
+            <if test="nhlBFiveGp != null "> and NHL_B_FIVE_GP = #{nhlBFiveGp}</if>
+            <if test="nHlbSixGp != null "> and N_HLB_SIX_GP = #{nHlbSixGp}</if>
+            <if test="wHlbOneGp != null "> and W_HLB_ONE_GP = #{wHlbOneGp}</if>
+            <if test="wHlbTwoGp != null "> and W_HLB_TWO_GP = #{wHlbTwoGp}</if>
+            <if test="wHlbThreeGp != null "> and W_HLB_THREE_GP = #{wHlbThreeGp}</if>
+            <if test="wHlbFourGp != null "> and W_HLB_FOUR_GP = #{wHlbFourGp}</if>
+            <if test="wHlbFiveGp != null "> and W_HLB_FIVE_GP = #{wHlbFiveGp}</if>
+            <if test="fjOne != null "> and FJ_ONE = #{fjOne}</if>
+            <if test="fjTwo != null "> and FJ_TWO = #{fjTwo}</if>
+            <if test="fjThree != null "> and FJ_THREE = #{fjThree}</if>
+            <if test="fjFour != null "> and FJ_FOUR = #{fjFour}</if>
+            <if test="fjFive != null "> and FJ_FIVE = #{fjFive}</if>
+            <if test="fjSix != null "> and FJ_SIX = #{fjSix}</if>
+            <if test="kqllOne != null "> and KQLL_ONE = #{kqllOne}</if>
+            <if test="kqllTwo != null "> and KQLL_TWO = #{kqllTwo}</if>
+            <if test="kqllThree != null "> and KQLL_THREE = #{kqllThree}</if>
+            <if test="kqllFour != null "> and KQLL_FOUR = #{kqllFour}</if>
+            <if test="kqllFive != null "> and KQLL_FIVE = #{kqllFive}</if>
+            <if test="kqllSix != null "> and KQLL_SIX = #{kqllSix}</if>
+            <if test="SJTYJLY != null "> and SJTYJLY = #{SJTYJLY}</if>
+            <if test="CLJYSSLL != null "> and CLJYSSLL = #{CLJYSSLL}</if>
+            <if test="createdTime != null "> and CREATED_TIME = #{createdTime}</if>
+        </where>
+        and del_flag = 0
+    </select>
+    
+    <select id="selectTXinyiIndustryByID" parameterType="Long" resultMap="TXinyiIndustryResult">
+        <include refid="selectTXinyiIndustryVo"/>
+        where ID = #{ID} and del_flag = 0
+    </select>
+        
+    <insert id="insertTXinyiIndustry" parameterType="TXinyiIndustry" useGeneratedKeys="true" keyProperty="ID">
+        insert into t_xinyi_industry
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="testTime != null">TEST_TIME,</if>
+            <if test="jsCod != null">JS_COD,</if>
+            <if test="jsPh != null">JS_PH,</if>
+            <if test="jsSs != null">JS_SS,</if>
+            <if test="jsTp != null">JS_TP,</if>
+            <if test="jsTn != null">JS_TN,</if>
+            <if test="jsNh3 != null">JS_NH3,</if>
+            <if test="jsSwPh != null">JS_SW_PH,</if>
+            <if test="jsBfyw != null">JS_BFYW,</if>
+            <if test="csSlqc != null">CS_SLQC,</if>
+            <if test="csCod != null">CS_COD,</if>
+            <if test="csPh != null">CS_PH,</if>
+            <if test="csSs != null">CS_SS,</if>
+            <if test="csTn != null">CS_TN,</if>
+            <if test="csTp != null">CS_TP,</if>
+            <if test="csNh3 != null">CS_NH3,</if>
+            <if test="oneHyzdDo != null">ONE_HYZD_DO,</if>
+            <if test="oneHymdDo != null">ONE_HYMD_DO,</if>
+            <if test="twoHyzdDo != null">TWO_HYZD_DO,</if>
+            <if test="twoHymdDo != null">TWO_HYMD_DO,</if>
+            <if test="oneMlss != null">ONE_MLSS,</if>
+            <if test="twoMlss != null">TWO_MLSS,</if>
+            <if test="jsTds != null">JS_TDS,</if>
+            <if test="jsSlq != null">JS_SLQ,</if>
+            <if test="nHlbOneGp != null">N_HLB_ONE_GP,</if>
+            <if test="nHlbTwoGp != null">N_HLB_TWO_GP,</if>
+            <if test="nHlbThreeGp != null">N_HLB_THREE_GP,</if>
+            <if test="nHlbFourGp != null">N_HLB_FOUR_GP,</if>
+            <if test="nhlBFiveGp != null">NHL_B_FIVE_GP,</if>
+            <if test="nHlbSixGp != null">N_HLB_SIX_GP,</if>
+            <if test="wHlbOneGp != null">W_HLB_ONE_GP,</if>
+            <if test="wHlbTwoGp != null">W_HLB_TWO_GP,</if>
+            <if test="wHlbThreeGp != null">W_HLB_THREE_GP,</if>
+            <if test="wHlbFourGp != null">W_HLB_FOUR_GP,</if>
+            <if test="wHlbFiveGp != null">W_HLB_FIVE_GP,</if>
+            <if test="fjOne != null">FJ_ONE,</if>
+            <if test="fjTwo != null">FJ_TWO,</if>
+            <if test="fjThree != null">FJ_THREE,</if>
+            <if test="fjFour != null">FJ_FOUR,</if>
+            <if test="fjFive != null">FJ_FIVE,</if>
+            <if test="fjSix != null">FJ_SIX,</if>
+            <if test="kqllOne != null">KQLL_ONE,</if>
+            <if test="kqllTwo != null">KQLL_TWO,</if>
+            <if test="kqllThree != null">KQLL_THREE,</if>
+            <if test="kqllFour != null">KQLL_FOUR,</if>
+            <if test="kqllFive != null">KQLL_FIVE,</if>
+            <if test="kqllSix != null">KQLL_SIX,</if>
+            <if test="SJTYJLY != null">SJTYJLY,</if>
+            <if test="CLJYSSLL != null">CLJYSSLL,</if>
+            <if test="createdTime != null">CREATED_TIME,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="testTime != null">#{testTime},</if>
+            <if test="jsCod != null">#{jsCod},</if>
+            <if test="jsPh != null">#{jsPh},</if>
+            <if test="jsSs != null">#{jsSs},</if>
+            <if test="jsTp != null">#{jsTp},</if>
+            <if test="jsTn != null">#{jsTn},</if>
+            <if test="jsNh3 != null">#{jsNh3},</if>
+            <if test="jsSwPh != null">#{jsSwPh},</if>
+            <if test="jsBfyw != null">#{jsBfyw},</if>
+            <if test="csSlqc != null">#{csSlqc},</if>
+            <if test="csCod != null">#{csCod},</if>
+            <if test="csPh != null">#{csPh},</if>
+            <if test="csSs != null">#{csSs},</if>
+            <if test="csTn != null">#{csTn},</if>
+            <if test="csTp != null">#{csTp},</if>
+            <if test="csNh3 != null">#{csNh3},</if>
+            <if test="oneHyzdDo != null">#{oneHyzdDo},</if>
+            <if test="oneHymdDo != null">#{oneHymdDo},</if>
+            <if test="twoHyzdDo != null">#{twoHyzdDo},</if>
+            <if test="twoHymdDo != null">#{twoHymdDo},</if>
+            <if test="oneMlss != null">#{oneMlss},</if>
+            <if test="twoMlss != null">#{twoMlss},</if>
+            <if test="jsTds != null">#{jsTds},</if>
+            <if test="jsSlq != null">#{jsSlq},</if>
+            <if test="nHlbOneGp != null">#{nHlbOneGp},</if>
+            <if test="nHlbTwoGp != null">#{nHlbTwoGp},</if>
+            <if test="nHlbThreeGp != null">#{nHlbThreeGp},</if>
+            <if test="nHlbFourGp != null">#{nHlbFourGp},</if>
+            <if test="nhlBFiveGp != null">#{nhlBFiveGp},</if>
+            <if test="nHlbSixGp != null">#{nHlbSixGp},</if>
+            <if test="wHlbOneGp != null">#{wHlbOneGp},</if>
+            <if test="wHlbTwoGp != null">#{wHlbTwoGp},</if>
+            <if test="wHlbThreeGp != null">#{wHlbThreeGp},</if>
+            <if test="wHlbFourGp != null">#{wHlbFourGp},</if>
+            <if test="wHlbFiveGp != null">#{wHlbFiveGp},</if>
+            <if test="fjOne != null">#{fjOne},</if>
+            <if test="fjTwo != null">#{fjTwo},</if>
+            <if test="fjThree != null">#{fjThree},</if>
+            <if test="fjFour != null">#{fjFour},</if>
+            <if test="fjFive != null">#{fjFive},</if>
+            <if test="fjSix != null">#{fjSix},</if>
+            <if test="kqllOne != null">#{kqllOne},</if>
+            <if test="kqllTwo != null">#{kqllTwo},</if>
+            <if test="kqllThree != null">#{kqllThree},</if>
+            <if test="kqllFour != null">#{kqllFour},</if>
+            <if test="kqllFive != null">#{kqllFive},</if>
+            <if test="kqllSix != null">#{kqllSix},</if>
+            <if test="SJTYJLY != null">#{SJTYJLY},</if>
+            <if test="CLJYSSLL != null">#{CLJYSSLL},</if>
+            <if test="createdTime != null">#{createdTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTXinyiIndustry" parameterType="TXinyiIndustry">
+        update t_xinyi_industry
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="testTime != null">TEST_TIME = #{testTime},</if>
+            <if test="jsCod != null">JS_COD = #{jsCod},</if>
+            <if test="jsPh != null">JS_PH = #{jsPh},</if>
+            <if test="jsSs != null">JS_SS = #{jsSs},</if>
+            <if test="jsTp != null">JS_TP = #{jsTp},</if>
+            <if test="jsTn != null">JS_TN = #{jsTn},</if>
+            <if test="jsNh3 != null">JS_NH3 = #{jsNh3},</if>
+            <if test="jsSwPh != null">JS_SW_PH = #{jsSwPh},</if>
+            <if test="jsBfyw != null">JS_BFYW = #{jsBfyw},</if>
+            <if test="csSlqc != null">CS_SLQC = #{csSlqc},</if>
+            <if test="csCod != null">CS_COD = #{csCod},</if>
+            <if test="csPh != null">CS_PH = #{csPh},</if>
+            <if test="csSs != null">CS_SS = #{csSs},</if>
+            <if test="csTn != null">CS_TN = #{csTn},</if>
+            <if test="csTp != null">CS_TP = #{csTp},</if>
+            <if test="csNh3 != null">CS_NH3 = #{csNh3},</if>
+            <if test="oneHyzdDo != null">ONE_HYZD_DO = #{oneHyzdDo},</if>
+            <if test="oneHymdDo != null">ONE_HYMD_DO = #{oneHymdDo},</if>
+            <if test="twoHyzdDo != null">TWO_HYZD_DO = #{twoHyzdDo},</if>
+            <if test="twoHymdDo != null">TWO_HYMD_DO = #{twoHymdDo},</if>
+            <if test="oneMlss != null">ONE_MLSS = #{oneMlss},</if>
+            <if test="twoMlss != null">TWO_MLSS = #{twoMlss},</if>
+            <if test="jsTds != null">JS_TDS = #{jsTds},</if>
+            <if test="jsSlq != null">JS_SLQ = #{jsSlq},</if>
+            <if test="nHlbOneGp != null">N_HLB_ONE_GP = #{nHlbOneGp},</if>
+            <if test="nHlbTwoGp != null">N_HLB_TWO_GP = #{nHlbTwoGp},</if>
+            <if test="nHlbThreeGp != null">N_HLB_THREE_GP = #{nHlbThreeGp},</if>
+            <if test="nHlbFourGp != null">N_HLB_FOUR_GP = #{nHlbFourGp},</if>
+            <if test="nhlBFiveGp != null">NHL_B_FIVE_GP = #{nhlBFiveGp},</if>
+            <if test="nHlbSixGp != null">N_HLB_SIX_GP = #{nHlbSixGp},</if>
+            <if test="wHlbOneGp != null">W_HLB_ONE_GP = #{wHlbOneGp},</if>
+            <if test="wHlbTwoGp != null">W_HLB_TWO_GP = #{wHlbTwoGp},</if>
+            <if test="wHlbThreeGp != null">W_HLB_THREE_GP = #{wHlbThreeGp},</if>
+            <if test="wHlbFourGp != null">W_HLB_FOUR_GP = #{wHlbFourGp},</if>
+            <if test="wHlbFiveGp != null">W_HLB_FIVE_GP = #{wHlbFiveGp},</if>
+            <if test="fjOne != null">FJ_ONE = #{fjOne},</if>
+            <if test="fjTwo != null">FJ_TWO = #{fjTwo},</if>
+            <if test="fjThree != null">FJ_THREE = #{fjThree},</if>
+            <if test="fjFour != null">FJ_FOUR = #{fjFour},</if>
+            <if test="fjFive != null">FJ_FIVE = #{fjFive},</if>
+            <if test="fjSix != null">FJ_SIX = #{fjSix},</if>
+            <if test="kqllOne != null">KQLL_ONE = #{kqllOne},</if>
+            <if test="kqllTwo != null">KQLL_TWO = #{kqllTwo},</if>
+            <if test="kqllThree != null">KQLL_THREE = #{kqllThree},</if>
+            <if test="kqllFour != null">KQLL_FOUR = #{kqllFour},</if>
+            <if test="kqllFive != null">KQLL_FIVE = #{kqllFive},</if>
+            <if test="kqllSix != null">KQLL_SIX = #{kqllSix},</if>
+            <if test="SJTYJLY != null">SJTYJLY = #{SJTYJLY},</if>
+            <if test="CLJYSSLL != null">CLJYSSLL = #{CLJYSSLL},</if>
+            <if test="createdTime != null">CREATED_TIME = #{createdTime},</if>
+        </trim>
+        ,revision = revision + 1
+        where ID = #{ID}
+    </update>
+
+    
+
+    <delete id="deleteTXinyiIndustryByID" parameterType="Long">
+        update t_xinyi_industry set del_flag = 2,revision = revision + 1 where del_flag = 0 and ID = #{ID}
+    </delete>
+
+    <delete id="deleteTXinyiIndustryByIDs" parameterType="String">
+        update t_xinyi_industry set del_flag = 2,revision = revision + 1 where del_flag = 0 and ID in
+        <foreach item="ID" collection="array" open="(" separator="," close=")">
+            #{ID}
+        </foreach>
+    </delete>
+
+
+    <select id="getUniqueTXinyiIndustry" resultMap="TXinyiIndustryResult">
+        <include refid="selectTXinyiIndustryVo"/>
+        where TEST_TIME = #{testTime}
+    </select>
+</mapper>

+ 116 - 0
slibra-system/src/main/resources/mapper/business/TXinyiLaboratoryMapper.xml

@@ -0,0 +1,116 @@
+<?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.slibra.business.mapper.TXinyiLaboratoryMapper">
+    
+    <resultMap type="TXinyiLaboratory" id="TXinyiLaboratoryResult">
+        <result property="ID"    column="ID"    />
+        <result property="testTime"    column="TEST_TIME"    />
+        <result property="oneHycxsy"    column="ONE_HYCXSY"    />
+        <result property="twoHycxsy"    column="TWO_HYCXSY"    />
+        <result property="oneQyckxsy"    column="ONE_QYCKXSY"    />
+        <result property="twoQyckxsy"    column="TWO_QYCKXSY"    />
+        <result property="ZL"    column="ZL"    />
+        <result property="oneHyZlsy"    column="ONE_HY_ZLSY"    />
+        <result property="twoHyZlsy"    column="TWO_HY_ZLSY"    />
+        <result property="oneQyad"    column="ONE_QYAD"    />
+        <result property="twoQyad"    column="TWO_QYAD"    />
+        <result property="createdTime"    column="CREATED_TIME"    />
+    </resultMap>
+
+    <sql id="selectTXinyiLaboratoryVo">
+        select ID, TEST_TIME, ONE_HYCXSY, TWO_HYCXSY, ONE_QYCKXSY, TWO_QYCKXSY, ZL, ONE_HY_ZLSY, TWO_HY_ZLSY, ONE_QYAD, TWO_QYAD, CREATED_TIME from t_xinyi_laboratory
+    </sql>
+
+    <select id="selectTXinyiLaboratoryList" parameterType="TXinyiLaboratory" resultMap="TXinyiLaboratoryResult">
+        <include refid="selectTXinyiLaboratoryVo"/>
+        <where>
+            1 = 1
+            <if test="testTime != null  and testTime != ''"> and TEST_TIME = #{testTime}</if>
+            <if test="oneHycxsy != null "> and ONE_HYCXSY = #{oneHycxsy}</if>
+            <if test="twoHycxsy != null "> and TWO_HYCXSY = #{twoHycxsy}</if>
+            <if test="oneQyckxsy != null "> and ONE_QYCKXSY = #{oneQyckxsy}</if>
+            <if test="twoQyckxsy != null "> and TWO_QYCKXSY = #{twoQyckxsy}</if>
+            <if test="ZL != null "> and ZL = #{ZL}</if>
+            <if test="oneHyZlsy != null "> and ONE_HY_ZLSY = #{oneHyZlsy}</if>
+            <if test="twoHyZlsy != null "> and TWO_HY_ZLSY = #{twoHyZlsy}</if>
+            <if test="oneQyad != null "> and ONE_QYAD = #{oneQyad}</if>
+            <if test="twoQyad != null "> and TWO_QYAD = #{twoQyad}</if>
+            <if test="createdTime != null "> and CREATED_TIME = #{createdTime}</if>
+        </where>
+        and del_flag = 0
+    </select>
+    
+    <select id="selectTXinyiLaboratoryByID" parameterType="Long" resultMap="TXinyiLaboratoryResult">
+        <include refid="selectTXinyiLaboratoryVo"/>
+        where ID = #{ID} and del_flag = 0
+    </select>
+        
+    <insert id="insertTXinyiLaboratory" parameterType="TXinyiLaboratory" useGeneratedKeys="true" keyProperty="ID">
+        insert into t_xinyi_laboratory
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="testTime != null and testTime != ''">TEST_TIME,</if>
+            <if test="oneHycxsy != null">ONE_HYCXSY,</if>
+            <if test="twoHycxsy != null">TWO_HYCXSY,</if>
+            <if test="oneQyckxsy != null">ONE_QYCKXSY,</if>
+            <if test="twoQyckxsy != null">TWO_QYCKXSY,</if>
+            <if test="ZL != null">ZL,</if>
+            <if test="oneHyZlsy != null">ONE_HY_ZLSY,</if>
+            <if test="twoHyZlsy != null">TWO_HY_ZLSY,</if>
+            <if test="oneQyad != null">ONE_QYAD,</if>
+            <if test="twoQyad != null">TWO_QYAD,</if>
+            <if test="createdTime != null">CREATED_TIME,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="testTime != null and testTime != ''">#{testTime},</if>
+            <if test="oneHycxsy != null">#{oneHycxsy},</if>
+            <if test="twoHycxsy != null">#{twoHycxsy},</if>
+            <if test="oneQyckxsy != null">#{oneQyckxsy},</if>
+            <if test="twoQyckxsy != null">#{twoQyckxsy},</if>
+            <if test="ZL != null">#{ZL},</if>
+            <if test="oneHyZlsy != null">#{oneHyZlsy},</if>
+            <if test="twoHyZlsy != null">#{twoHyZlsy},</if>
+            <if test="oneQyad != null">#{oneQyad},</if>
+            <if test="twoQyad != null">#{twoQyad},</if>
+            <if test="createdTime != null">#{createdTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTXinyiLaboratory" parameterType="TXinyiLaboratory">
+        update t_xinyi_laboratory
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="testTime != null and testTime != ''">TEST_TIME = #{testTime},</if>
+            <if test="oneHycxsy != null">ONE_HYCXSY = #{oneHycxsy},</if>
+            <if test="twoHycxsy != null">TWO_HYCXSY = #{twoHycxsy},</if>
+            <if test="oneQyckxsy != null">ONE_QYCKXSY = #{oneQyckxsy},</if>
+            <if test="twoQyckxsy != null">TWO_QYCKXSY = #{twoQyckxsy},</if>
+            <if test="ZL != null">ZL = #{ZL},</if>
+            <if test="oneHyZlsy != null">ONE_HY_ZLSY = #{oneHyZlsy},</if>
+            <if test="twoHyZlsy != null">TWO_HY_ZLSY = #{twoHyZlsy},</if>
+            <if test="oneQyad != null">ONE_QYAD = #{oneQyad},</if>
+            <if test="twoQyad != null">TWO_QYAD = #{twoQyad},</if>
+            <if test="createdTime != null">CREATED_TIME = #{createdTime},</if>
+        </trim>
+        where ID = #{ID}
+    </update>
+
+    
+
+    <delete id="deleteTXinyiLaboratoryByID" parameterType="Long">
+        update t_xinyi_laboratory set del_flag = 2,revision = revision + 1 where del_flag = 0 and ID = #{ID}
+    </delete>
+
+    <delete id="deleteTXinyiLaboratoryByIDs" parameterType="String">
+        update t_xinyi_laboratory set del_flag = 2,revision = revision + 1 where del_flag = 0 and ID in
+        <foreach item="ID" collection="array" open="(" separator="," close=")">
+            #{ID}
+        </foreach>
+    </delete>
+
+
+    <select id="getUniqueByDate"  resultMap="TXinyiLaboratoryResult">
+        <include refid="selectTXinyiLaboratoryVo"/>
+        where TEST_TIME =#{date}
+    </select>
+</mapper>

+ 85 - 0
slibra-system/src/main/resources/mapper/business/TXinyiPhosphorusMapper.xml

@@ -0,0 +1,85 @@
+<?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.slibra.business.mapper.TXinyiPhosphorusMapper">
+    
+    <resultMap type="TXinyiPhosphorus" id="TXinyiPhosphorusResult">
+        <result property="ID"    column="ID"    />
+        <result property="testDate"    column="TEST_DATE"    />
+        <result property="testTime"    column="TEST_TIME"    />
+        <result property="ECC"    column="ECC"    />
+        <result property="YHHL"    column="YHHL"    />
+        <result property="EHHL"    column="EHHL"    />
+        <result property="createdTime"    column="CREATED_TIME"    />
+    </resultMap>
+
+    <sql id="selectTXinyiPhosphorusVo">
+        select ID, TEST_DATE, TEST_TIME, ECC, YHHL, EHHL, CREATED_TIME from t_xinyi_phosphorus
+    </sql>
+
+    <select id="selectTXinyiPhosphorusList" parameterType="TXinyiPhosphorus" resultMap="TXinyiPhosphorusResult">
+        <include refid="selectTXinyiPhosphorusVo"/>
+        <where>
+            1 = 1
+            <if test="testDate != null  and testDate != ''"> and TEST_DATE = #{testDate}</if>
+            <if test="testTime != null  and testTime != ''"> and TEST_TIME = #{testTime}</if>
+            <if test="ECC != null "> and ECC = #{ECC}</if>
+            <if test="YHHL != null "> and YHHL = #{YHHL}</if>
+            <if test="EHHL != null "> and EHHL = #{EHHL}</if>
+            <if test="createdTime != null "> and CREATED_TIME = #{createdTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectTXinyiPhosphorusByID" parameterType="Long" resultMap="TXinyiPhosphorusResult">
+        <include refid="selectTXinyiPhosphorusVo"/>
+        where ID = #{ID}
+    </select>
+        
+    <insert id="insertTXinyiPhosphorus" parameterType="TXinyiPhosphorus" useGeneratedKeys="true" keyProperty="ID">
+        insert into t_xinyi_phosphorus
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="testDate != null">TEST_DATE,</if>
+            <if test="testTime != null">TEST_TIME,</if>
+            <if test="ECC != null">ECC,</if>
+            <if test="YHHL != null">YHHL,</if>
+            <if test="EHHL != null">EHHL,</if>
+            <if test="createdTime != null">CREATED_TIME,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="testDate != null">#{testDate},</if>
+            <if test="testTime != null">#{testTime},</if>
+            <if test="ECC != null">#{ECC},</if>
+            <if test="YHHL != null">#{YHHL},</if>
+            <if test="EHHL != null">#{EHHL},</if>
+            <if test="createdTime != null">#{createdTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTXinyiPhosphorus" parameterType="TXinyiPhosphorus">
+        update t_xinyi_phosphorus
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="testDate != null">TEST_DATE = #{testDate},</if>
+            <if test="testTime != null">TEST_TIME = #{testTime},</if>
+            <if test="ECC != null">ECC = #{ECC},</if>
+            <if test="YHHL != null">YHHL = #{YHHL},</if>
+            <if test="EHHL != null">EHHL = #{EHHL},</if>
+            <if test="createdTime != null">CREATED_TIME = #{createdTime},</if>
+        </trim>
+        ,revision = revision + 1
+        where ID = #{ID}
+    </update>
+
+    
+
+    <delete id="deleteTXinyiPhosphorusByID" parameterType="Long">
+        update t_xinyi_phosphorus set del_flag = 2,revision = revision + 1 where del_flag = 0 and ID = #{ID}
+    </delete>
+
+    <delete id="deleteTXinyiPhosphorusByIDs" parameterType="String">
+        update t_xinyi_phosphorus set del_flag = 2,revision = revision + 1 where del_flag = 0 and ID in
+        <foreach item="ID" collection="array" open="(" separator="," close=")">
+            #{ID}
+        </foreach>
+    </delete>
+</mapper>

+ 187 - 0
slibra-system/src/main/resources/mapper/business/TXinyiRobotMapper.xml

@@ -0,0 +1,187 @@
+<?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.slibra.business.mapper.TXinyiRobotMapper">
+    
+    <resultMap type="TXinyiRobot" id="TXinyiRobotResult">
+        <result property="vDate"    column="V_DATE"    />
+        <result property="vTime"    column="V_TIME"    />
+        <result property="codYb"    column="COD_YB"    />
+        <result property="codJqr"    column="COD_JQR"    />
+        <result property="codYz"    column="COD_YZ"    />
+        <result property="tpHl1Jqr"    column="TP_HL1_JQR"    />
+        <result property="tpHl2Jqr"    column="TP_HL2_JQR"    />
+        <result property="tpRccJqr"    column="TP_RCC_JQR"    />
+        <result property="tp1Yz"    column="TP_1_YZ"    />
+        <result property="tp2Yz"    column="TP_2_YZ"    />
+        <result property="tpRccYz"    column="TP_RCC_YZ"    />
+        <result property="nh31Jqr"    column="NH3_1_JQR"    />
+        <result property="nh32Jqr"    column="NH3_2_JQR"    />
+        <result property="nh31Yz"    column="NH3_1_YZ"    />
+        <result property="no3Hlc1Yz"    column="NO3_HLC1_YZ"    />
+        <result property="nh32Yz"    column="NH3_2_YZ"    />
+        <result property="no3Hlc2Yz"    column="NO3_HLC2_YZ"    />
+        <result property="no3Hlj1Jqr"    column="NO3_HLJ1_JQR"    />
+        <result property="no3Hlj2Jqr"    column="NO3_HLJ2_JQR"    />
+        <result property="TYLL"    column="TYLL"    />
+        <result property="no3Qyc1Jqr"    column="NO3_QYC_1_JQR"    />
+        <result property="no3Qyc2Jqr"    column="NO3_QYC_2_JQR"    />
+        <result property="no3Qyc1Yz"    column="NO3_QYC_1_YZ"    />
+        <result property="no3Qyc2Yz"    column="NO3_QYC_2_YZ"    />
+        <result property="JSLL"    column="JSLL"    />
+    </resultMap>
+
+    <sql id="selectTXinyiRobotVo">
+        select V_DATE, V_TIME, COD_YB, COD_JQR, COD_YZ, TP_HL1_JQR, TP_HL2_JQR, TP_RCC_JQR, TP_1_YZ, TP_2_YZ, TP_RCC_YZ, NH3_1_JQR, NH3_2_JQR, NH3_1_YZ, NO3_HLC1_YZ, NH3_2_YZ, NO3_HLC2_YZ, NO3_HLJ1_JQR, NO3_HLJ2_JQR, TYLL, NO3_QYC_1_JQR, NO3_QYC_2_JQR, NO3_QYC_1_YZ, NO3_QYC_2_YZ, JSLL from V_SHUJU
+    </sql>
+
+    <select id="selectTXinyiRobotList" parameterType="TXinyiRobot" resultMap="TXinyiRobotResult">
+        <include refid="selectTXinyiRobotVo"/>
+        <where>
+            1 = 1
+            <if test="vDate != null  and vDate != ''"> and V_DATE = #{vDate}</if>
+            <if test="vTime != null  and vTime != ''"> and V_TIME = #{vTime}</if>
+            <if test="vDateTime != null  and vDateTime != ''"> and V_DATE_TIME = #{vDateTime}</if>
+            <if test="codYb != null "> and COD_YB = #{codYb}</if>
+            <if test="codJqr != null "> and COD_JQR = #{codJqr}</if>
+            <if test="codYz != null "> and COD_YZ = #{codYz}</if>
+            <if test="tpHl1Jqr != null "> and TP_HL1_JQR = #{tpHl1Jqr}</if>
+            <if test="tpHl2Jqr != null "> and TP_HL2_JQR = #{tpHl2Jqr}</if>
+            <if test="tpRccJqr != null "> and TP_RCC_JQR = #{tpRccJqr}</if>
+            <if test="tp1Yz != null "> and TP_1_YZ = #{tp1Yz}</if>
+            <if test="tp2Yz != null "> and TP_2_YZ = #{tp2Yz}</if>
+            <if test="tpRccYz != null "> and TP_RCC_YZ = #{tpRccYz}</if>
+            <if test="nh31Jqr != null "> and NH3_1_JQR = #{nh31Jqr}</if>
+            <if test="nh32Jqr != null "> and NH3_2_JQR = #{nh32Jqr}</if>
+            <if test="nh31Yz != null "> and NH3_1_YZ = #{nh31Yz}</if>
+            <if test="no3Hlc1Yz != null "> and NO3_HLC1_YZ = #{no3Hlc1Yz}</if>
+            <if test="nh32Yz != null "> and NH3_2_YZ = #{nh32Yz}</if>
+            <if test="no3Hlc2Yz != null "> and NO3_HLC2_YZ = #{no3Hlc2Yz}</if>
+            <if test="no3Hlj1Jqr != null "> and NO3_HLJ1_JQR = #{no3Hlj1Jqr}</if>
+            <if test="no3Hlj2Jqr != null "> and NO3_HLJ2_JQR = #{no3Hlj2Jqr}</if>
+            <if test="TYLL != null "> and TYLL = #{TYLL}</if>
+            <if test="no3Qyc1Jqr != null "> and NO3_QYC_1_JQR = #{no3Qyc1Jqr}</if>
+            <if test="no3Qyc2Jqr != null "> and NO3_QYC_2_JQR = #{no3Qyc2Jqr}</if>
+            <if test="no3Qyc1Yz != null "> and NO3_QYC_1_YZ = #{no3Qyc1Yz}</if>
+            <if test="no3Qyc2Yz != null "> and NO3_QYC_2_YZ = #{no3Qyc2Yz}</if>
+            <if test="JSLL != null "> and JSLL = #{JSLL}</if>
+            <if test="createdTime != null "> and CREATED_TIME = #{createdTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectTXinyiRobotByID" parameterType="Long" resultMap="TXinyiRobotResult">
+        <include refid="selectTXinyiRobotVo"/>
+        where ID = #{ID} and del_flag = 0
+    </select>
+        
+    <insert id="insertTXinyiRobot" parameterType="TXinyiRobot" useGeneratedKeys="true" keyProperty="ID">
+        insert into t_xinyi_robot
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="vDate != null">V_DATE,</if>
+            <if test="vTime != null">V_TIME,</if>
+            <if test="vDateTime != null">V_DATE_TIME,</if>
+            <if test="codYb != null">COD_YB,</if>
+            <if test="codJqr != null">COD_JQR,</if>
+            <if test="codYz != null">COD_YZ,</if>
+            <if test="tpHl1Jqr != null">TP_HL1_JQR,</if>
+            <if test="tpHl2Jqr != null">TP_HL2_JQR,</if>
+            <if test="tpRccJqr != null">TP_RCC_JQR,</if>
+            <if test="tp1Yz != null">TP_1_YZ,</if>
+            <if test="tp2Yz != null">TP_2_YZ,</if>
+            <if test="tpRccYz != null">TP_RCC_YZ,</if>
+            <if test="nh31Jqr != null">NH3_1_JQR,</if>
+            <if test="nh32Jqr != null">NH3_2_JQR,</if>
+            <if test="nh31Yz != null">NH3_1_YZ,</if>
+            <if test="no3Hlc1Yz != null">NO3_HLC1_YZ,</if>
+            <if test="nh32Yz != null">NH3_2_YZ,</if>
+            <if test="no3Hlc2Yz != null">NO3_HLC2_YZ,</if>
+            <if test="no3Hlj1Jqr != null">NO3_HLJ1_JQR,</if>
+            <if test="no3Hlj2Jqr != null">NO3_HLJ2_JQR,</if>
+            <if test="TYLL != null">TYLL,</if>
+            <if test="no3Qyc1Jqr != null">NO3_QYC_1_JQR,</if>
+            <if test="no3Qyc2Jqr != null">NO3_QYC_2_JQR,</if>
+            <if test="no3Qyc1Yz != null">NO3_QYC_1_YZ,</if>
+            <if test="no3Qyc2Yz != null">NO3_QYC_2_YZ,</if>
+            <if test="JSLL != null">JSLL,</if>
+            <if test="createdTime != null">CREATED_TIME,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="vDate != null">#{vDate},</if>
+            <if test="vTime != null">#{vTime},</if>
+            <if test="vDateTime != null">#{vDateTime},</if>
+            <if test="codYb != null">#{codYb},</if>
+            <if test="codJqr != null">#{codJqr},</if>
+            <if test="codYz != null">#{codYz},</if>
+            <if test="tpHl1Jqr != null">#{tpHl1Jqr},</if>
+            <if test="tpHl2Jqr != null">#{tpHl2Jqr},</if>
+            <if test="tpRccJqr != null">#{tpRccJqr},</if>
+            <if test="tp1Yz != null">#{tp1Yz},</if>
+            <if test="tp2Yz != null">#{tp2Yz},</if>
+            <if test="tpRccYz != null">#{tpRccYz},</if>
+            <if test="nh31Jqr != null">#{nh31Jqr},</if>
+            <if test="nh32Jqr != null">#{nh32Jqr},</if>
+            <if test="nh31Yz != null">#{nh31Yz},</if>
+            <if test="no3Hlc1Yz != null">#{no3Hlc1Yz},</if>
+            <if test="nh32Yz != null">#{nh32Yz},</if>
+            <if test="no3Hlc2Yz != null">#{no3Hlc2Yz},</if>
+            <if test="no3Hlj1Jqr != null">#{no3Hlj1Jqr},</if>
+            <if test="no3Hlj2Jqr != null">#{no3Hlj2Jqr},</if>
+            <if test="TYLL != null">#{TYLL},</if>
+            <if test="no3Qyc1Jqr != null">#{no3Qyc1Jqr},</if>
+            <if test="no3Qyc2Jqr != null">#{no3Qyc2Jqr},</if>
+            <if test="no3Qyc1Yz != null">#{no3Qyc1Yz},</if>
+            <if test="no3Qyc2Yz != null">#{no3Qyc2Yz},</if>
+            <if test="JSLL != null">#{JSLL},</if>
+            <if test="createdTime != null">#{createdTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTXinyiRobot" parameterType="TXinyiRobot">
+        update t_xinyi_robot
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="vDate != null">V_DATE = #{vDate},</if>
+            <if test="vTime != null">V_TIME = #{vTime},</if>
+            <if test="vDateTime != null">V_DATE_TIME = #{vDateTime},</if>
+            <if test="codYb != null">COD_YB = #{codYb},</if>
+            <if test="codJqr != null">COD_JQR = #{codJqr},</if>
+            <if test="codYz != null">COD_YZ = #{codYz},</if>
+            <if test="tpHl1Jqr != null">TP_HL1_JQR = #{tpHl1Jqr},</if>
+            <if test="tpHl2Jqr != null">TP_HL2_JQR = #{tpHl2Jqr},</if>
+            <if test="tpRccJqr != null">TP_RCC_JQR = #{tpRccJqr},</if>
+            <if test="tp1Yz != null">TP_1_YZ = #{tp1Yz},</if>
+            <if test="tp2Yz != null">TP_2_YZ = #{tp2Yz},</if>
+            <if test="tpRccYz != null">TP_RCC_YZ = #{tpRccYz},</if>
+            <if test="nh31Jqr != null">NH3_1_JQR = #{nh31Jqr},</if>
+            <if test="nh32Jqr != null">NH3_2_JQR = #{nh32Jqr},</if>
+            <if test="nh31Yz != null">NH3_1_YZ = #{nh31Yz},</if>
+            <if test="no3Hlc1Yz != null">NO3_HLC1_YZ = #{no3Hlc1Yz},</if>
+            <if test="nh32Yz != null">NH3_2_YZ = #{nh32Yz},</if>
+            <if test="no3Hlc2Yz != null">NO3_HLC2_YZ = #{no3Hlc2Yz},</if>
+            <if test="no3Hlj1Jqr != null">NO3_HLJ1_JQR = #{no3Hlj1Jqr},</if>
+            <if test="no3Hlj2Jqr != null">NO3_HLJ2_JQR = #{no3Hlj2Jqr},</if>
+            <if test="TYLL != null">TYLL = #{TYLL},</if>
+            <if test="no3Qyc1Jqr != null">NO3_QYC_1_JQR = #{no3Qyc1Jqr},</if>
+            <if test="no3Qyc2Jqr != null">NO3_QYC_2_JQR = #{no3Qyc2Jqr},</if>
+            <if test="no3Qyc1Yz != null">NO3_QYC_1_YZ = #{no3Qyc1Yz},</if>
+            <if test="no3Qyc2Yz != null">NO3_QYC_2_YZ = #{no3Qyc2Yz},</if>
+            <if test="JSLL != null">JSLL = #{JSLL},</if>
+            <if test="createdTime != null">CREATED_TIME = #{createdTime},</if>
+        </trim>
+        ,revision = revision + 1
+        where ID = #{ID}
+    </update>
+
+    
+
+    <delete id="deleteTXinyiRobotByID" parameterType="Long">
+        update t_xinyi_robot set del_flag = 2,revision = revision + 1 where del_flag = 0 and ID = #{ID}
+    </delete>
+
+    <delete id="deleteTXinyiRobotByIDs" parameterType="String">
+        update t_xinyi_robot set del_flag = 2,revision = revision + 1 where del_flag = 0 and ID in
+        <foreach item="ID" collection="array" open="(" separator="," close=")">
+            #{ID}
+        </foreach>
+    </delete>
+</mapper>