add 确认收入新增和编辑功能增加税额,列表返回确认收入状态
This commit is contained in:
+9
@@ -1,11 +1,20 @@
|
||||
package com.jero.payment.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.member.entity.TbCertificatePayment;
|
||||
import com.jero.payment.entity.PayConfirmPaymentRecord;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2022-06-08 17:24
|
||||
*/
|
||||
public interface PayConfirmPaymentRecordMapper extends BaseMapper<PayConfirmPaymentRecord> {
|
||||
List<PayConfirmPaymentRecord> selectByProjectId(@Param("projectId")String projectId);
|
||||
PayConfirmPaymentRecord selectOneByProjectIdAndProjectType(@Param("projectId")String projectId,@Param("projectType")String projectType);
|
||||
|
||||
|
||||
|
||||
}
|
||||
+23
-1
@@ -10,12 +10,34 @@
|
||||
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
<result column="project_id" jdbcType="VARCHAR" property="projectId" />
|
||||
<result column="project_type" jdbcType="VARCHAR" property="projectType" />
|
||||
<result column="amount_received" jdbcType="DECIMAL" property="amountReceived" />
|
||||
<result column="payment_date" jdbcType="DATE" property="paymentDate" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
id, create_by, create_time, update_by, update_time, project_id, amount_received,
|
||||
id, create_by, create_time, update_by, update_time, project_id, amount_received,project_type,
|
||||
payment_date
|
||||
</sql>
|
||||
|
||||
<!--auto generated by MybatisCodeHelper on 2022-08-02-->
|
||||
<select id="selectByProjectId" resultMap="BaseResultMap">
|
||||
select sum(amount_received) as amount_received,
|
||||
sum(tax) as tax,
|
||||
sum(no_tax_amount) as no_tax_amount
|
||||
from pay_confirm_payment_record
|
||||
where project_id = #{projectId,jdbcType=VARCHAR}
|
||||
group by project_id
|
||||
</select>
|
||||
|
||||
<!--auto generated by MybatisCodeHelper on 2022-08-02-->
|
||||
<select id="selectOneByProjectIdAndProjectType" resultMap="BaseResultMap">
|
||||
select sum(amount_received) as amount_received,
|
||||
sum(tax) as tax,
|
||||
sum(no_tax_amount) as no_tax_amount
|
||||
from pay_confirm_payment_record
|
||||
where project_id = #{projectId,jdbcType=VARCHAR}
|
||||
and project_type = #{projectType}
|
||||
group by project_id
|
||||
</select>
|
||||
</mapper>
|
||||
+7
-7
@@ -5,11 +5,11 @@
|
||||
<!-- 到账开票主列表-->
|
||||
<select id="mainList" resultType="com.jero.project.entity.PayCommonProject">
|
||||
select p.id,p.charge_project, p.charge_use, p.principal_id,p.principal_name,p.charge_company_id,p.charge_company_temporary_name,p.receivable_amount,p.paid_amount,p.need_invoice,p.pack,p.in_account,p.make_invoice,p.mail,p.create_time,p.projectType,
|
||||
p.invoice_amount,p.mail_contacts_id,p.register_check_result,p.contacts_temporary_name,p.payment_status,p.charge_company_temporary_id,p.confirm_amount
|
||||
p.invoice_amount,p.mail_contacts_id,p.register_check_result,p.contacts_temporary_name,p.payment_status,p.charge_company_temporary_id,p.confirm_amount,p.affirm_income
|
||||
from
|
||||
(<!-- 普通项目-->
|
||||
select c.id,c.charge_project, c.charge_use, c.principal_id,su.realname as principal_name,c.charge_company_id,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType,
|
||||
c.invoice_amount,c.mail_contacts_id,'' as register_check_result,c.contacts_temporary_name,c.payment_status,c.charge_company_temporary_id,c.confirm_amount
|
||||
c.invoice_amount,c.mail_contacts_id,'' as register_check_result,c.contacts_temporary_name,c.payment_status,c.charge_company_temporary_id,c.confirm_amount,c.affirm_income
|
||||
from pay_common_project c
|
||||
left join sys_user su on c.principal_id = su.id
|
||||
where
|
||||
@@ -40,7 +40,7 @@
|
||||
<!--工作组项目-->
|
||||
UNION ALL
|
||||
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,su.realname,gsub.charge_company_id,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.invoice_amount,gsub.mail_contacts_id,'' as register_check_result,gsubc.contacts_temporary_name as contacts_temporary_name_one,gsub.payment_status,gsub.charge_company_temporary_id,gsub.confirm_amount
|
||||
gsub.invoice_amount,gsub.mail_contacts_id,'' as register_check_result,gsubc.contacts_temporary_name as contacts_temporary_name_one,gsub.payment_status,gsub.charge_company_temporary_id,gsub.confirm_amount,gsub.affirm_income
|
||||
from pay_working_group g
|
||||
left join sys_user su on g.principal_id_a = su.id
|
||||
inner join pay_working_group_subitem gsub on g.id = gsub.working_group_id
|
||||
@@ -73,7 +73,7 @@
|
||||
<!-- 会议项目-->
|
||||
UNION ALL
|
||||
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, su.realname,sit.company_id,sit.company_name,sit.amount_receivable,sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,
|
||||
sit.invoice_amount,sit.post_contact_id,sit.register_check_result,sit.company_contact_name,sit.payment_status,sit.company_id,sit.confirm_amount
|
||||
sit.invoice_amount,sit.post_contact_id,sit.register_check_result,sit.company_contact_name,sit.payment_status,sit.company_id,sit.confirm_amount,sit.affirm_income
|
||||
from pay_meeting meeting
|
||||
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
|
||||
left join sys_user su on su.id = meeting.director_id
|
||||
@@ -105,7 +105,7 @@
|
||||
<!-- 会员项目-->
|
||||
UNION ALL
|
||||
select msub.id,pmp.project_name,msub.charge_use,pmp.director_id,su.realname,msub.company_id,msub.company_name,msub.amount_receivable,msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,
|
||||
msub.invoice_amount,msub.post_contact_id,'' as register_check_result,msub.company_contact_name,msub.payment_status,msub.company_temporary_id,msub.confirm_amount
|
||||
msub.invoice_amount,msub.post_contact_id,'' as register_check_result,msub.company_contact_name,msub.payment_status,msub.company_temporary_id,msub.confirm_amount,msub.affirm_income
|
||||
from pay_member_project pmp
|
||||
inner join pay_member_project_subitem msub on pmp.id=msub.project_id
|
||||
left join sys_user su on su.id = pmp.director_id
|
||||
@@ -137,7 +137,7 @@
|
||||
<!-- 标协会员项目-->
|
||||
UNION ALL
|
||||
select tmsub.id,tmember.project_name,tmsub.charge_use,tmember.director_id,su.realname,tmsub.company_id,tmsub.company_name,tmsub.amount_receivable,tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,
|
||||
tmsub.invoice_amount,tmsub.liaison_man_id,'' as register_check_result,tmsub.liaison_man,tmsub.payment_status,tmsub.company_id,tmsub.confirm_amount
|
||||
tmsub.invoice_amount,tmsub.liaison_man_id,'' as register_check_result,tmsub.liaison_man,tmsub.payment_status,tmsub.company_id,tmsub.confirm_amount,tmsub.affirm_income
|
||||
from tb_member_project tmember
|
||||
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
|
||||
left join sys_user su on su.id = tmember.director_id
|
||||
@@ -169,7 +169,7 @@
|
||||
<!-- 标协证书项目-->
|
||||
UNION ALL
|
||||
select tcp.id,tmember.project_name,tcp.charge_use,tmember.director_id,su.realname,tcp.company_id,tcp.company_name,tcp.amount_receivable,tcp.paid_amount,tcp.invoice_requirements,tcp.pack,tcp.in_account,tcp.make_invoice,tcp.mail,tcp.create_time,6,
|
||||
tcp.invoice_amount,tcp.liaison_man_id,'' as register_check_result,tcp.liaison_man,tcp.payment_status,tcp.company_id,tcp.confirm_amount
|
||||
tcp.invoice_amount,tcp.liaison_man_id,'' as register_check_result,tcp.liaison_man,tcp.payment_status,tcp.company_id,tcp.confirm_amount,tcp.affirm_income
|
||||
from tb_member_project tmember
|
||||
inner join tb_certificate_payment tcp on tmember.id=tcp.project_id
|
||||
left join sys_user su on su.id = tmember.director_id
|
||||
|
||||
+48
-3
@@ -13,6 +13,7 @@ import com.jero.member.entity.*;
|
||||
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
|
||||
import com.jero.member.mapper.TbCertificatePaymentMapper;
|
||||
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
||||
import com.jero.payment.service.IPayPaymentRecordService;
|
||||
import com.jero.payment.vo.TbCheckVo;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
@@ -22,9 +23,11 @@ import com.jero.project.entity.PayWorkingGroupSubItemContacts;
|
||||
import com.jero.project.mapper.PayCommonProjectMapper;
|
||||
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -52,17 +55,35 @@ public class PayConfirmPaymentRecordService extends ServiceImpl<PayConfirmPaymen
|
||||
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
|
||||
@Resource
|
||||
private TbCertificatePaymentMapper certificatePaymentMapper;
|
||||
@Autowired
|
||||
private IPayPaymentRecordService payPaymentRecordService;
|
||||
|
||||
|
||||
public void add(PayConfirmPaymentRecord payConfirmPaymentRecord) {
|
||||
|
||||
//如果没有填写税额就存入默认税额
|
||||
BigDecimal noTaxAmount = payConfirmPaymentRecord.getNoTaxAmount();
|
||||
BigDecimal tax = payConfirmPaymentRecord.getTax();
|
||||
BigDecimal amountReceived = payConfirmPaymentRecord.getAmountReceived();
|
||||
if (noTaxAmount == null || tax == null){
|
||||
noTaxAmount = amountReceived.divide(new BigDecimal("1.06"), 2, RoundingMode.HALF_UP);
|
||||
tax = amountReceived.subtract(noTaxAmount);
|
||||
payConfirmPaymentRecord.setNoTaxAmount(noTaxAmount);
|
||||
payConfirmPaymentRecord.setTax(tax);
|
||||
}
|
||||
payPaymentRecordService.isTax(noTaxAmount,tax,amountReceived);
|
||||
save(payConfirmPaymentRecord);
|
||||
updateConfirmAmount(payConfirmPaymentRecord);
|
||||
}
|
||||
|
||||
private void updateConfirmAmount(PayConfirmPaymentRecord payConfirmPaymentRecord) {
|
||||
private void updateConfirmAmount(PayConfirmPaymentRecord payConfirmPaymentRecord) {
|
||||
String projectId = payConfirmPaymentRecord.getProjectId();
|
||||
String projectType = payConfirmPaymentRecord.getProjectType();
|
||||
BigDecimal confirmAmount = payConfirmPaymentRecord.getAmountReceived();
|
||||
//获得金额的和
|
||||
PayConfirmPaymentRecord confirmPaymentRecord = baseMapper.selectOneByProjectIdAndProjectType(projectId, projectType);
|
||||
BigDecimal confirmAmount = confirmPaymentRecord.getAmountReceived();
|
||||
BigDecimal noTaxAmount = confirmPaymentRecord.getNoTaxAmount();
|
||||
BigDecimal tax = confirmPaymentRecord.getTax();
|
||||
Integer affirmIncome;
|
||||
switch (projectType){
|
||||
|
||||
// 普通项目
|
||||
@@ -74,6 +95,10 @@ public class PayConfirmPaymentRecordService extends ServiceImpl<PayConfirmPaymen
|
||||
}
|
||||
//更新主列表
|
||||
payCommonProject.setConfirmAmount(confirmAmount);
|
||||
payCommonProject.setConfirmTax(tax);
|
||||
payCommonProject.setConfirmNoTaxAmount(noTaxAmount);
|
||||
affirmIncome = payPaymentRecordService.getInAccount(payCommonProject.getReceivableAmount(), confirmAmount);
|
||||
payCommonProject.setAffirmIncome(affirmIncome);
|
||||
payCommonProjectMapper.updateById(payCommonProject);
|
||||
|
||||
break;
|
||||
@@ -85,6 +110,10 @@ public class PayConfirmPaymentRecordService extends ServiceImpl<PayConfirmPaymen
|
||||
}
|
||||
//更新主列表
|
||||
payWorking.setConfirmAmount(confirmAmount);
|
||||
payWorking.setConfirmTax(tax);
|
||||
payWorking.setConfirmNoTaxAmount(noTaxAmount);
|
||||
affirmIncome = payPaymentRecordService.getInAccount(payWorking.getReceivableAmount(), confirmAmount);
|
||||
payWorking.setAffirmIncome(affirmIncome);
|
||||
payWorkingGroupSubItemMapper.updateById(payWorking);
|
||||
|
||||
break;
|
||||
@@ -97,6 +126,10 @@ public class PayConfirmPaymentRecordService extends ServiceImpl<PayConfirmPaymen
|
||||
}
|
||||
//更新主列表
|
||||
meeting.setConfirmAmount(confirmAmount);
|
||||
meeting.setConfirmTax(tax);
|
||||
meeting.setConfirmNoTaxAmount(noTaxAmount);
|
||||
affirmIncome = payPaymentRecordService.getInAccount(meeting.getAmountReceivable(), confirmAmount);
|
||||
meeting.setAffirmIncome(affirmIncome);
|
||||
payMeetingSituationMapper.updateById(meeting);
|
||||
|
||||
break;
|
||||
@@ -109,6 +142,10 @@ public class PayConfirmPaymentRecordService extends ServiceImpl<PayConfirmPaymen
|
||||
}
|
||||
//更新主列表
|
||||
member.setConfirmAmount(confirmAmount);
|
||||
member.setConfirmTax(tax);
|
||||
member.setConfirmNoTaxAmount(noTaxAmount);
|
||||
affirmIncome = payPaymentRecordService.getInAccount(member.getAmountReceivable(), confirmAmount);
|
||||
member.setAffirmIncome(affirmIncome);
|
||||
payMemberProjectSubitemMapper.updateById(member);
|
||||
|
||||
break;
|
||||
@@ -121,6 +158,10 @@ public class PayConfirmPaymentRecordService extends ServiceImpl<PayConfirmPaymen
|
||||
}
|
||||
//更新主列表
|
||||
tbMember.setConfirmAmount(confirmAmount);
|
||||
tbMember.setConfirmTax(tax);
|
||||
tbMember.setConfirmNoTaxAmount(noTaxAmount);
|
||||
affirmIncome = payPaymentRecordService.getInAccount(tbMember.getAmountReceivable(), confirmAmount);
|
||||
tbMember.setAffirmIncome(affirmIncome);
|
||||
tbMemberProjectSubitemMapper.updateById(tbMember);
|
||||
break;
|
||||
//标协证书
|
||||
@@ -132,6 +173,10 @@ public class PayConfirmPaymentRecordService extends ServiceImpl<PayConfirmPaymen
|
||||
}
|
||||
//更新主列表
|
||||
tbMemberCertificate.setConfirmAmount(confirmAmount);
|
||||
tbMemberCertificate.setConfirmTax(tax);
|
||||
tbMemberCertificate.setConfirmNoTaxAmount(noTaxAmount);
|
||||
affirmIncome = payPaymentRecordService.getInAccount(tbMemberCertificate.getAmountReceivable(), confirmAmount);
|
||||
tbMemberCertificate.setAffirmIncome(affirmIncome);
|
||||
certificatePaymentMapper.updateById(tbMemberCertificate);
|
||||
|
||||
break;
|
||||
|
||||
+4
-4
@@ -836,12 +836,12 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
*/
|
||||
@Override
|
||||
public Integer getInAccount(BigDecimal receivableAmount,BigDecimal paidAmount){
|
||||
BigDecimal zero =new BigDecimal("0");
|
||||
BigDecimal zero = BigDecimal.ZERO;
|
||||
if(receivableAmount == null){
|
||||
receivableAmount = new BigDecimal("0");
|
||||
receivableAmount = BigDecimal.ZERO;
|
||||
}
|
||||
if(paidAmount == null){
|
||||
paidAmount = new BigDecimal("0");
|
||||
paidAmount = BigDecimal.ZERO;
|
||||
}
|
||||
|
||||
//应收=0
|
||||
@@ -849,7 +849,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
return 3;
|
||||
}
|
||||
//应收>实收>0
|
||||
if(receivableAmount.compareTo(paidAmount) == 1 && paidAmount.compareTo(zero)==1){
|
||||
if(receivableAmount.compareTo(paidAmount) > 0 && paidAmount.compareTo(zero) > 0){
|
||||
return 2;
|
||||
}
|
||||
//应收=实收
|
||||
|
||||
Reference in New Issue
Block a user