|
@@ -1,7 +1,17 @@
|
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.List;
|
4
|
8
|
import javax.servlet.http.HttpServletResponse;
|
|
9
|
+
|
|
10
|
+import com.alibaba.fastjson2.JSONArray;
|
|
11
|
+import com.alibaba.fastjson2.JSONObject;
|
|
12
|
+import com.ruoyi.oa.domain.CmcSettle;
|
|
13
|
+import com.ruoyi.oa.domain.CmcSettleSummary;
|
|
14
|
+import com.ruoyi.oa.service.ICmcSettleSummaryService;
|
5
|
15
|
import org.springframework.beans.factory.annotation.Autowired;
|
6
|
16
|
import org.springframework.web.bind.annotation.GetMapping;
|
7
|
17
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
@@ -15,7 +25,6 @@ import com.ruoyi.common.annotation.Log;
|
15
|
25
|
import com.ruoyi.common.core.controller.BaseController;
|
16
|
26
|
import com.ruoyi.common.core.domain.AjaxResult;
|
17
|
27
|
import com.ruoyi.common.enums.BusinessType;
|
18
|
|
-import com.ruoyi.oa.domain.CmcSettle;
|
19
|
28
|
import com.ruoyi.oa.service.ICmcSettleService;
|
20
|
29
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
21
|
30
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
@@ -33,6 +42,9 @@ public class CmcSettleController extends BaseController
|
33
|
42
|
@Autowired
|
34
|
43
|
private ICmcSettleService cmcSettleService;
|
35
|
44
|
|
|
45
|
+ @Autowired
|
|
46
|
+ private ICmcSettleSummaryService cmcSettleSummaryService;
|
|
47
|
+
|
36
|
48
|
/**
|
37
|
49
|
* 查询cmc结算审批列表
|
38
|
50
|
*/
|
|
@@ -65,6 +77,61 @@ public class CmcSettleController extends BaseController
|
65
|
77
|
return success(cmcSettleService.selectCmcSettleBySettleId(settleId));
|
66
|
78
|
}
|
67
|
79
|
|
|
80
|
+ /**
|
|
81
|
+ * 获取cmc结算审批详细信息
|
|
82
|
+ */
|
|
83
|
+ @GetMapping("/statistic")
|
|
84
|
+ public AjaxResult getSettleStatistic(CmcSettle cmcSettle) throws ParseException {
|
|
85
|
+ JSONObject jsonObject = new JSONObject();
|
|
86
|
+ JSONArray yearArray = new JSONArray();
|
|
87
|
+ JSONObject yearObject = new JSONObject();
|
|
88
|
+ JSONArray amountArray = new JSONArray();
|
|
89
|
+ JSONObject amountObject = new JSONObject();
|
|
90
|
+ //每年结算金额
|
|
91
|
+ if (cmcSettle.getProjectNumber() == null) {
|
|
92
|
+ for (int i = 2019; i <= Calendar.getInstance().get(Calendar.YEAR); i++) {
|
|
93
|
+ cmcSettle.setProjectNumber(String.valueOf(i));
|
|
94
|
+ cmcSettle.setGmTime(new SimpleDateFormat("yyyy").parse("2000-01-01"));
|
|
95
|
+ List<CmcSettle> yearList = cmcSettleService.selectCmcSettleList(cmcSettle);
|
|
96
|
+ yearObject.put(String.valueOf(i), yearList.size());
|
|
97
|
+ BigDecimal amount = new BigDecimal(0);
|
|
98
|
+ for (CmcSettle settle : yearList) {
|
|
99
|
+ CmcSettleSummary cmcSettleSummary = new CmcSettleSummary();
|
|
100
|
+ cmcSettleSummary.setSettleId(settle.getSettleId());
|
|
101
|
+ cmcSettleSummary.setContent("实际结算总金额");
|
|
102
|
+ if (cmcSettleSummaryService.selectCmcSettleSummaryList(cmcSettleSummary).size() > 0) {
|
|
103
|
+ CmcSettleSummary settleSummary = cmcSettleSummaryService.selectCmcSettleSummaryList(cmcSettleSummary).get(0);
|
|
104
|
+ if (settleSummary.getAmount() != null)
|
|
105
|
+ amount = amount.add(settleSummary.getAmount());
|
|
106
|
+ }
|
|
107
|
+ }
|
|
108
|
+ amountObject.put(String.valueOf(i), amount);
|
|
109
|
+ }
|
|
110
|
+ cmcSettle.setGmTime(null);
|
|
111
|
+ }
|
|
112
|
+ else {
|
|
113
|
+ cmcSettle.setGmTime(new SimpleDateFormat("yyyy").parse("2000-01-01"));
|
|
114
|
+ yearObject.put(cmcSettle.getProjectNumber(), cmcSettleService.selectCmcSettleList(cmcSettle).size());
|
|
115
|
+ BigDecimal amount = new BigDecimal(0);
|
|
116
|
+ for (CmcSettle settle : cmcSettleService.selectCmcSettleList(cmcSettle)) {
|
|
117
|
+ CmcSettleSummary cmcSettleSummary = new CmcSettleSummary();
|
|
118
|
+ cmcSettleSummary.setSettleId(settle.getSettleId());
|
|
119
|
+ cmcSettleSummary.setContent("实际结算总金额");
|
|
120
|
+ if (cmcSettleSummaryService.selectCmcSettleSummaryList(cmcSettleSummary).size() > 0) {
|
|
121
|
+ CmcSettleSummary settleSummary = cmcSettleSummaryService.selectCmcSettleSummaryList(cmcSettleSummary).get(0);
|
|
122
|
+ if (settleSummary.getAmount() != null)
|
|
123
|
+ amount = amount.add(settleSummary.getAmount());
|
|
124
|
+ }
|
|
125
|
+ }
|
|
126
|
+ amountObject.put(new SimpleDateFormat("yyyy").format(cmcSettle.getGmTime()), amount);
|
|
127
|
+ }
|
|
128
|
+ yearArray.add(yearObject);
|
|
129
|
+ amountArray.add(amountObject);
|
|
130
|
+ jsonObject.put("year", yearArray);
|
|
131
|
+ jsonObject.put("amount", amountArray);
|
|
132
|
+ return success(jsonObject);
|
|
133
|
+ }
|
|
134
|
+
|
68
|
135
|
/**
|
69
|
136
|
* 新增cmc结算审批
|
70
|
137
|
*/
|