|
|
@ -5,13 +5,16 @@ import java.util.Arrays; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
import com.jianwei.common.core.controller.BaseController; |
|
|
|
import com.jianwei.common.core.domain.SearchParam; |
|
|
|
import com.jianwei.common.utils.poi.ExcelUtil; |
|
|
|
import com.kms.build.domain.BsSgcJsjdBuiContInfo; |
|
|
|
import com.kms.build.domain.BsSgcJsjdBuiPurposeFunds; |
|
|
|
import com.kms.build.domain.BsSgcjsjdBuiProInfo; |
|
|
|
import com.kms.build.service.BsSgcJsjdBuiContInfoService; |
|
|
|
import com.kms.build.service.BsSgcJsjdBuiPurposeFundsService; |
|
|
|
import com.kms.build.service.BsSgcjsjdBuiProInfoService; |
|
|
|
import com.kms.common.utils.BaseEntityUtils; |
|
|
|
|
|
|
|
|
|
|
@ -51,6 +54,9 @@ public class BsSgcJsjdBuiPurposeFundsController extends BaseController { |
|
|
|
@Autowired |
|
|
|
private BsSgcJsjdBuiContInfoService bsSgcJsjdBuiContInfoService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private BsSgcjsjdBuiProInfoService bsSgcjsjdBuiProInfoService; |
|
|
|
|
|
|
|
/** |
|
|
|
* 查询资金用途列表 |
|
|
|
*/ |
|
|
@ -122,6 +128,19 @@ public class BsSgcJsjdBuiPurposeFundsController extends BaseController { |
|
|
|
//实付金额
|
|
|
|
String paidinAmount = purposeFunds.getPaidinAmount(); |
|
|
|
|
|
|
|
String proNo = purposeFunds.getProNo(); |
|
|
|
String proCode = purposeFunds.getProCode(); |
|
|
|
|
|
|
|
//h获取项目个像金额
|
|
|
|
BsSgcjsjdBuiProInfo proInfo = bsSgcjsjdBuiProInfoService.getOne(Wrappers.lambdaQuery(BsSgcjsjdBuiProInfo.class) |
|
|
|
.eq(BsSgcjsjdBuiProInfo::getProNo, proNo) |
|
|
|
.eq(BsSgcjsjdBuiProInfo::getProCode, proCode)); |
|
|
|
|
|
|
|
BigDecimal centralArrangedFunds = proInfo.getCentralArrangedFunds(); |
|
|
|
BigDecimal provincialFunding = proInfo.getProvincialFunding(); |
|
|
|
BigDecimal cityLevelFunds = proInfo.getCityLevelFunds(); |
|
|
|
BigDecimal countyLevelFunds = proInfo.getCountyLevelFunds(); |
|
|
|
BigDecimal townshipInvestments = proInfo.getTownshipInvestments(); |
|
|
|
|
|
|
|
String contractNumber = purposeFunds.getContractNumber(); |
|
|
|
QueryWrapper<BsSgcJsjdBuiContInfo> contInfoQueryWrapper = new QueryWrapper<>(); |
|
|
@ -138,6 +157,118 @@ public class BsSgcJsjdBuiPurposeFundsController extends BaseController { |
|
|
|
//实际支付全部金额
|
|
|
|
Double paidinTotal = 0.0; |
|
|
|
|
|
|
|
//中央应付金额
|
|
|
|
Double centerealTotal = 0.0; |
|
|
|
//中央实际支付金额
|
|
|
|
Double centerealPaidinTotal = 0.0; |
|
|
|
|
|
|
|
//省级应付金额
|
|
|
|
Double provinceTotal = 0.0; |
|
|
|
//省级实付金额
|
|
|
|
Double provincePaidinTotal = 0.0; |
|
|
|
//市级应付金额
|
|
|
|
Double cityTotal = 0.0; |
|
|
|
//市级实付金额
|
|
|
|
Double cityPaidinTotal = 0.0; |
|
|
|
|
|
|
|
//县(区)级应付金额
|
|
|
|
Double countyTotal = 0.0; |
|
|
|
//县(区)级实付金额
|
|
|
|
Double countyPaidinTotal = 0.0; |
|
|
|
|
|
|
|
//乡级应付金额
|
|
|
|
Double townshipTotal = 0.0; |
|
|
|
//乡级实付金额
|
|
|
|
Double townshipPaidinTotal = 0.0; |
|
|
|
|
|
|
|
//算出中央全部应付金额
|
|
|
|
if (!list.isEmpty()) { |
|
|
|
for (BsSgcJsjdBuiPurposeFunds bsSgcJsjdBuiPurposeFunds : list){ |
|
|
|
String amount = bsSgcJsjdBuiPurposeFunds.getCenterPayableAmount(); |
|
|
|
Double value = Double.valueOf(amount); |
|
|
|
centerealTotal += value; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//算出中央全部实付金额
|
|
|
|
if (!list.isEmpty()) { |
|
|
|
for (BsSgcJsjdBuiPurposeFunds bsSgcJsjdBuiPurposeFunds : list) { |
|
|
|
String amount = bsSgcJsjdBuiPurposeFunds.getCenterPaidinAmount(); |
|
|
|
Double value = Double.valueOf(amount); |
|
|
|
centerealPaidinTotal += value; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//算出省级全部应付金额
|
|
|
|
if (!list.isEmpty()) { |
|
|
|
for (BsSgcJsjdBuiPurposeFunds bsSgcJsjdBuiPurposeFunds : list) { |
|
|
|
String amount = bsSgcJsjdBuiPurposeFunds.getProvincialPayableAmount(); |
|
|
|
Double value = Double.valueOf(amount); |
|
|
|
provinceTotal += value; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//算出省级全部实付金额
|
|
|
|
if (!list.isEmpty()) { |
|
|
|
for (BsSgcJsjdBuiPurposeFunds bsSgcJsjdBuiPurposeFunds : list) { |
|
|
|
String amount = bsSgcJsjdBuiPurposeFunds.getProvincialPaidinAmount(); |
|
|
|
Double value = Double.valueOf(amount); |
|
|
|
provincePaidinTotal += value; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//算出市级全部应付金额
|
|
|
|
if (!list.isEmpty()) { |
|
|
|
for (BsSgcJsjdBuiPurposeFunds bsSgcJsjdBuiPurposeFunds : list) { |
|
|
|
String amount = bsSgcJsjdBuiPurposeFunds.getCityPayableAmount(); |
|
|
|
Double value = Double.valueOf(amount); |
|
|
|
cityTotal += value; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//算出市级全部实付金额
|
|
|
|
if (!list.isEmpty()) { |
|
|
|
for (BsSgcJsjdBuiPurposeFunds bsSgcJsjdBuiPurposeFunds : list) { |
|
|
|
String amount = bsSgcJsjdBuiPurposeFunds.getCityPaidinAmount(); |
|
|
|
Double value = Double.valueOf(amount); |
|
|
|
cityPaidinTotal += value; |
|
|
|
} |
|
|
|
} |
|
|
|
//算出县(区)级全部应付金额
|
|
|
|
if (!list.isEmpty()) { |
|
|
|
for (BsSgcJsjdBuiPurposeFunds bsSgcJsjdBuiPurposeFunds : list) { |
|
|
|
String amount = bsSgcJsjdBuiPurposeFunds.getCountyPayableAmount(); |
|
|
|
Double value = Double.valueOf(amount); |
|
|
|
countyTotal += value; |
|
|
|
} |
|
|
|
} |
|
|
|
//算出县(区)级全部实付金额
|
|
|
|
if (!list.isEmpty()) { |
|
|
|
for (BsSgcJsjdBuiPurposeFunds bsSgcJsjdBuiPurposeFunds : list) { |
|
|
|
String amount = bsSgcJsjdBuiPurposeFunds.getCountyPaidinAmount(); |
|
|
|
Double value = Double.valueOf(amount); |
|
|
|
countyPaidinTotal += value; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//算出乡级全部应付金额
|
|
|
|
if (!list.isEmpty()) { |
|
|
|
for (BsSgcJsjdBuiPurposeFunds bsSgcJsjdBuiPurposeFunds : list) { |
|
|
|
String amount = bsSgcJsjdBuiPurposeFunds.getTownshipPayableAmount(); |
|
|
|
Double value = Double.valueOf(amount); |
|
|
|
townshipTotal += value; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//算出乡级全部实付金额
|
|
|
|
if (!list.isEmpty()) { |
|
|
|
for (BsSgcJsjdBuiPurposeFunds bsSgcJsjdBuiPurposeFunds : list) { |
|
|
|
String amount = bsSgcJsjdBuiPurposeFunds.getTownshipPaidinAmount(); |
|
|
|
Double value = Double.valueOf(amount); |
|
|
|
townshipPaidinTotal += value; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//算出全部应付金额
|
|
|
|
if (!list.isEmpty()) { |
|
|
|
for (BsSgcJsjdBuiPurposeFunds bsSgcJsjdBuiPurposeFunds : list) { |
|
|
@ -154,14 +285,60 @@ public class BsSgcJsjdBuiPurposeFundsController extends BaseController { |
|
|
|
paidinTotal += value; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Double value = Double.valueOf(purposeFunds.getPayableAmount()); |
|
|
|
Double valueOf = Double.valueOf(paidinAmount); |
|
|
|
Double centerPay = Double.valueOf(purposeFunds.getCenterPayableAmount()); |
|
|
|
Double provincialPay = Double.valueOf(purposeFunds.getProvincialPayableAmount()); |
|
|
|
Double cityPay = Double.valueOf(purposeFunds.getCityPayableAmount()); |
|
|
|
Double countyPay = Double.valueOf(purposeFunds.getCountyPayableAmount()); |
|
|
|
Double townshipPay = Double.valueOf(purposeFunds.getTownshipPayableAmount()); |
|
|
|
Double centerPai = Double.valueOf(purposeFunds.getCenterPaidinAmount()); |
|
|
|
Double provincialPai = Double.valueOf(purposeFunds.getProvincialPaidinAmount()); |
|
|
|
Double cityPai = Double.valueOf(purposeFunds.getCityPaidinAmount()); |
|
|
|
Double countyPai = Double.valueOf(purposeFunds.getCountyPaidinAmount()); |
|
|
|
Double townshipPai = Double.valueOf(purposeFunds.getTownshipPaidinAmount()); |
|
|
|
|
|
|
|
centerealTotal+=centerPay; |
|
|
|
|
|
|
|
provinceTotal+=provincialPay; |
|
|
|
cityTotal+=cityPay; |
|
|
|
countyTotal+=countyPay; |
|
|
|
townshipTotal+=townshipPay; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (centerealTotal > centralArrangedFunds.doubleValue()) { |
|
|
|
return AjaxResult.error("中央应付金额不能大于中央金额!"); |
|
|
|
} |
|
|
|
|
|
|
|
if (provinceTotal > provincialFunding.doubleValue()) { |
|
|
|
return AjaxResult.error("省级应付金额不能大于省级金额!"); |
|
|
|
} |
|
|
|
if (cityTotal > cityLevelFunds.doubleValue()) { |
|
|
|
return AjaxResult.error("市级应付金额不能大于市级金额!"); |
|
|
|
} |
|
|
|
if (countyTotal > countyLevelFunds.doubleValue()) { |
|
|
|
return AjaxResult.error("县(区)级应付金额不能大于县(区)级金额!"); |
|
|
|
} |
|
|
|
if (townshipTotal > townshipInvestments.doubleValue()) { |
|
|
|
return AjaxResult.error("乡级应付金额不能大于乡级金额!"); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
paidinTotal += valueOf; |
|
|
|
total += value; |
|
|
|
if (total > Double.parseDouble(contractAmount)) { |
|
|
|
return AjaxResult.error("资金支付金额不能大于合同金额"); |
|
|
|
} else { |
|
|
|
contInfo.setActualPayment(BigDecimal.valueOf(paidinTotal)); |
|
|
|
contInfo.setCenterPaidinAmount(String.valueOf(centerealTotal)); |
|
|
|
contInfo.setProvincialPaidinAmount(String.valueOf(provinceTotal)); |
|
|
|
contInfo.setCityPaidinAmount(String.valueOf(cityTotal)); |
|
|
|
contInfo.setCountyPaidinAmount(String.valueOf(countyTotal)); |
|
|
|
contInfo.setTownshipPaidinAmount(String.valueOf(townshipTotal)); |
|
|
|
bsSgcJsjdBuiContInfoService.updateById(contInfo); |
|
|
|
return toAjax(bsSgcJsjdBuiPurposeFundsService.save(purposeFunds)); |
|
|
|
} |
|
|
|