diff --git a/src/main/java/com/supwisdom/dlpay/water/pojo/TTransdtlCountDTO.java b/src/main/java/com/supwisdom/dlpay/water/pojo/TTransdtlCountDTO.java
index 4325164..44c3216 100644
--- a/src/main/java/com/supwisdom/dlpay/water/pojo/TTransdtlCountDTO.java
+++ b/src/main/java/com/supwisdom/dlpay/water/pojo/TTransdtlCountDTO.java
@@ -1,5 +1,6 @@
 package com.supwisdom.dlpay.water.pojo;
 
+import java.math.BigDecimal;
 import java.math.BigInteger;
 
 public class TTransdtlCountDTO {
@@ -14,7 +15,7 @@
 
     private BigInteger count;
 
-    private Double amount;
+    private BigDecimal amount;
 
     private BigInteger water;
 
@@ -58,11 +59,11 @@
         this.count = count;
     }
 
-    public Double getAmount() {
+    public BigDecimal getAmount() {
         return amount;
     }
 
-    public void setAmount(Double amount) {
+    public void setAmount(BigDecimal amount) {
         this.amount = amount;
     }
 
diff --git a/src/main/kotlin/com/supwisdom/dlpay/water/service/collectdtl_service.kt b/src/main/kotlin/com/supwisdom/dlpay/water/service/collectdtl_service.kt
index 02268b9..21682dc 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/water/service/collectdtl_service.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/water/service/collectdtl_service.kt
@@ -258,7 +258,7 @@
         val count = daysBetween(dtlcountDate.countdate, currentDate)
         var accdate = dtlcountDate.countdate
         val querySql = "select t3.deviceno,t3.areano,coalesce(t4.accdate,:accdate) accdate,t4.mode,coalesce(t4.amount,0) amount,coalesce(t4.water,0) water,coalesce(t4.count,0) " +
-                "count from tb_device t3 LEFT JOIN (select t1.deviceno,t1.accdate,t1.mode,t1.amount,t1.water,t1.count,t2.areano from (select deviceno,accdate,mode,sum(amount) amount,sum(water_in_100ml) water,count(cobillno) count " +
+                "count from tb_device t3 LEFT JOIN (select t1.deviceno,t1.accdate,t1.mode,t1.amount,t1.water,t1.count,t2.areano from (select deviceno,accdate,mode,sum(cast(amount as DECIMAL(18,2))) amount,sum(water_in_100ml) water,count(cobillno) count " +
                 "from tb_collectdtl where accdate=:accdate and status = 'success' group by deviceno,mode,accdate) t1 LEFT JOIN " +
                 "(select deviceno,areano from tb_device) t2 on t1.deviceno=t2.deviceno) t4 on t3.deviceno=t4.deviceno"
         for (i in 1..count) {
@@ -278,7 +278,7 @@
             countDTOList.forEach {
                 val transCount = TTransdtlCount()
                 transCount.accdate = it.accdate
-                transCount.amount = it.amount
+                transCount.amount = it.amount.toDouble()
                 transCount.water = it.water.toInt()
                 transCount.count = it.count.toInt()
                 transCount.mode = it.mode
