收入合同已收金额变更
This commit is contained in:
+57
-22
@@ -456,8 +456,15 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
||||
if(!Objects.isNull(p.getChargeUse())){
|
||||
p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",String.valueOf(p.getChargeUse())));
|
||||
}
|
||||
if(Objects.isNull(p.getPaidAmount())){
|
||||
p.setPaidAmount(new BigDecimal("0.00"));
|
||||
}
|
||||
});
|
||||
BigDecimal b = listProject.stream().map(ProjectOutput::getPaidAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
|
||||
payIncomeContractDetailOutput.setAmountReceived(b);
|
||||
payIncomeContractDetailOutput.setListProject(listProject);
|
||||
}else{
|
||||
payIncomeContractDetailOutput.setAmountReceived(new BigDecimal("0.00"));
|
||||
}
|
||||
return Result.OK(payIncomeContractDetailOutput);
|
||||
}
|
||||
@@ -520,8 +527,15 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
||||
if(!Objects.isNull(p.getChargeUse())){
|
||||
p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",String.valueOf(p.getChargeUse())));
|
||||
}
|
||||
if(Objects.isNull(p.getPaidAmount())){
|
||||
p.setPaidAmount(new BigDecimal("0.00"));
|
||||
}
|
||||
});
|
||||
BigDecimal b = listProject.stream().map(ProjectOutput::getPaidAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
|
||||
payIncomeContractDetailOutput.setAmountReceived(b);
|
||||
payIncomeContractDetailOutput.setListProject(listProject);
|
||||
}else{
|
||||
payIncomeContractDetailOutput.setAmountReceived(new BigDecimal("0.00"));
|
||||
}
|
||||
if(!CollectionUtils.isEmpty(listArchive)){
|
||||
payIncomeContractDetailOutput.setListArchive(listArchive);
|
||||
@@ -571,34 +585,55 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
||||
LambdaQueryWrapper<PayIncomeContractInstallment> query = new LambdaQueryWrapper<>();
|
||||
query.in(PayIncomeContractInstallment::getContractId,listId);
|
||||
List<PayIncomeContractInstallment> listPayIncomeContractInstallment = payIncomeContractInstallmentService.list(query);
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){
|
||||
exportList.forEach(p->{
|
||||
String str = JSON.toJSONString(p);
|
||||
Map<String,String> map = JSONObject.parseObject(str,Map.class);
|
||||
map.put("contractDate",DateUtils.date2Str(p.getContractDate(),new SimpleDateFormat("yyyy-MM-dd")));
|
||||
map.put("terminationDate",DateUtils.date2Str(p.getTerminationDate(),new SimpleDateFormat("yyyy-MM-dd")));
|
||||
map.put("opening",sysBaseAPI.translateDict("yn",String.valueOf(p.getOpening())));
|
||||
map.put("accountStatus",sysBaseAPI.translateDict("revenue_contract_account_status",String.valueOf(p.getAccountStatus())));
|
||||
map.put("pack",sysBaseAPI.translateDict("yn",String.valueOf(p.getPack())));
|
||||
List<PayIncomeContractInstallment> listSub = listPayIncomeContractInstallment.stream().filter(item->
|
||||
Objects.equals(p.getId(),item.getContractId())).collect(Collectors.toList());
|
||||
if(!CollectionUtils.isEmpty(listSub)){
|
||||
exportList.forEach(p->{
|
||||
if(Objects.isNull(p.getAccountsReceivableAmount())){
|
||||
p.setAccountsReceivableAmount(new BigDecimal("0.00"));
|
||||
}
|
||||
if(Objects.isNull(p.getAmountReceived())){
|
||||
p.setAmountReceived(new BigDecimal("0.00"));
|
||||
}
|
||||
p.setOutstandingAmount(p.getAccountsReceivableAmount().subtract(p.getAmountReceived()));
|
||||
// 已收全款
|
||||
if(p.getOutstandingAmount().compareTo(new BigDecimal("0.00")) == 0
|
||||
|| p.getOutstandingAmount().compareTo(new BigDecimal("0.00")) < 0){
|
||||
p.setAccountStatus(PayIncomeContractCommon.ACCOUNT_STATUS3);
|
||||
}
|
||||
// 部分收款
|
||||
if(p.getOutstandingAmount().compareTo(new BigDecimal("0.00")) > 0 && p.getOutstandingAmount().compareTo(p.getAccountsReceivableAmount()) < 0){
|
||||
p.setAccountStatus(PayIncomeContractCommon.ACCOUNT_STATUS2);
|
||||
}
|
||||
// 待收款
|
||||
if(p.getOutstandingAmount().compareTo(p.getAccountsReceivableAmount()) == 0 && p.getAccountsReceivableAmount().compareTo(new BigDecimal("0.00")) > 0 ){
|
||||
p.setAccountStatus(PayIncomeContractCommon.ACCOUNT_STATUS1);
|
||||
}
|
||||
String str = JSON.toJSONString(p);
|
||||
Map<String,String> map = JSONObject.parseObject(str,Map.class);
|
||||
map.put("contractDate",DateUtils.date2Str(p.getContractDate(),new SimpleDateFormat("yyyy-MM-dd")));
|
||||
map.put("terminationDate",DateUtils.date2Str(p.getTerminationDate(),new SimpleDateFormat("yyyy-MM-dd")));
|
||||
map.put("opening",sysBaseAPI.translateDict("yn",String.valueOf(p.getOpening())));
|
||||
map.put("accountStatus",sysBaseAPI.translateDict("revenue_contract_account_status",String.valueOf(p.getAccountStatus())));
|
||||
map.put("pack",sysBaseAPI.translateDict("yn",String.valueOf(p.getPack())));
|
||||
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)) {
|
||||
List<PayIncomeContractInstallment> listSub = listPayIncomeContractInstallment.stream().filter(item ->
|
||||
Objects.equals(p.getId(), item.getContractId())).collect(Collectors.toList());
|
||||
if (!CollectionUtils.isEmpty(listSub)) {
|
||||
int count = mapCount.get("count");
|
||||
if(count < listSub.size()){
|
||||
mapCount.put("count",listSub.size());
|
||||
if (count < listSub.size()) {
|
||||
mapCount.put("count", listSub.size());
|
||||
}
|
||||
listSub.forEach(p1->{
|
||||
listSub.forEach(p1 -> {
|
||||
int n = listSub.indexOf(p1) + 1;
|
||||
map.put("phaseName" + n,p1.getPhaseName());
|
||||
map.put("accountsReceivableAmount" + n,Objects.isNull(p1.getAccountsReceivableAmount()) ? "" : String.valueOf(p1.getAccountsReceivableAmount()));
|
||||
map.put("accountsReceivableTime" + n, DateUtils.date2Str(p1.getAccountsReceivableTime(),new SimpleDateFormat("yyyy-MM-dd")));
|
||||
map.put("paidAmount" + n,Objects.isNull(p1.getPaidAmount()) ? "" : String.valueOf(p1.getPaidAmount()));
|
||||
map.put("paidTime" + n,DateUtils.date2Str(p1.getPaidTime(),new SimpleDateFormat("yyyy-MM-dd")));
|
||||
map.put("phaseName" + n, p1.getPhaseName());
|
||||
map.put("accountsReceivableAmount" + n, Objects.isNull(p1.getAccountsReceivableAmount()) ? "" : String.valueOf(p1.getAccountsReceivableAmount()));
|
||||
map.put("accountsReceivableTime" + n, DateUtils.date2Str(p1.getAccountsReceivableTime(), new SimpleDateFormat("yyyy-MM-dd")));
|
||||
map.put("paidAmount" + n, Objects.isNull(p1.getPaidAmount()) ? "" : String.valueOf(p1.getPaidAmount()));
|
||||
map.put("paidTime" + n, DateUtils.date2Str(p1.getPaidTime(), new SimpleDateFormat("yyyy-MM-dd")));
|
||||
});
|
||||
}
|
||||
list.add(map);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}else{
|
||||
throw new JeroBootException("数据为空!");
|
||||
}
|
||||
|
||||
+7
-9
@@ -231,9 +231,6 @@
|
||||
pic.termination_date AS terminationDate,
|
||||
pic.contract_time_points AS contractTimePoints,
|
||||
pic.accounts_receivable_amount AS accountsReceivableAmount,
|
||||
pic.amount_received AS amountReceived,
|
||||
pic.outstanding_amount AS outstandingAmount,
|
||||
pic.account_status AS accountStatus,
|
||||
pic.contract_payment_times AS contractPaymentTimes,
|
||||
pic.pack,
|
||||
pic.pack_year AS packYear,
|
||||
@@ -248,26 +245,27 @@
|
||||
where contract_id = pic.id AND accounts_receivable_time is not null AND accounts_receivable_time < DATE_FORMAT( NOW(), '%Y-%m-%d' )
|
||||
AND accounts_receivable_amount != 0 AND accounts_receivable_amount > if(paid_amount is null or paid_amount = '',0,paid_amount)
|
||||
) AS chargeStatus,
|
||||
GROUP_CONCAT(project.projectName ORDER BY project.id DESC) AS associatedProject
|
||||
GROUP_CONCAT(project.projectName ORDER BY project.id DESC) AS associatedProject,
|
||||
sum(project.paid_amount) as amountReceived
|
||||
FROM pay_income_contract pic
|
||||
LEFT JOIN pay_income_contract_associated pica ON pica.contract_id = pic.id
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT id,charge_project AS projectName FROM pay_common_project
|
||||
SELECT id,charge_project AS projectName,paid_amount FROM pay_common_project
|
||||
UNION ALL
|
||||
SELECT pwgs.id,pwg.working_group_project AS projectName FROM pay_working_group_subitem pwgs
|
||||
SELECT pwgs.id,pwg.working_group_project AS projectName,paid_amount FROM pay_working_group_subitem pwgs
|
||||
LEFT JOIN pay_working_group pwg ON pwg.id = pwgs.working_group_id
|
||||
WHERE pwg.working_group_project IS NOT NULL AND pwg.working_group_project != ''
|
||||
UNION ALL
|
||||
SELECT sit.id,meeting.meeting_name AS projectName FROM pay_meeting meeting
|
||||
SELECT sit.id,meeting.meeting_name AS projectName,paid_amount FROM pay_meeting meeting
|
||||
INNER JOIN pay_meeting_situation sit ON meeting.id = sit.meeting_id
|
||||
WHERE meeting.meeting_name IS NOT NULL AND meeting.meeting_name != ''
|
||||
UNION ALL
|
||||
SELECT msub.id,pmp.project_name AS projectName FROM pay_member_project pmp
|
||||
SELECT msub.id,pmp.project_name AS projectName,paid_amount FROM pay_member_project pmp
|
||||
INNER JOIN pay_member_project_subitem msub ON pmp.id = msub.project_id
|
||||
WHERE pmp.project_name IS NOT NULL AND pmp.project_name != ''
|
||||
UNION ALL
|
||||
SELECT tmsub.id,tmember.project_name AS projectName FROM tb_member_project tmember
|
||||
SELECT tmsub.id,tmember.project_name AS projectName,paid_amount FROM tb_member_project tmember
|
||||
INNER JOIN tb_member_project_subitem tmsub ON tmember.id=tmsub.project_id
|
||||
where tmember.project_name IS NOT NULL AND tmember.project_name != ''
|
||||
) project ON project.id = pica.project_id
|
||||
|
||||
+8
-8
@@ -138,10 +138,10 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
if(Objects.isNull(payIncomeContract)){
|
||||
throw new JeroBootException("收入合同信息不能为空!");
|
||||
}
|
||||
if(!Objects.isNull(payIncomeContract.getAccountsReceivableAmount()) && !Objects.isNull(payIncomeContract.getAmountReceived())
|
||||
&& payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) < 0){
|
||||
throw new JeroBootException("已收金额大于应收金额!");
|
||||
}
|
||||
// if(!Objects.isNull(payIncomeContract.getAccountsReceivableAmount()) && !Objects.isNull(payIncomeContract.getAmountReceived())
|
||||
// && payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) < 0){
|
||||
// throw new JeroBootException("已收金额大于应收金额!");
|
||||
// }
|
||||
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract);
|
||||
if(!StringUtils.isBlank(msgPayIncomeContract)){
|
||||
throw new JeroBootException(msgPayIncomeContract.toString());
|
||||
@@ -235,10 +235,10 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
if(Objects.isNull(input.getContract())){
|
||||
throw new JeroBootException("收入合同信息不能为空!");
|
||||
}
|
||||
if(!Objects.isNull(payIncomeContract.getAccountsReceivableAmount()) && !Objects.isNull(payIncomeContract.getAmountReceived())
|
||||
&& payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) < 0){
|
||||
throw new JeroBootException("已收金额大于应收金额!");
|
||||
}
|
||||
// if(!Objects.isNull(payIncomeContract.getAccountsReceivableAmount()) && !Objects.isNull(payIncomeContract.getAmountReceived())
|
||||
// && payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) < 0){
|
||||
// throw new JeroBootException("已收金额大于应收金额!");
|
||||
// }
|
||||
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract);
|
||||
if(!StringUtils.isBlank(msgPayIncomeContract)){
|
||||
throw new JeroBootException(msgPayIncomeContract.toString());
|
||||
|
||||
Reference in New Issue
Block a user