Browse Source

修改转Bigdecimal

txf 3 years ago
parent
commit
fdc04688cd

+ 3 - 3
src/main/java/com/steerinfo/dil/service/impl/TmstruckWeightResultServiceImpl.java

@@ -255,19 +255,19 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
         }
         //毛重
         if(map.get("resultCrossWeight") != null){
-            String resultCrossWeight = (String) map.get("resultCrossWeight");
+            String resultCrossWeight = String.valueOf(map.get("resultCrossWeight"));
             if(!"".equals(resultCrossWeight))
                 tmstruckWeightResult.setResultGrossWeight(DataChange.dataToBigDecimal(resultCrossWeight));
         }
         //皮重
         if(map.get("resultTareWeight") != null){
-            String resultTareWeight = (String) map.get("resultTareWeight");
+            String resultTareWeight = String.valueOf(map.get("resultTareWeight"));
             if(!"".equals(resultTareWeight))
             tmstruckWeightResult.setResultTareWeight(DataChange.dataToBigDecimal(resultTareWeight));
         }
         //净重
         if(map.get("resultNetWeight") != null){
-            String resultNetWeight = (String) map.get("resultNetWeight");
+            String resultNetWeight = String.valueOf(map.get("resultNetWeight"));
             if(!"".equals(resultNetWeight)){
                 tmstruckWeightResult.setResultNetWeight(DataChange.dataToBigDecimal(resultNetWeight));
             }

+ 11 - 14
src/main/java/com/steerinfo/dil/util/DataChange.java

@@ -40,23 +40,20 @@ public class DataChange {
      * @param data
      * @return
      */
-    public static BigDecimal
-    dataToBigDecimal(Object data){
+    public static BigDecimal dataToBigDecimal(Object data){
         if (data != null){
-            if(data instanceof String){
-                String data1 = (String) data;
-                return new BigDecimal(data1);
-            }
-            if(data instanceof Integer){
-                Integer data2 = (Integer) data;
-                return new BigDecimal(data2);
-            }
-            if(data instanceof Double){
-                Double data3 = (Double) data;
-                return new BigDecimal(data3.toString());
-            }
             if(data instanceof BigDecimal){
                 return (BigDecimal) data;
+            }else{
+                String str = String.valueOf(data);
+                BigDecimal decimal = null;
+                try {
+                    decimal = new BigDecimal(str);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    return new BigDecimal(0);
+                }
+                return decimal;
             }
         }
         return new BigDecimal(0);