瀏覽代碼

借款统计

lamphua 7 月之前
父節點
當前提交
b09682c2c0

+ 82
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBorrowController.java 查看文件

@@ -1,10 +1,18 @@
1 1
 package com.ruoyi.web.controller.oa;
2 2
 
3
+import java.math.BigDecimal;
4
+import java.text.ParseException;
5
+import java.text.SimpleDateFormat;
6
+import java.util.Calendar;
3 7
 import java.util.Date;
4 8
 import java.util.List;
5 9
 import java.util.stream.Collectors;
6 10
 import javax.servlet.http.HttpServletResponse;
7 11
 
12
+import com.alibaba.fastjson2.JSONArray;
13
+import com.alibaba.fastjson2.JSONObject;
14
+import com.ruoyi.oa.domain.CmcCarApproval;
15
+import com.ruoyi.oa.domain.CmcContract;
8 16
 import com.ruoyi.oa.service.ICmcProjectService;
9 17
 import org.springframework.beans.factory.annotation.Autowired;
10 18
 import org.springframework.web.bind.annotation.GetMapping;
@@ -69,6 +77,57 @@ public class CmcBorrowController extends BaseController
69 77
         return success(cmcBorrowService.selectCmcBorrowByBorrowId(borrowId));
70 78
     }
71 79
 
80
+    /**
81
+     * 获取cmc借款统计信息
82
+     */
83
+    @GetMapping("/statistic")
84
+    public AjaxResult getBorrowStatistic(CmcBorrow cmcBorrow) throws ParseException
85
+    {
86
+        JSONObject jsonObject = new JSONObject();
87
+        JSONArray yearArray = new JSONArray();
88
+        JSONObject yearObject = new JSONObject();
89
+        JSONArray amountArray = new JSONArray();
90
+        JSONObject amountObject = new JSONObject();
91
+        JSONArray usageArray = new JSONArray();
92
+        JSONObject usageObject = new JSONObject();
93
+        JSONArray usageAmountArray = new JSONArray();
94
+        JSONObject usageAmountObject = new JSONObject();
95
+        //每年借款金额
96
+        if (cmcBorrow.getApplyDate() == null) {
97
+            for (int i = 2019; i <= Calendar.getInstance().get(Calendar.YEAR); i++) {
98
+                cmcBorrow.setApplyDate(new SimpleDateFormat("yyyy").parse(String.valueOf(i)));
99
+                List<CmcBorrow> yearList = cmcBorrowService.selectCmcBorrowList(cmcBorrow);
100
+                yearObject.put(String.valueOf(i), yearList.size());
101
+                BigDecimal amount = new BigDecimal(0);
102
+                for (CmcBorrow borrow : yearList) {
103
+                    if (borrow.getManagerAmount() != null)
104
+                        amount = amount.add(borrow.getManagerAmount());
105
+                }
106
+                amountObject.put(String.valueOf(i), amount);
107
+            }
108
+            cmcBorrow.setApplyDate(null);
109
+        }
110
+        else {
111
+            yearObject.put(new SimpleDateFormat("yyyy").format(cmcBorrow.getApplyDate()), cmcBorrowService.selectCmcBorrowList(cmcBorrow).size());
112
+            BigDecimal amount = new BigDecimal(0);
113
+            for (CmcBorrow borrow : cmcBorrowService.selectCmcBorrowList(cmcBorrow)) {
114
+                if (borrow.getManagerAmount() != null)
115
+                    amount = amount.add(borrow.getManagerAmount());
116
+            }
117
+            amountObject.put(new SimpleDateFormat("yyyy").format(cmcBorrow.getApplyDate()), amount);
118
+        }
119
+        getBorrowUsageStatistic(cmcBorrow, usageObject, usageAmountObject);
120
+        yearArray.add(yearObject);
121
+        amountArray.add(amountObject);
122
+        usageArray.add(usageObject);
123
+        usageAmountArray.add(usageAmountObject);
124
+        jsonObject.put("year", yearArray);
125
+        jsonObject.put("amount", amountArray);
126
+        jsonObject.put("usage", usageArray);
127
+        jsonObject.put("usageAmount", usageAmountArray);
128
+        return success(jsonObject);
129
+    }
130
+
72 131
     /**
73 132
      * 新增cmc借款申请
74 133
      */
