Преглед изворни кода

Merge remote-tracking branch 'origin/dev' into dev

wangcz пре 7 година
родитељ
комит
f6bf354b01

+ 8 - 6
src/main/java/com/uas/platform/b2b/openapi/service/impl/TradingDataServiceImpl.java

@@ -45,7 +45,7 @@ public class TradingDataServiceImpl implements TradingDataService {
         // 获取累计发票金额
         Double apBillSum = getApBillSum(enUU);
         // 获取历史退货率
-        String historyReturn = NumFormat.getPercent(realSum / getOrderSum(enUU));
+        String historyReturn = NumFormat.getPercent(returnSum / getOrderSum(enUU));
         map.put("timeSum", timeSum);
         map.put("acceptSum", acceptSum);
         map.put("returnSum", returnSum);
@@ -60,6 +60,8 @@ public class TradingDataServiceImpl implements TradingDataService {
     public ModelMap getCustTrading(Long enUU) {
         ModelMap map = new ModelMap();
         List<CustTrading> datas = getCust(enUU);
+        Double sum = getAcceptSum(enUU, null) - getReturnSum(enUU, null);
+        Integer sumNum = getAcceptNum(enUU, null);
         if (CollectionUtils.isNotEmpty(datas)) {
             for (CustTrading custTrading : datas) {
                 Double acceptSum = getAcceptSum(enUU, custTrading.getCustUU());
@@ -68,13 +70,13 @@ public class TradingDataServiceImpl implements TradingDataService {
                 if (StringUtils.isEmpty(acceptSum) || acceptSum == 0.0) {
                     custTrading.setAcceptPercent("0.00%");
                 } else {
-                    custTrading.setAcceptPercent(NumFormat.getPercent((acceptSum - returnSum) / acceptSum));
+                    custTrading.setAcceptPercent(NumFormat.getPercent((acceptSum - returnSum) / sum));
                 }
                 Integer acceptNum = getAcceptNum(enUU, custTrading.getCustUU());
                 Integer realNum = acceptNum - getReturnNum(enUU, custTrading.getCustUU());
                 custTrading.setRealNum(realNum);
                 if (0 != acceptNum) {
-                    custTrading.setNumPercent(NumFormat.getPercent((double) realNum / acceptNum));
+                    custTrading.setNumPercent(NumFormat.getPercent((double) realNum / sumNum));
                 }
                 custTrading.setTimeSum(NumFormat.getOne(getTimeSum(enUU, custTrading.getCustUU())));
             }
@@ -159,8 +161,8 @@ public class TradingDataServiceImpl implements TradingDataService {
         ofYear9.setOneYearNum(NumFormat.getIncrease(ofYear9.getTwoYear(), ofYear9.getOneYear()));
         ofYear9.setThisYearNum(NumFormat.getIncrease(ofYear9.getOneYear(), ofYear9.getThisYear()));
         years.add(ofYear9);
-        // 开票
-        RecentOfYear ofYear10 = new RecentOfYear("开票数");
+        // 开票
+        RecentOfYear ofYear10 = new RecentOfYear("开票数");
         ofYear10.setTwoYear(getApBillSumTime(enUU, NumFormat.getTwoYear(), NumFormat.getOneYear()));
         ofYear10.setOneYear(getApBillSumTime(enUU, NumFormat.getOneYear(), NumFormat.getThisYear()));
         ofYear10.setThisYear(getApBillSumTime(enUU, NumFormat.getThisYear(), NumFormat.getNow()));
@@ -454,7 +456,7 @@ public class TradingDataServiceImpl implements TradingDataService {
      */
     private Integer getAcceptCust(Long enUU, Date startTime, Date endTime) {
         StringBuffer sql = new StringBuffer("SELECT COUNT(1) from purc$orders WHERE pu_venduu= " + enUU
-                + " AND pu_date >= '" + startTime + "' and pu_date < " + "'" + endTime + "'");
+                + " AND pu_date >= '" + startTime + "' and pu_date < " + "'" + endTime + "' GROUP BY pu_enuu");
         Integer result = commonDao.queryForObject(sql.toString(), Integer.class);
         return result;
     }

+ 8 - 3
src/main/java/com/uas/platform/b2b/openapi/support/NumFormat.java

@@ -74,10 +74,15 @@ public class NumFormat {
 
     public static String getIncrease(Double last, Double now) {
         if ((last != 0.0) && (now != 0.0)) {
-            return NumFormat.getPercent(last / now - 1);
-        } else {
-            return "100%";
+            return NumFormat.getPercent(now / last - 1);
+        }
+        if (last == 0.0 && now != 0.0) {
+            return NumFormat.getPercent(now);
+        }
+        if (last != 0.0 && now == 0.0) {
+            return NumFormat.getPercent(-last);
         }
+        return "0%";
     }
 
     public static java.sql.Date getThreeM() {