lamphua 7 kuukautta sitten
vanhempi
commit
b09682c2c0

+ 82
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBorrowController.java Näytä tiedosto

1
 package com.ruoyi.web.controller.oa;
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
 import java.util.Date;
7
 import java.util.Date;
4
 import java.util.List;
8
 import java.util.List;
5
 import java.util.stream.Collectors;
9
 import java.util.stream.Collectors;
6
 import javax.servlet.http.HttpServletResponse;
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
 import com.ruoyi.oa.service.ICmcProjectService;
16
 import com.ruoyi.oa.service.ICmcProjectService;
9
 import org.springframework.beans.factory.annotation.Autowired;
17
 import org.springframework.beans.factory.annotation.Autowired;
10
 import org.springframework.web.bind.annotation.GetMapping;
18
 import org.springframework.web.bind.annotation.GetMapping;
69
         return success(cmcBorrowService.selectCmcBorrowByBorrowId(borrowId));
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
      * 新增cmc借款申请
132
      * 新增cmc借款申请
74
      */
133
      */
122
     {
181
     {
123
         return success(cmcBorrowService.deleteCmcBorrowByBorrowIds(borrowIds));
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 Näytä tiedosto

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

+ 12
- 8
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractController.java Näytä tiedosto

77
                 yearObject.put(String.valueOf(i), yearList.size());
77
                 yearObject.put(String.valueOf(i), yearList.size());
78
                 BigDecimal amount = new BigDecimal(0);
78
                 BigDecimal amount = new BigDecimal(0);
79
                 for (CmcContract contract : yearList) {
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
                 amountObject.put(String.valueOf(i), amount);
83
                 amountObject.put(String.valueOf(i), amount);
83
 
84
 
89
             yearObject.put(new SimpleDateFormat("yyyy").format(cmcContract.getSignDate()), cmcContractService.selectCmcContractList(cmcContract).size());
90
             yearObject.put(new SimpleDateFormat("yyyy").format(cmcContract.getSignDate()), cmcContractService.selectCmcContractList(cmcContract).size());
90
             BigDecimal amount = new BigDecimal(0);
91
             BigDecimal amount = new BigDecimal(0);
91
             for (CmcContract contract : cmcContractService.selectCmcContractList(cmcContract)) {
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
             amountObject.put(new SimpleDateFormat("yyyy").format(cmcContract.getSignDate()), amount);
96
             amountObject.put(new SimpleDateFormat("yyyy").format(cmcContract.getSignDate()), amount);
95
         }
97
         }
169
         BigDecimal cAmount = new BigDecimal(0);
171
         BigDecimal cAmount = new BigDecimal(0);
170
         BigDecimal wAmount = new BigDecimal(0);
172
         BigDecimal wAmount = new BigDecimal(0);
171
         for (CmcContract contract : sourceList) {
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
         cmcContract.setProjectSource("0");
179
         cmcContract.setProjectSource("0");
177
         sourceList = cmcContractService.selectCmcContractList(cmcContract);
180
         sourceList = cmcContractService.selectCmcContractList(cmcContract);
178
         for (CmcContract contract : sourceList) {
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
         cmcContract.setProjectSource(null);
187
         cmcContract.setProjectSource(null);
184
     }
188
     }
185
 
189
 

+ 12
- 8
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSubContractController.java Näytä tiedosto

100
                 yearObject.put(String.valueOf(i), yearList.size());
100
                 yearObject.put(String.valueOf(i), yearList.size());
101
                 BigDecimal amount = new BigDecimal(0);
101
                 BigDecimal amount = new BigDecimal(0);
102
                 for (CmcSubContract subContract : yearList) {
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
                 amountObject.put(String.valueOf(i), amount);
106
                 amountObject.put(String.valueOf(i), amount);
106
             }
107
             }
111
             yearObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), cmcSubContractService.selectCmcSubContractList(cmcSubContract).size());
112
             yearObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), cmcSubContractService.selectCmcSubContractList(cmcSubContract).size());
112
             BigDecimal amount = new BigDecimal(0);
113
             BigDecimal amount = new BigDecimal(0);
113
             for (CmcSubContract subContract : cmcSubContractService.selectCmcSubContractList(cmcSubContract)) {
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
             amountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), amount);
118
             amountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), amount);
117
         }
119
         }
170
         BigDecimal cAmount = new BigDecimal(0);
172
         BigDecimal cAmount = new BigDecimal(0);
171
         BigDecimal wAmount = new BigDecimal(0);
173
         BigDecimal wAmount = new BigDecimal(0);
172
         for (CmcSubContract subContract : sourceList) {
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
         cmcSubContract.setProjectSource("0");
180
         cmcSubContract.setProjectSource("0");
178
         sourceList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
181
         sourceList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
179
         for (CmcSubContract subContract : sourceList) {
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
         cmcSubContract.setProjectSource(null);
188
         cmcSubContract.setProjectSource(null);
185
     }
189
     }
186
 
190
 

+ 1
- 1
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcBorrowMapper.xml Näytä tiedosto

120
             <if test="applyDept != null  and applyDept != ''"> and b.apply_dept = #{applyDept}</if>
120
             <if test="applyDept != null  and applyDept != ''"> and b.apply_dept = #{applyDept}</if>
121
             <if test="applier != null "> and b.applier = #{applier}</if>
121
             <if test="applier != null "> and b.applier = #{applier}</if>
122
             <if test="remark != null "> and b.remark = #{remark}</if>
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
             <if test="applyAmount != null "> and b.apply_amount = #{applyAmount}</if>
124
             <if test="applyAmount != null "> and b.apply_amount = #{applyAmount}</if>
125
             <if test="managerAmount != null "> and b.manager_amount = #{managerAmount}</if>
125
             <if test="managerAmount != null "> and b.manager_amount = #{managerAmount}</if>
126
             <if test="deptComment != null  and deptComment != ''"> and b.dept_comment = #{deptComment}</if>
126
             <if test="deptComment != null  and deptComment != ''"> and b.dept_comment = #{deptComment}</if>

Loading…
Peruuta
Tallenna