@@ -122,4 +181,27 @@ public class CmcBorrowController extends BaseController
122 181
     {
123 182
         return success(cmcBorrowService.deleteCmcBorrowByBorrowIds(borrowIds));
124 183
     }
184
+
185
+    //各用途借款次数
186
+    public void getBorrowUsageStatistic(CmcBorrow cmcBorrow, JSONObject usageObject, JSONObject usageAmountObject) {
187
+        cmcBorrow.setBorrowUsage("0");
188
+        List<CmcBorrow> usageList = cmcBorrowService.selectCmcBorrowList(cmcBorrow);
189
+        usageObject.put("项目借款", usageList.size());
190
+        BigDecimal pAmount = new BigDecimal(0);
191
+        for (CmcBorrow borrow : usageList) {
192
+            if (borrow.getManagerAmount() != null)
193
+                pAmount = pAmount.add(borrow.getManagerAmount());
194
+        }
195
+        usageAmountObject.put("项目借款", pAmount);
196
+        cmcBorrow.setBorrowUsage("1");
197
+        usageList = cmcBorrowService.selectCmcBorrowList(cmcBorrow);
198
+        usageObject.put("非项目借款", usageList.size());
199
+        BigDecimal oAmount = new BigDecimal(0);
200
+        for (CmcBorrow borrow : usageList) {
201
+            if (borrow.getManagerAmount() != null)
202
+                oAmount = oAmount.add(borrow.getManagerAmount());
203
+        }
204
+        usageAmountObject.put("非项目借款", oAmount);
205
+    }
206
+
125 207
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcCarController.java 查看文件

@@ -206,7 +206,7 @@ public class CmcCarController extends BaseController
206 206
         }
207 207
     }
208 208
 
209
-    //各车辆派出次数
209
+    //各用途车辆派出次数
210 210
     public void getCarUsageStatistic(CmcCarApproval cmcCarApproval, JSONObject usageObject) {
211 211
         cmcCarApproval.setCarUsage("0");
212 212
         usageObject.put("项目用车", cmcCarApprovalService.selectCmcCarApprovalList(cmcCarApproval).size());

+ 12
- 8
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractController.java 查看文件

@@ -77,7 +77,8 @@ public class CmcContractController extends BaseController
77 77
                 yearObject.put(String.valueOf(i), yearList.size());
78 78
                 BigDecimal amount = new BigDecimal(0);
79 79
                 for (CmcContract contract : yearList) {
80
-                    amount = amount.add(contract.getAmount());
80
+                    if (contract.getAmount() != null)
81
+                        amount = amount.add(contract.getAmount());
81 82
                 }
82 83
                 amountObject.put(String.valueOf(i), amount);
83 84
 
@@ -89,7 +90,8 @@ public class CmcContractController extends BaseController
89 90
             yearObject.put(new SimpleDateFormat("yyyy").format(cmcContract.getSignDate()), cmcContractService.selectCmcContractList(cmcContract).size());
90 91
             BigDecimal amount = new BigDecimal(0);
91 92
             for (CmcContract contract : cmcContractService.selectCmcContractList(cmcContract)) {
92
-                amount = amount.add(contract.getAmount());
93
+                if (contract.getAmount() != null)
94
+                    amount = amount.add(contract.getAmount());
93 95
             }
94 96
             amountObject.put(new SimpleDateFormat("yyyy").format(cmcContract.getSignDate()), amount);
95 97
         }
@@ -169,17 +171,19 @@ public class CmcContractController extends BaseController
169 171
         BigDecimal cAmount = new BigDecimal(0);
170 172
         BigDecimal wAmount = new BigDecimal(0);
171 173
         for (CmcContract contract : sourceList) {
172
-            wAmount = wAmount.add(contract.getAmount());
174
+            if(contract.getAmount() != null)
175
+                wAmount = wAmount.add(contract.getAmount());
173 176
         }
174
-        sourceObject.put("院外", sourceList.size());
175
-        cwAmountObject.put("院外", wAmount);
177
+        sourceObject.put("院外项目", sourceList.size());
178
+        cwAmountObject.put("院外项目承接金额", wAmount);
176 179
         cmcContract.setProjectSource("0");
