|
@@ -129,14 +129,15 @@ public class PrjPayplanController extends BaseController {
|
129
|
129
|
// 判断当前 合同下支付计划是否超额
|
130
|
130
|
List<PrjPayplan> list = prjPayplanService.getPayPlanList(prjPayplan.getHt());
|
131
|
131
|
// 使用 Stream 计算总和
|
132
|
|
- Double je = 0.00 + prjPayplan.getZfje();
|
133
|
|
- for (int i = 0; i<list.size();i++){
|
134
|
|
- je = je + list.get(i).getZfje();
|
|
132
|
+ BigDecimal je = BigDecimal.ZERO;
|
|
133
|
+ for (int i = 0; i < list.size(); i++) {
|
|
134
|
+ BigDecimal currentZfje = BigDecimal.valueOf(list.get(i).getZfje());
|
|
135
|
+ je = je.add(currentZfje);
|
135
|
136
|
}
|
136
|
|
- BigDecimal jes = BigDecimal.valueOf(je);
|
137
|
|
- jes = jes.setScale(3, BigDecimal.ROUND_HALF_UP);
|
|
137
|
+ je = je.setScale(3, BigDecimal.ROUND_HALF_UP);
|
138
|
138
|
BigDecimal htjes = BigDecimal.valueOf(htje);
|
139
|
|
- if (jes.compareTo(htjes) <= 0){
|
|
139
|
+
|
|
140
|
+ if (je.compareTo(htjes) <= 0){
|
140
|
141
|
prjPayplan.setCjr(getSysUserId());
|
141
|
142
|
int num = prjPayplanService.insert(prjPayplan);
|
142
|
143
|
if (num > 0)
|
|
@@ -161,17 +162,17 @@ public class PrjPayplanController extends BaseController {
|
161
|
162
|
|
162
|
163
|
//再次校验付款计划总金额
|
163
|
164
|
Double count = 0.0;
|
164
|
|
- for (int i = 0; i <prjPayplanList.size(); i++) {
|
165
|
|
- count +=prjPayplanList.get(i).getZfje();
|
|
165
|
+ BigDecimal countBD = BigDecimal.ZERO;
|
|
166
|
+ for (int i = 0; i < prjPayplanList.size(); i++) {
|
|
167
|
+ BigDecimal currentZfje = BigDecimal.valueOf(prjPayplanList.get(i).getZfje());
|
|
168
|
+ countBD = countBD.add(currentZfje);
|
166
|
169
|
Integer id = prjPayplanList.get(i).getId();
|
167
|
170
|
if (id!=null){
|
168
|
|
- prjPayplanUpdateList.add(prjPayplanList.get(i));
|
169
|
|
- }else {
|
170
|
|
- prjPayplanAddList.add(prjPayplanList.get(i));
|
|
171
|
+ prjPayplanUpdateList.add(prjPayplanList.get(i));
|
|
172
|
+ } else {
|
|
173
|
+ prjPayplanAddList.add(prjPayplanList.get(i));
|
171
|
174
|
}
|
172
|
|
-
|
173
|
175
|
}
|
174
|
|
- BigDecimal countBD = BigDecimal.valueOf(count);
|
175
|
176
|
BigDecimal htjeBD = BigDecimal.valueOf(htje);
|
176
|
177
|
if (countBD.compareTo(htjeBD) == 0) {
|
177
|
178
|
for (int i = 0; i < prjPayplanAddList.size(); i++) {
|