Forráskód Böngészése

保存工业库数据时 同时也保存计算的数据

wangmiaomiao 10 hónapja
szülő
commit
c7b87c8e62

+ 28 - 0
slibra-common/src/main/java/com/slibra/common/constant/MyConstants.java

@@ -1,5 +1,7 @@
 package com.slibra.common.constant;
 
+import java.math.BigDecimal;
+
 public class MyConstants {
 
     public static final String QI_NIU_YUN_UPLOAD_URL = "userupload/";
@@ -7,6 +9,32 @@ public class MyConstants {
 
     //报警计算使用的比例  默认是1.1倍
     public static final String SCALE_VALUE = "1.1";
+    public static final String F_M_LAST = "77239.86";
+    public static final String ONE_DAY_HOURS = "24";
+    public static final String YYQ_TLSJ_FIRST = "8220";
+    public static final String QYQ_TLSJ_FIRST = "30283.20";
+    public static final String HYQ_TLSJ_FIRST = "38736.66";
+    public static final String NUMBER_97119 = "97119";
+    public static final String NUMBER_4 = "4";
+    public static final String NUMBER_0_0_0_3 = "0.003";
+    public static final String NUMBER_3600 = "3600";
+    public static final String NUMBER_24 = "24";
+    public static final String NUMBER_2 = "2";
+    public static final Double DOUBLE_75 = 75D;
+    public static final int NUMBER_SCALE_4 = 4;
+    public static final BigDecimal GSLSONE_LAST = BigDecimal.valueOf(0.02 * 1.3 * 40 * 2);
+    public static final BigDecimal GSLSTWO_LAST = BigDecimal.valueOf(0.016 * 1.1 * 41 * 2);
+    public static final BigDecimal GSLS_XGS_LAST = BigDecimal.valueOf(Math.PI * 0.003 * 0.003 * 4 * 97119);
+    public static final BigDecimal GSLS_LAST = BigDecimal.valueOf(3600 * 4 *(Math.PI * 0.003 * 0.003 * 4 * 97119));
+    public static final BigDecimal XLCSCBMFH_LAST = BigDecimal.valueOf(4 * Math.PI * 4.4 * 4.4 / 4);
+    public static final BigDecimal XLCSCHRT_LAST = BigDecimal.valueOf(4 * (Math.PI * 4.4 * 4.4 / 4 * 1.45));
+    public static final BigDecimal CCCDCBMFH_LAST = BigDecimal.valueOf(2 * Math.PI * 38 * 38 / 4);
+    public static final BigDecimal CCCDCHRT_LAST = BigDecimal.valueOf(2 * (Math.PI * 38 * 38 / 4 * 4.5));
+    public static final BigDecimal ECCBMFH_LAST = BigDecimal.valueOf(2 * Math.PI * 52 * 52 / 4);
+    public static final BigDecimal ECCHRT_LAST = BigDecimal.valueOf(2 * (Math.PI * 52 * 52 / 4 * 4.8));
+    public static final BigDecimal ECCGTFH_LAST = BigDecimal.valueOf(2 * Math.PI * 52 * 52 / 4 * 1000);
+    public static final BigDecimal CLSNJCSJ_LAST = BigDecimal.valueOf(2938 * 60);
+    public static final BigDecimal XGCDCQSQSSLS_LAST = BigDecimal.valueOf(24 * 1000 / (10.9 * 2.9 * 86400));
 
     //温度的范围  超过该温度表示夏季;没有超过表示冬季
     public static final String TEMPERATURE_VALUE = "12";

+ 82 - 4
slibra-quartz/src/main/java/com/slibra/quartz/task/AsyncTask.java

@@ -4,10 +4,7 @@ import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONWriter;
 import com.google.protobuf.ByteString;
-import com.slibra.business.domain.TXinyiDaily;
-import com.slibra.business.domain.TXinyiIndustry;
-import com.slibra.business.domain.TXinyiNormConfig;
-import com.slibra.business.domain.TXinyiWarningRecord;
+import com.slibra.business.domain.*;
 import com.slibra.business.mapper.*;
 import com.slibra.business.req.ChatReq;
 import com.slibra.business.req.DecisionReq;
@@ -54,6 +51,9 @@ public class AsyncTask {
     @Autowired
     private TXinyiDailyMapper xinyiDailyMapper;
 
+    @Autowired
+    private TXinyiCalculateMapper xinyiCalculateMapper;
+
 
     /**
      *
@@ -70,6 +70,10 @@ public class AsyncTask {
             throw new RuntimeException("未查询到配置信息");
         TXinyiNormConfig normConfig = tXinyiNormConfigs.get(0);
 
+        //2024年6月7日15:26:44 把一些额外的计算的值,同时记录下来(xinyiCalculate对象在生化报警可能用的到)
+        TXinyiCalculate xinyiCalculate = this.addCalculateByIndustry(tXinyiIndustry, normConfig);
+        this.xinyiCalculateMapper.insertTXinyiCalculate(xinyiCalculate);
+
         //水质报警
         this.handleSZWarning(tXinyiIndustry, normConfig);
 
@@ -77,6 +81,74 @@ public class AsyncTask {
         this.handleSHWarning(tXinyiIndustry, normConfig);
     }
 
+    private TXinyiCalculate addCalculateByIndustry(TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig) {
+        TXinyiCalculate tXinyiCalculate = new TXinyiCalculate();
+        //时间相关
+        tXinyiCalculate.setTestDate(tXinyiIndustry.getTestDate());
+        tXinyiCalculate.setTestHour(tXinyiIndustry.getTestHour());
+        tXinyiCalculate.setTestTime(tXinyiIndustry.getTestTime());
+
+        //获取最新的一条日报信息
+        TXinyiDaily tXinyiDaily = this.xinyiDailyMapper.selectNewestData();
+        if(Objects.isNull(tXinyiDaily)){
+            //理论不会出现
+            log.error("没有日报数据");
+            return null;
+        }
+
+        BigDecimal jsBod5 = tXinyiDaily.getJsBod5();
+        BigDecimal csBod5 = tXinyiDaily.getCsBod5();
+        BigDecimal whlR = tXinyiDaily.getWhlR();
+        BigDecimal oneMlvss = tXinyiDaily.getShcHyOneMlvss();
+        BigDecimal twoMlvss = tXinyiDaily.getShcHyTwoMlvss();
+        BigDecimal avgMlvss = null;
+        if(!Objects.isNull(oneMlvss) && !Objects.isNull(twoMlvss))
+            avgMlvss = ((oneMlvss.add(twoMlvss)).divide(new BigDecimal(2),4, RoundingMode.HALF_UP));
+        BigDecimal jsTn = tXinyiIndustry.getJsTn();
+        BigDecimal jsTp = tXinyiIndustry.getJsTp();
+        BigDecimal jsCod = tXinyiIndustry.getJsCod();
+        BigDecimal jsSlq = tXinyiIndustry.getJsSlq();
+        BigDecimal oneMlss = tXinyiIndustry.getOneMlss();
+        BigDecimal twoMlss = tXinyiIndustry.getTwoMlss();
+        BigDecimal avgMlss = null;
+        if(!Objects.isNull(oneMlss) && !Objects.isNull(twoMlss))
+            avgMlss = ((oneMlss.add(twoMlss)).divide(new BigDecimal(NUMBER_2),NUMBER_SCALE_4, RoundingMode.HALF_UP));
+        //计算
+        if(!Objects.isNull(jsBod5)){
+            if(!Objects.isNull(jsTn) && jsTn.compareTo(BigDecimal.ZERO) > 0)
+                tXinyiCalculate.setJsTdb(jsBod5.divide(jsTn, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            if(!Objects.isNull(jsTp) && jsTp.compareTo(BigDecimal.ZERO) > 0)
+                tXinyiCalculate.setJsTlb(jsBod5.divide(jsTp, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            if(!Objects.isNull(jsCod) && jsCod.compareTo(BigDecimal.ZERO) > 0)
+                tXinyiCalculate.setJsBodBCod(jsBod5.divide(jsCod, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            if(!Objects.isNull(csBod5) && !Objects.isNull(avgMlss) && avgMlss.compareTo(BigDecimal.ZERO) > 0 && !Objects.isNull(jsSlq) && jsSlq.compareTo(BigDecimal.ZERO) > 0)
+                tXinyiCalculate.setFM(new BigDecimal(ONE_DAY_HOURS).multiply((jsBod5.subtract(csBod5))).multiply(jsSlq).divide(avgMlss, NUMBER_SCALE_4, RoundingMode.HALF_UP).divide(new BigDecimal(F_M_LAST), NUMBER_SCALE_4, RoundingMode.HALF_UP));
+        }
+        if(!Objects.isNull(avgMlss) && avgMlss.compareTo(BigDecimal.ZERO) > 0 && !Objects.isNull(avgMlvss) && avgMlvss.compareTo(BigDecimal.ZERO) > 0)
+            tXinyiCalculate.setHFXWNNDZB(avgMlvss.divide(avgMlss, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+        if(!Objects.isNull(jsSlq) && jsSlq.compareTo(BigDecimal.ZERO) > 0){
+            tXinyiCalculate.setYyqHrt(new BigDecimal(YYQ_TLSJ_FIRST).divide(jsSlq, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            tXinyiCalculate.setQyqHrt(new BigDecimal(QYQ_TLSJ_FIRST).divide(jsSlq, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            tXinyiCalculate.setHyqHrt(new BigDecimal(HYQ_TLSJ_FIRST).divide(jsSlq, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+//            tXinyiCalculate.setGSLS(jsSlq.divide(new BigDecimal(NUMBER_3600), NUMBER_SCALE_4, RoundingMode.HALF_UP).multiply(new BigDecimal(NUMBER_4)).divide((new BigDecimal(Math.PI).multiply(new BigDecimal(NUMBER_0_0_0_3)).multiply(new BigDecimal(NUMBER_0_0_0_3)).multiply(new BigDecimal(NUMBER_4)).multiply(new BigDecimal(NUMBER_4)).multiply(new BigDecimal(NUMBER_97119))) , NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            tXinyiCalculate.setGSLS(jsSlq.divide(GSLS_LAST, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            tXinyiCalculate.setGslsOne(jsSlq.divide(new BigDecimal(NUMBER_3600), NUMBER_SCALE_4, RoundingMode.HALF_UP).multiply(new BigDecimal(Math.sqrt(Math.sin(Math.toRadians(DOUBLE_75))))).divide(GSLSONE_LAST, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            tXinyiCalculate.setGslsTwo(jsSlq.divide(new BigDecimal(NUMBER_3600), NUMBER_SCALE_4, RoundingMode.HALF_UP).multiply(new BigDecimal(Math.sqrt(Math.sin(Math.toRadians(DOUBLE_75))))).divide(GSLSTWO_LAST, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            tXinyiCalculate.setXgsGsls(jsSlq.divide(new BigDecimal(NUMBER_3600), NUMBER_SCALE_4, RoundingMode.HALF_UP).multiply(new BigDecimal(NUMBER_4)).divide((GSLS_XGS_LAST) , NUMBER_SCALE_4, RoundingMode.HALF_UP));
+
+            tXinyiCalculate.setXlcscBmfh(jsSlq.divide(XLCSCBMFH_LAST, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            tXinyiCalculate.setXlcscHrt(XLCSCHRT_LAST.divide(jsSlq, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            tXinyiCalculate.setCccdcBmfh(jsSlq.divide(CCCDCBMFH_LAST, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            tXinyiCalculate.setCccdcHrt(CCCDCHRT_LAST.divide(jsSlq, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            tXinyiCalculate.setEccBmfh(jsSlq.divide(ECCBMFH_LAST, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            tXinyiCalculate.setEccHrt(ECCHRT_LAST.divide(jsSlq, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            tXinyiCalculate.setEccGtfh((new BigDecimal(1).add(whlR)).multiply(jsSlq).multiply(new BigDecimal(NUMBER_24)).multiply(avgMlss).divide(ECCGTFH_LAST, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            tXinyiCalculate.setClsnJcsj(CLSNJCSJ_LAST.divide(jsSlq, NUMBER_SCALE_4, RoundingMode.HALF_UP));
+            tXinyiCalculate.setXgcdcQsqSsls(jsSlq.multiply(XGCDCQSQSSLS_LAST));
+        }
+        return tXinyiCalculate;
+    }
+
     private void handleSHWarning(TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig) {
         //判断对应指标是否报警  然后调研大模型获取决策信息
         BigDecimal jsSlq = tXinyiIndustry.getJsSlq();
@@ -812,4 +884,10 @@ public class AsyncTask {
         chatReq.setCreateTime(DateUtils.getNowDate());
         this.xinyiChatRecordMapper.insertTXinyiChatRecord(chatReq);
     }
+
+
+    public static void main(String[] args) {
+        System.out.println(CCCDCHRT_LAST);
+        System.out.println(GSLS_LAST);
+    }
 }

+ 134 - 0
slibra-system/src/main/java/com/slibra/business/domain/TXinyiCalculate.java

@@ -0,0 +1,134 @@
+package com.slibra.business.domain;
+
+import java.math.BigDecimal;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+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_calculate
+ * 
+ * @author slibra
+ * @date 2024-06-07
+ */
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class TXinyiCalculate extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */
+    private Long id;
+
+    /** 日期(2024/05/04格式) */
+    @Excel(name = "日期", readConverterExp = "2=024/05/04格式")
+    private String testDate;
+
+    /** 小时(2024/05/04 19格式的) */
+    @Excel(name = "小时", readConverterExp = "2=024/05/04,1=9格式的")
+    private String testHour;
+
+    /** 化验时间(2024/05/29 22:00格式的) */
+    @Excel(name = "化验时间", readConverterExp = "2=024/05/29,2=2:00格式的")
+    private String testTime;
+
+    /** 进水碳氮比 */
+    @Excel(name = "进水碳氮比")
+    private BigDecimal jsTdb;
+
+    /** 进水碳磷比 */
+    @Excel(name = "进水碳磷比")
+    private BigDecimal jsTlb;
+
+    /** 进水BOD与COD比值(生化性) */
+    @Excel(name = "进水BOD与COD比值(生化性)")
+    private BigDecimal jsBodBCod;
+
+    /** 厌氧区停留时间 */
+    @Excel(name = "厌氧区停留时间")
+    private BigDecimal yyqHrt;
+
+    /** 缺氧区停留时间 */
+    @Excel(name = "缺氧区停留时间")
+    private BigDecimal qyqHrt;
+
+    /** 好氧区停留时间 */
+    @Excel(name = "好氧区停留时间")
+    private BigDecimal hyqHrt;
+
+    /** 挥发性污泥浓度占比 */
+    @Excel(name = "挥发性污泥浓度占比")
+    private BigDecimal HFXWNNDZB;
+
+    /** F/M(污泥负荷) */
+    @Excel(name = "F/M", readConverterExp = "污=泥负荷")
+    private BigDecimal fM;
+
+    /** 过栅流速 */
+    @Excel(name = "过栅流速")
+    private BigDecimal GSLS;
+
+    /** 第1道粗格栅过栅流速 */
+    @Excel(name = "第1道粗格栅过栅流速")
+    private BigDecimal gslsOne;
+
+    /** 第2道粗格栅过栅流速 */
+    @Excel(name = "第2道粗格栅过栅流速")
+    private BigDecimal gslsTwo;
+
+    /** 细格栅过栅流速 */
+    @Excel(name = "细格栅过栅流速")
+    private BigDecimal xgsGsls;
+
+    /** 旋流沉砂池表面负荷 */
+    @Excel(name = "旋流沉砂池表面负荷")
+    private BigDecimal xlcscBmfh;
+
+    /** 旋流沉砂池停留时间 */
+    @Excel(name = "旋流沉砂池停留时间")
+    private BigDecimal xlcscHrt;
+
+    /** 初次沉淀池表面负荷 */
+    @Excel(name = "初次沉淀池表面负荷")
+    private BigDecimal cccdcBmfh;
+
+    /** 初次沉淀池停留时间 */
+    @Excel(name = "初次沉淀池停留时间")
+    private BigDecimal cccdcHrt;
+
+    /** 二沉池表面负荷 */
+    @Excel(name = "二沉池表面负荷")
+    private BigDecimal eccBmfh;
+
+    /** 二沉池停留时间 */
+    @Excel(name = "二沉池停留时间")
+    private BigDecimal eccHrt;
+
+    /** 二沉池固体负荷 */
+    @Excel(name = "二沉池固体负荷")
+    private BigDecimal eccGtfh;
+
+    /** 次氯酸钠接触时间 */
+    @Excel(name = "次氯酸钠接触时间")
+    private BigDecimal clsnJcsj;
+
+    /** 斜管沉淀池清水区上升流速 */
+    @Excel(name = "斜管沉淀池清水区上升流速")
+    private BigDecimal xgcdcQsqSsls;
+
+    /** 删除标志(0代表存在 2代表删除) */
+    private Long delFlag;
+
+    /** 乐观锁 */
+    @Excel(name = "乐观锁")
+    private Long revision;
+}

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

@@ -0,0 +1,61 @@
+package com.slibra.business.mapper;
+
+import java.util.List;
+import com.slibra.business.domain.TXinyiCalculate;
+
+/**
+ * 信义计算数据Mapper接口
+ * 
+ * @author slibra
+ * @date 2024-06-07
+ */
+public interface TXinyiCalculateMapper 
+{
+    /**
+     * 查询信义计算数据
+     * 
+     * @param id 信义计算数据主键
+     * @return 信义计算数据
+     */
+    public TXinyiCalculate selectTXinyiCalculateById(Long id);
+
+    /**
+     * 查询信义计算数据列表
+     * 
+     * @param tXinyiCalculate 信义计算数据
+     * @return 信义计算数据集合
+     */
+    public List<TXinyiCalculate> selectTXinyiCalculateList(TXinyiCalculate tXinyiCalculate);
+
+    /**
+     * 新增信义计算数据
+     * 
+     * @param tXinyiCalculate 信义计算数据
+     * @return 结果
+     */
+    public int insertTXinyiCalculate(TXinyiCalculate tXinyiCalculate);
+
+    /**
+     * 修改信义计算数据
+     * 
+     * @param tXinyiCalculate 信义计算数据
+     * @return 结果
+     */
+    public int updateTXinyiCalculate(TXinyiCalculate tXinyiCalculate);
+
+    /**
+     * 删除信义计算数据
+     * 
+     * @param id 信义计算数据主键
+     * @return 结果
+     */
+    public int deleteTXinyiCalculateById(Long id);
+
+    /**
+     * 批量删除信义计算数据
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteTXinyiCalculateByIds(Long[] ids);
+}

+ 61 - 0
slibra-system/src/main/java/com/slibra/business/service/ITXinyiCalculateService.java

@@ -0,0 +1,61 @@
+package com.slibra.business.service;
+
+import java.util.List;
+import com.slibra.business.domain.TXinyiCalculate;
+
+/**
+ * 信义计算数据Service接口
+ * 
+ * @author slibra
+ * @date 2024-06-07
+ */
+public interface ITXinyiCalculateService 
+{
+    /**
+     * 查询信义计算数据
+     * 
+     * @param id 信义计算数据主键
+     * @return 信义计算数据
+     */
+    public TXinyiCalculate selectTXinyiCalculateById(Long id);
+
+    /**
+     * 查询信义计算数据列表
+     * 
+     * @param tXinyiCalculate 信义计算数据
+     * @return 信义计算数据集合
+     */
+    public List<TXinyiCalculate> selectTXinyiCalculateList(TXinyiCalculate tXinyiCalculate);
+
+    /**
+     * 新增信义计算数据
+     * 
+     * @param tXinyiCalculate 信义计算数据
+     * @return 结果
+     */
+    public int insertTXinyiCalculate(TXinyiCalculate tXinyiCalculate);
+
+    /**
+     * 修改信义计算数据
+     * 
+     * @param tXinyiCalculate 信义计算数据
+     * @return 结果
+     */
+    public int updateTXinyiCalculate(TXinyiCalculate tXinyiCalculate);
+
+    /**
+     * 批量删除信义计算数据
+     * 
+     * @param ids 需要删除的信义计算数据主键集合
+     * @return 结果
+     */
+    public int deleteTXinyiCalculateByIds(Long[] ids);
+
+    /**
+     * 删除信义计算数据信息
+     * 
+     * @param id 信义计算数据主键
+     * @return 结果
+     */
+    public int deleteTXinyiCalculateById(Long id);
+}

+ 96 - 0
slibra-system/src/main/java/com/slibra/business/service/impl/TXinyiCalculateServiceImpl.java

@@ -0,0 +1,96 @@
+package com.slibra.business.service.impl;
+
+import java.util.List;
+import com.slibra.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.slibra.business.mapper.TXinyiCalculateMapper;
+import com.slibra.business.domain.TXinyiCalculate;
+import com.slibra.business.service.ITXinyiCalculateService;
+
+/**
+ * 信义计算数据Service业务层处理
+ * 
+ * @author slibra
+ * @date 2024-06-07
+ */
+@Service
+public class TXinyiCalculateServiceImpl implements ITXinyiCalculateService 
+{
+    @Autowired
+    private TXinyiCalculateMapper tXinyiCalculateMapper;
+
+    /**
+     * 查询信义计算数据
+     * 
+     * @param id 信义计算数据主键
+     * @return 信义计算数据
+     */
+    @Override
+    public TXinyiCalculate selectTXinyiCalculateById(Long id)
+    {
+        return tXinyiCalculateMapper.selectTXinyiCalculateById(id);
+    }
+
+    /**
+     * 查询信义计算数据列表
+     * 
+     * @param tXinyiCalculate 信义计算数据
+     * @return 信义计算数据
+     */
+    @Override
+    public List<TXinyiCalculate> selectTXinyiCalculateList(TXinyiCalculate tXinyiCalculate)
+    {
+        return tXinyiCalculateMapper.selectTXinyiCalculateList(tXinyiCalculate);
+    }
+
+    /**
+     * 新增信义计算数据
+     * 
+     * @param tXinyiCalculate 信义计算数据
+     * @return 结果
+     */
+    @Override
+    public int insertTXinyiCalculate(TXinyiCalculate tXinyiCalculate)
+    {
+        tXinyiCalculate.setCreateTime(DateUtils.getNowDate());
+        return tXinyiCalculateMapper.insertTXinyiCalculate(tXinyiCalculate);
+    }
+
+    /**
+     * 修改信义计算数据
+     * 
+     * @param tXinyiCalculate 信义计算数据
+     * @return 结果
+     */
+    @Override
+    public int updateTXinyiCalculate(TXinyiCalculate tXinyiCalculate)
+    {
+        tXinyiCalculate.setUpdateTime(DateUtils.getNowDate());
+        return tXinyiCalculateMapper.updateTXinyiCalculate(tXinyiCalculate);
+    }
+
+    /**
+     * 批量删除信义计算数据
+     * 
+     * @param ids 需要删除的信义计算数据主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTXinyiCalculateByIds(Long[] ids)
+    {
+        return tXinyiCalculateMapper.deleteTXinyiCalculateByIds(ids);
+    }
+
+    /**
+     * 删除信义计算数据信息
+     * 
+     * @param id 信义计算数据主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTXinyiCalculateById(Long id)
+    {
+        return tXinyiCalculateMapper.deleteTXinyiCalculateById(id);
+    }
+}

+ 205 - 0
slibra-system/src/main/resources/mapper/business/TXinyiCalculateMapper.xml

@@ -0,0 +1,205 @@
+<?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.TXinyiCalculateMapper">
+    
+    <resultMap type="TXinyiCalculate" id="TXinyiCalculateResult">
+        <result property="id"    column="id"    />
+        <result property="testDate"    column="TEST_DATE"    />
+        <result property="testHour"    column="TEST_HOUR"    />
+        <result property="testTime"    column="TEST_TIME"    />
+        <result property="jsTdb"    column="JS_TDB"    />
+        <result property="jsTlb"    column="JS_TLB"    />
+        <result property="jsBodBCod"    column="JS_BOD_B_COD"    />
+        <result property="yyqHrt"    column="YYQ_HRT"    />
+        <result property="qyqHrt"    column="QYQ_HRT"    />
+        <result property="hyqHrt"    column="HYQ_HRT"    />
+        <result property="HFXWNNDZB"    column="HFXWNNDZB"    />
+        <result property="fM"    column="F_M"    />
+        <result property="GSLS"    column="GSLS"    />
+        <result property="gslsOne"    column="GSLS_ONE"    />
+        <result property="gslsTwo"    column="GSLS_TWO"    />
+        <result property="xgsGsls"    column="XGS_GSLS"    />
+        <result property="xlcscBmfh"    column="XLCSC_BMFH"    />
+        <result property="xlcscHrt"    column="XLCSC_HRT"    />
+        <result property="cccdcBmfh"    column="CCCDC_BMFH"    />
+        <result property="cccdcHrt"    column="CCCDC_HRT"    />
+        <result property="eccBmfh"    column="ECC_BMFH"    />
+        <result property="eccHrt"    column="ECC_HRT"    />
+        <result property="eccGtfh"    column="ECC_GTFH"    />
+        <result property="clsnJcsj"    column="CLSN_JCSJ"    />
+        <result property="xgcdcQsqSsls"    column="XGCDC_QSQ_SSLS"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="revision"    column="revision"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectTXinyiCalculateVo">
+        select id, TEST_DATE, TEST_HOUR, TEST_TIME, JS_TDB, JS_TLB, JS_BOD_B_COD, YYQ_HRT, QYQ_HRT, HYQ_HRT, HFXWNNDZB, F_M, GSLS, GSLS_ONE, GSLS_TWO, XGS_GSLS, XLCSC_BMFH, XLCSC_HRT, CCCDC_BMFH, CCCDC_HRT, ECC_BMFH, ECC_HRT, ECC_GTFH, CLSN_JCSJ, XGCDC_QSQ_SSLS, del_flag, revision, create_by, create_time, update_by, update_time, remark from t_xinyi_calculate
+    </sql>
+
+    <select id="selectTXinyiCalculateList" parameterType="TXinyiCalculate" resultMap="TXinyiCalculateResult">
+        <include refid="selectTXinyiCalculateVo"/>
+        <where>
+            1 = 1
+            <if test="testDate != null  and testDate != ''"> and TEST_DATE = #{testDate}</if>
+            <if test="testHour != null  and testHour != ''"> and TEST_HOUR = #{testHour}</if>
+            <if test="testTime != null  and testTime != ''"> and TEST_TIME = #{testTime}</if>
+            <if test="jsTdb != null "> and JS_TDB = #{jsTdb}</if>
+            <if test="jsTlb != null "> and JS_TLB = #{jsTlb}</if>
+            <if test="jsBodBCod != null "> and JS_BOD_B_COD = #{jsBodBCod}</if>
+            <if test="yyqHrt != null "> and YYQ_HRT = #{yyqHrt}</if>
+            <if test="qyqHrt != null "> and QYQ_HRT = #{qyqHrt}</if>
+            <if test="hyqHrt != null "> and HYQ_HRT = #{hyqHrt}</if>
+            <if test="HFXWNNDZB != null "> and HFXWNNDZB = #{HFXWNNDZB}</if>
+            <if test="fM != null "> and F_M = #{fM}</if>
+            <if test="GSLS != null "> and GSLS = #{GSLS}</if>
+            <if test="gslsOne != null "> and GSLS_ONE = #{gslsOne}</if>
+            <if test="gslsTwo != null "> and GSLS_TWO = #{gslsTwo}</if>
+            <if test="xgsGsls != null "> and XGS_GSLS = #{xgsGsls}</if>
+            <if test="xlcscBmfh != null "> and XLCSC_BMFH = #{xlcscBmfh}</if>
+            <if test="xlcscHrt != null "> and XLCSC_HRT = #{xlcscHrt}</if>
+            <if test="cccdcBmfh != null "> and CCCDC_BMFH = #{cccdcBmfh}</if>
+            <if test="cccdcHrt != null "> and CCCDC_HRT = #{cccdcHrt}</if>
+            <if test="eccBmfh != null "> and ECC_BMFH = #{eccBmfh}</if>
+            <if test="eccHrt != null "> and ECC_HRT = #{eccHrt}</if>
+            <if test="eccGtfh != null "> and ECC_GTFH = #{eccGtfh}</if>
+            <if test="clsnJcsj != null "> and CLSN_JCSJ = #{clsnJcsj}</if>
+            <if test="xgcdcQsqSsls != null "> and XGCDC_QSQ_SSLS = #{xgcdcQsqSsls}</if>
+            <if test="revision != null "> and revision = #{revision}</if>
+        </where>
+        and del_flag = 0 order by id desc
+    </select>
+    
+    <select id="selectTXinyiCalculateById" parameterType="Long" resultMap="TXinyiCalculateResult">
+        <include refid="selectTXinyiCalculateVo"/>
+        where id = #{id} and del_flag = 0
+    </select>
+        
+    <insert id="insertTXinyiCalculate" parameterType="TXinyiCalculate" useGeneratedKeys="true" keyProperty="id">
+        insert into t_xinyi_calculate
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="testDate != null">TEST_DATE,</if>
+            <if test="testHour != null">TEST_HOUR,</if>
+            <if test="testTime != null">TEST_TIME,</if>
+            <if test="jsTdb != null">JS_TDB,</if>
+            <if test="jsTlb != null">JS_TLB,</if>
+            <if test="jsBodBCod != null">JS_BOD_B_COD,</if>
+            <if test="yyqHrt != null">YYQ_HRT,</if>
+            <if test="qyqHrt != null">QYQ_HRT,</if>
+            <if test="hyqHrt != null">HYQ_HRT,</if>
+            <if test="HFXWNNDZB != null">HFXWNNDZB,</if>
+            <if test="fM != null">F_M,</if>
+            <if test="GSLS != null">GSLS,</if>
+            <if test="gslsOne != null">GSLS_ONE,</if>
+            <if test="gslsTwo != null">GSLS_TWO,</if>
+            <if test="xgsGsls != null">XGS_GSLS,</if>
+            <if test="xlcscBmfh != null">XLCSC_BMFH,</if>
+            <if test="xlcscHrt != null">XLCSC_HRT,</if>
+            <if test="cccdcBmfh != null">CCCDC_BMFH,</if>
+            <if test="cccdcHrt != null">CCCDC_HRT,</if>
+            <if test="eccBmfh != null">ECC_BMFH,</if>
+            <if test="eccHrt != null">ECC_HRT,</if>
+            <if test="eccGtfh != null">ECC_GTFH,</if>
+            <if test="clsnJcsj != null">CLSN_JCSJ,</if>
+            <if test="xgcdcQsqSsls != null">XGCDC_QSQ_SSLS,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="revision != null">revision,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="testDate != null">#{testDate},</if>
+            <if test="testHour != null">#{testHour},</if>
+            <if test="testTime != null">#{testTime},</if>
+            <if test="jsTdb != null">#{jsTdb},</if>
+            <if test="jsTlb != null">#{jsTlb},</if>
+            <if test="jsBodBCod != null">#{jsBodBCod},</if>
+            <if test="yyqHrt != null">#{yyqHrt},</if>
+            <if test="qyqHrt != null">#{qyqHrt},</if>
+            <if test="hyqHrt != null">#{hyqHrt},</if>
+            <if test="HFXWNNDZB != null">#{HFXWNNDZB},</if>
+            <if test="fM != null">#{fM},</if>
+            <if test="GSLS != null">#{GSLS},</if>
+            <if test="gslsOne != null">#{gslsOne},</if>
+            <if test="gslsTwo != null">#{gslsTwo},</if>
+            <if test="xgsGsls != null">#{xgsGsls},</if>
+            <if test="xlcscBmfh != null">#{xlcscBmfh},</if>
+            <if test="xlcscHrt != null">#{xlcscHrt},</if>
+            <if test="cccdcBmfh != null">#{cccdcBmfh},</if>
+            <if test="cccdcHrt != null">#{cccdcHrt},</if>
+            <if test="eccBmfh != null">#{eccBmfh},</if>
+            <if test="eccHrt != null">#{eccHrt},</if>
+            <if test="eccGtfh != null">#{eccGtfh},</if>
+            <if test="clsnJcsj != null">#{clsnJcsj},</if>
+            <if test="xgcdcQsqSsls != null">#{xgcdcQsqSsls},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="revision != null">#{revision},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTXinyiCalculate" parameterType="TXinyiCalculate">
+        update t_xinyi_calculate
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="testDate != null">TEST_DATE = #{testDate},</if>
+            <if test="testHour != null">TEST_HOUR = #{testHour},</if>
+            <if test="testTime != null">TEST_TIME = #{testTime},</if>
+            <if test="jsTdb != null">JS_TDB = #{jsTdb},</if>
+            <if test="jsTlb != null">JS_TLB = #{jsTlb},</if>
+            <if test="jsBodBCod != null">JS_BOD_B_COD = #{jsBodBCod},</if>
+            <if test="yyqHrt != null">YYQ_HRT = #{yyqHrt},</if>
+            <if test="qyqHrt != null">QYQ_HRT = #{qyqHrt},</if>
+            <if test="hyqHrt != null">HYQ_HRT = #{hyqHrt},</if>
+            <if test="HFXWNNDZB != null">HFXWNNDZB = #{HFXWNNDZB},</if>
+            <if test="fM != null">F_M = #{fM},</if>
+            <if test="GSLS != null">GSLS = #{GSLS},</if>
+            <if test="gslsOne != null">GSLS_ONE = #{gslsOne},</if>
+            <if test="gslsTwo != null">GSLS_TWO = #{gslsTwo},</if>
+            <if test="xgsGsls != null">XGS_GSLS = #{xgsGsls},</if>
+            <if test="xlcscBmfh != null">XLCSC_BMFH = #{xlcscBmfh},</if>
+            <if test="xlcscHrt != null">XLCSC_HRT = #{xlcscHrt},</if>
+            <if test="cccdcBmfh != null">CCCDC_BMFH = #{cccdcBmfh},</if>
+            <if test="cccdcHrt != null">CCCDC_HRT = #{cccdcHrt},</if>
+            <if test="eccBmfh != null">ECC_BMFH = #{eccBmfh},</if>
+            <if test="eccHrt != null">ECC_HRT = #{eccHrt},</if>
+            <if test="eccGtfh != null">ECC_GTFH = #{eccGtfh},</if>
+            <if test="clsnJcsj != null">CLSN_JCSJ = #{clsnJcsj},</if>
+            <if test="xgcdcQsqSsls != null">XGCDC_QSQ_SSLS = #{xgcdcQsqSsls},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="revision != null">revision = #{revision},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        ,revision = revision + 1
+        where id = #{id}
+    </update>
+
+    
+
+    <delete id="deleteTXinyiCalculateById" parameterType="Long">
+        update t_xinyi_calculate set del_flag = 2,revision = revision + 1 where del_flag = 0 and id = #{id}
+    </delete>
+
+    <delete id="deleteTXinyiCalculateByIds" parameterType="String">
+        update t_xinyi_calculate 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>