177 180
         sourceList = cmcContractService.selectCmcContractList(cmcContract);
178 181
         for (CmcContract contract : sourceList) {
179
-            cAmount = cAmount.add(contract.getAmount());
182
+            if(contract.getAmount() != null)
183
+                cAmount = cAmount.add(contract.getAmount());
180 184
         }
181
-        sourceObject.put("院内", sourceList.size());
182
-        cwAmountObject.put("院内", cAmount);
185
+        sourceObject.put("院内项目", sourceList.size());
186
+        cwAmountObject.put("院内项目承接金额", cAmount);
183 187
         cmcContract.setProjectSource(null);
184 188
     }
185 189
 

+ 12
- 8
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSubContractController.java 查看文件

@@ -100,7 +100,8 @@ public class CmcSubContractController extends BaseController
100 100
                 yearObject.put(String.valueOf(i), yearList.size());
101 101
                 BigDecimal amount = new BigDecimal(0);
102 102
                 for (CmcSubContract subContract : yearList) {
103
-                    amount = amount.add(subContract.getSubAmount());
103
+                    if (subContract.getSubAmount() != null)
104
+                        amount = amount.add(subContract.getSubAmount());
104 105
                 }
105 106
                 amountObject.put(String.valueOf(i), amount);
106 107
             }
@@ -111,7 +112,8 @@ public class CmcSubContractController extends BaseController
111 112
             yearObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), cmcSubContractService.selectCmcSubContractList(cmcSubContract).size());
112 113
             BigDecimal amount = new BigDecimal(0);
113 114
             for (CmcSubContract subContract : cmcSubContractService.selectCmcSubContractList(cmcSubContract)) {
114
-                amount = amount.add(subContract.getSubAmount());
115
+                if (subContract.getSubAmount() != null)
116
+                    amount = amount.add(subContract.getSubAmount());
115 117
             }
116 118
             amountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), amount);
117 119
         }
@@ -170,17 +172,19 @@ public class CmcSubContractController extends BaseController
170 172
         BigDecimal cAmount = new BigDecimal(0);
171 173
         BigDecimal wAmount = new BigDecimal(0);
172 174
         for (CmcSubContract subContract : sourceList) {
173
-            wAmount = wAmount.add(subContract.getSubAmount());
175
+            if(subContract.getSubAmount() != null)
176
+                wAmount = wAmount.add(subContract.getSubAmount());
174 177
         }
175
-        sourceObject.put("院外", sourceList.size());
176
-        cwAmountObject.put("院外", wAmount);
178
+        sourceObject.put("院外项目", sourceList.size());
179
+        cwAmountObject.put("院外项目分包金额", wAmount);
177 180
         cmcSubContract.setProjectSource("0");
178 181
         sourceList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
179 182
         for (CmcSubContract subContract : sourceList) {
180
-            cAmount = cAmount.add(subContract.getSubAmount());
183
+            if(subContract.getSubAmount() != null)
184
+                cAmount = cAmount.add(subContract.getSubAmount());
181 185
         }
182
-        sourceObject.put("院内", sourceList.size());
183
-        cwAmountObject.put("院内", cAmount);
186
+        sourceObject.put("院内项目", sourceList.size());
187
+        cwAmountObject.put("院内项目分包金额", cAmount);
184 188
         cmcSubContract.setProjectSource(null);
185 189
     }
186 190
 

+ 1
- 1
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcBorrowMapper.xml 查看文件

@@ -120,7 +120,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
120 120
             <if test="applyDept != null  and applyDept != ''"> and b.apply_dept = #{applyDept}</if>
121 121
             <if test="applier != null "> and b.applier = #{applier}</if>
122 122
             <if test="remark != null "> and b.remark = #{remark}</if>
123
-            <if test="applyDate != null "> and b.apply_date = #{applyDate}</if>
123
+            <if test="applyDate != null "> and YEAR(b.apply_date) = YEAR(#{applyDate})</if>
124 124
             <if test="applyAmount != null "> and b.apply_amount = #{applyAmount}</if>
125 125
             <if test="managerAmount != null "> and b.manager_amount = #{managerAmount}</if>
126 126
             <if test="deptComment != null  and deptComment != ''"> and b.dept_comment = #{deptComment}</if>

Loading…
取消
儲存