Browse Source

首页统计开发

anderx 2 years ago
parent
commit
0c4cb19e71

+ 9 - 0
src/main/java/com/goafanti/admin/bo/OutFinanceCount.java

@@ -13,6 +13,15 @@ public class OutFinanceCount extends FinanceCount {
     private BigDecimal rangeReceivables;
     private Integer changeCount;
     private Integer changeInvoiceCount;
+    private String dates;
+
+    public String getDates() {
+        return dates;
+    }
+
+    public void setDates(String dates) {
+        this.dates = dates;
+    }
 
     public Integer getPublicCount() {
         return publicCount;

+ 38 - 4
src/main/java/com/goafanti/admin/service/impl/AdminStatisticsServiceImpl.java

@@ -10,7 +10,6 @@ import com.goafanti.common.dao.AdminMapper;
 import com.goafanti.common.dao.FinanceCountMapper;
 import com.goafanti.common.dao.PublicReleaseMapper;
 import com.goafanti.common.model.AdminUserCount;
-import com.goafanti.common.model.FinanceCount;
 import com.goafanti.common.utils.DateUtils;
 import com.goafanti.core.shiro.token.TokenManager;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -202,7 +201,7 @@ public class AdminStatisticsServiceImpl implements AdminStatisticsService {
     public Object financeInfo(String startTime, String endTime) {
         String aid = TokenManager.getAdminId();
         OutFinanceCount financeCount=adminMapper.financeInfo(aid, startTime, endTime);
-        Integer rangePublicCount = publicReleaseMapper.selectByaidAndDate(aid, startTime, endTime);
+        Integer rangePublicCount = publicReleaseMapper.selectCountByaidAndDate(aid, startTime, endTime);
         financeCount.setRangePublicCount(rangePublicCount);
         BigDecimal rangeReceivables=adminMapper.selectFinanceReceivablesCount(aid,startTime,endTime);
         if (rangeReceivables==null)rangeReceivables=new BigDecimal(0);
@@ -221,9 +220,44 @@ public class AdminStatisticsServiceImpl implements AdminStatisticsService {
         Map<String,Object> map=new LinkedHashMap<>();
         Days days = new Days();
         List<String> thisMonth = getThisMonth(days);
-        List<FinanceCount> financeCounts = financeCountMapper.financeLists(aid, days.firstDay, days.endDay+"23:59:59");
-        publicReleaseMapper.selectByaidAndDate(aid, days.firstDay, days.endDay+"23:59:59");
+        List<Integer> orderList=new ArrayList<>();
+        List<Integer> expenseList=new ArrayList<>();
+        List<Integer> invoiceList=new ArrayList<>();
+        List<Integer> memberList=new ArrayList<>();
+        List<Integer> paymentList=new ArrayList<>();
+        List<Integer> publicList=new ArrayList<>();
+        List<OutFinanceCount> financeCounts = financeCountMapper.financeLists(aid, days.firstDay, days.endDay+"23:59:59");
+        List<OutFinanceCount> pList = publicReleaseMapper.selectByaidAndDate(aid, days.firstDay, days.endDay + "23:59:59");
+        int orderCount=0,expenseCount=0, invoiceCount=0,memberCount=0,paymentCount=0,publicCount=0;
+        for (String e : thisMonth) {
+            for (OutFinanceCount f : financeCounts) {
+                if (e.equals(f.getDates())){
+                    orderCount+=f.getOrderCount();
+                    expenseCount+=f.getExpenseCount();
+                    invoiceCount+=f.getInvoiceCount();
+                    memberCount+=f.getMemberCount();
+                    paymentCount+=f.getPaymentCount();
+                }
+            }
+            for (OutFinanceCount p : pList) {
+                if (e.equals(p.getDates())){
+                    publicCount+=p.getPublicCount();
+                }
+            }
+            orderList.add(orderCount);
+            expenseList.add(expenseCount);
+            invoiceList.add(invoiceCount);
+            memberList.add(memberCount);
+            paymentList.add(paymentCount);
+            publicList.add(publicCount);
+        }
         map.put("dates",thisMonth);
+        map.put("orderList",orderList);
+        map.put("expenseList",expenseList);
+        map.put("invoiceList",invoiceList);
+        map.put("memberList",memberList);
+        map.put("paymentList",paymentList);
+        map.put("publicList",publicList);
         return map;
     }
 

+ 2 - 1
src/main/java/com/goafanti/common/dao/FinanceCountMapper.java

@@ -1,5 +1,6 @@
 package com.goafanti.common.dao;
 
+import com.goafanti.admin.bo.OutFinanceCount;
 import com.goafanti.common.model.FinanceCount;
 import org.apache.ibatis.annotations.Param;
 
@@ -28,5 +29,5 @@ public interface FinanceCountMapper {
 
     void insetBatch(List<FinanceCount> addList);
 
-    List<FinanceCount> financeLists(@Param("aid") String aid, @Param("startTime") String startTime, @Param("endTime") String endTime);
+    List<OutFinanceCount> financeLists(@Param("aid") String aid, @Param("startTime") String startTime, @Param("endTime") String endTime);
 }

+ 4 - 3
src/main/java/com/goafanti/common/mapper/FinanceCountMapper.xml

@@ -262,9 +262,10 @@
     from finance_count
     where aid = #{aid} and date_time = #{startTime}
   </select>
-    <select id="financeLists" resultType="com.goafanti.common.model.FinanceCount">sultMap="BaseResultMap">
-  select
-  <include refid="Base_Column_List" />
+    <select id="financeLists" resultType="com.goafanti.admin.bo.OutFinanceCount">
+  select order_count orderCount, expense_count expenseCount, invoice_count invoiceCount,
+         member_count memberCount, payment_count paymentCount ,
+         DATE_FORMAT(date_time , '%Y-%m-%d') dates
   from finance_count
   where aid = #{aid} and date_time BETWEEN #{startTime} and #{endTime}
    </select>

+ 2 - 2
src/main/java/com/goafanti/common/mapper/PublicReleaseMapper.xml

@@ -875,8 +875,8 @@
     select aid,dates,sum(publicCount)publicCount
     from (select aid,if(a.`type` in (0,1,2),1,0) publicCount,DATE_FORMAT(a.release_start , '%Y-%m-%d') dates
           from public_release a left join public_release_details b on a.id=b.prid
-          where a.status=2 and a.aid= '060583e4-82a2-4f72-8141-ae44806844e7'
-            and a.release_start between '2023-01-01' and '2023-07-28 23:59:59')x
+          where a.status=2 and a.aid= #{aid}
+            and a.release_start between #{startTime} and #{endTime})x
     group by x.aid,x.dates
   </select>
 </mapper>