收入合同完善
This commit is contained in:
+1
-2
@@ -13,8 +13,7 @@
|
||||
</where>
|
||||
<!--工作组项目-->
|
||||
UNION ALL
|
||||
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'','',gsub.remarks,gsub.contract_num,gsub.charge_company_temporary_id,gsub.charge_way,
|
||||
(select GROUP_CONCAT(file_id) from pay_distribution_record where project_id=gsub.id) as files
|
||||
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'','',gsub.remarks,gsub.contract_num,gsub.charge_company_temporary_id,gsub.charge_way,''
|
||||
from pay_working_group g
|
||||
inner join pay_working_group_subitem gsub on g.id = gsub.working_group_id
|
||||
<where>
|
||||
|
||||
+18
-12
@@ -125,7 +125,7 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
||||
projectDetailVO.setPack_dictText(sysBaseAPI.translateDict("yn",String.valueOf(payCommonProject.getPack())));
|
||||
}
|
||||
// 标协会员,直接查询企业,联系人
|
||||
if(Objects.equals(payCommonProject.getProjectType(), ProjectCommon.PROJECT_TYPE5)){
|
||||
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE5)){
|
||||
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(payCommonProject.getChargeCompanyTemporaryId());
|
||||
if(Objects.isNull(payCompanyManagement)){
|
||||
throw new JeroBootException("企业不存在!");
|
||||
@@ -207,13 +207,19 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
||||
if(Objects.isNull(payCommonProject)){
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
if(Objects.isNull(payCommonProject.getReceivableAmount())){
|
||||
payCommonProject.setReceivableAmount(new BigDecimal("0.00"));
|
||||
}
|
||||
if(Objects.isNull(payCommonProject.getPaidAmount())){
|
||||
payCommonProject.setPaidAmount(new BigDecimal("0.00"));
|
||||
}
|
||||
|
||||
// 应收金额没有变更 && 验证来款方式没有变更
|
||||
if(receivableAmount.compareTo(payCommonProject.getReceivableAmount()) == 0 && needInvoice == payCommonProject.getNeedInvoice()){
|
||||
if(receivableAmount.compareTo(payCommonProject.getReceivableAmount()) == 0 && needInvoice.equals(payCommonProject.getNeedInvoice())){
|
||||
return null;
|
||||
}
|
||||
// 验证来款方式,有变更,按照变更处理
|
||||
if(needInvoice != payCommonProject.getNeedInvoice()){
|
||||
if(!needInvoice.equals(payCommonProject.getNeedInvoice())){
|
||||
payCommonProject.setNeedInvoice(needInvoice);
|
||||
}
|
||||
ProjectStatusVO projectStatusVO = new ProjectStatusVO();
|
||||
@@ -229,8 +235,8 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
||||
if(!CollectionUtils.isEmpty(listPayMailBillProject)){
|
||||
BigDecimal b = listPayMailBillProject.stream().map(PayMailBillProject::getInvoiceAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
|
||||
invoice = invoice.add(b);
|
||||
if(receivableAmount.compareTo(invoice) == -1){
|
||||
throw new JeroBootException("应收金额不能小于开票金额!");
|
||||
if(receivableAmount.compareTo(invoice) < 0){
|
||||
throw new JeroBootException("应收金额不可小于实收金额,请先修改实际来款后再来修改!");
|
||||
}
|
||||
List<String> list = listPayMailBillProject.stream().map(PayMailBillProject::getBillId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<PayMailBill> queryPayMailBill = new LambdaQueryWrapper<>();
|
||||
@@ -249,8 +255,8 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
||||
projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT0);
|
||||
}
|
||||
// 0 < 实收金额 && 实收金额 < 应收金额 = 2
|
||||
if(payCommonProject.getPaidAmount().compareTo(new BigDecimal("0.00")) == 1
|
||||
&& payCommonProject.getPaidAmount().compareTo(receivableAmount) ==-1){
|
||||
if(payCommonProject.getPaidAmount().compareTo(new BigDecimal("0.00")) > 0
|
||||
&& payCommonProject.getPaidAmount().compareTo(receivableAmount) < 0){
|
||||
projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT2);
|
||||
}
|
||||
// 开票
|
||||
@@ -258,16 +264,16 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
||||
if(Objects.equals(payCommonProject.getNeedInvoice(),ProjectCommon.NEED_INVOICE0)){
|
||||
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE0);
|
||||
}else{
|
||||
// 开票金额 = 0 || 开票金额 = 到账金额 = 1
|
||||
if(invoice.compareTo(new BigDecimal("0.00")) == 0 || invoice.compareTo(payCommonProject.getPaidAmount()) == 0){
|
||||
// 开票金额 = 应收金额 || 开票金额 = 到账金额 = 1
|
||||
if(invoice.compareTo(receivableAmount) == 0 || invoice.compareTo(payCommonProject.getPaidAmount()) == 0){
|
||||
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE1);
|
||||
}
|
||||
// 开票金额 = 应收金额 = 0
|
||||
if(invoice.compareTo(receivableAmount) == 0){
|
||||
// 开票金额 = 0 = 0
|
||||
if(invoice.compareTo(new BigDecimal("0.00")) == 0){
|
||||
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE0);
|
||||
}
|
||||
// 开票金额 > 0 && 开票金额 < 实收金额 = 2
|
||||
if(invoice.compareTo(new BigDecimal("0.00")) == 1 && invoice.compareTo(payCommonProject.getPaidAmount()) == -1){
|
||||
if(invoice.compareTo(new BigDecimal("0.00")) > 0 && invoice.compareTo(payCommonProject.getPaidAmount()) < 0){
|
||||
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE2);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user