update 更新所有确认收入状态接口处理不需要开票的项目时更新确认来款表和到账表的税额为0

This commit is contained in:
lijiarao
2022-08-03 15:08:07 +08:00
parent 70c03048b7
commit 0cc2f47df1
6 changed files with 134 additions and 29 deletions
+36 -6
View File
@@ -318,7 +318,7 @@ set confirm_no_tax_amount = confirm_amount / 1.06,
confirm_tax = confirm_amount - confirm_no_tax_amount,
paid_tax = paid_amount - paid_no_tax_amount,
invoice_tax = invoice_amount - invoice_no_tax_amount
where 1 = 1;
where need_invoice != 0;
update pay_working_group_subitem
set confirm_no_tax_amount = confirm_amount / 1.06,
paid_no_tax_amount = paid_amount / 1.06,
@@ -326,7 +326,7 @@ set confirm_no_tax_amount = confirm_amount / 1.06,
confirm_tax = confirm_amount - confirm_no_tax_amount,
paid_tax = paid_amount - paid_no_tax_amount,
invoice_tax = invoice_amount - invoice_no_tax_amount
where 1 = 1;
where need_invoice != 0;
update pay_member_project_subitem
set confirm_no_tax_amount = confirm_amount / 1.06,
paid_no_tax_amount = paid_amount / 1.06,
@@ -334,7 +334,7 @@ set confirm_no_tax_amount = confirm_amount / 1.06,
confirm_tax = confirm_amount - confirm_no_tax_amount,
paid_tax = paid_amount - paid_no_tax_amount,
invoice_tax = invoice_amount - invoice_no_tax_amount
where 1 = 1;
where need_invoice != 0;
update pay_meeting_situation
set confirm_no_tax_amount = confirm_amount / 1.06,
paid_no_tax_amount = paid_amount / 1.06,
@@ -342,7 +342,7 @@ set confirm_no_tax_amount = confirm_amount / 1.06,
confirm_tax = confirm_amount - confirm_no_tax_amount,
paid_tax = paid_amount - paid_no_tax_amount,
invoice_tax = invoice_amount - invoice_no_tax_amount
where 1 = 1;
where need_invoice != 0;
update tb_member_project_subitem
set confirm_no_tax_amount = confirm_amount / 1.06,
paid_no_tax_amount = paid_amount / 1.06,
@@ -350,7 +350,7 @@ set confirm_no_tax_amount = confirm_amount / 1.06,
confirm_tax = confirm_amount - confirm_no_tax_amount,
paid_tax = paid_amount - paid_no_tax_amount,
invoice_tax = invoice_amount - invoice_no_tax_amount
where 1 = 1;
where invoice_requirements != 0;
update tb_certificate_payment
set confirm_no_tax_amount = confirm_amount / 1.06,
paid_no_tax_amount = paid_amount / 1.06,
@@ -358,7 +358,37 @@ set confirm_no_tax_amount = confirm_amount / 1.06,
confirm_tax = confirm_amount - confirm_no_tax_amount,
paid_tax = paid_amount - paid_no_tax_amount,
invoice_tax = invoice_amount - invoice_no_tax_amount
where 1 = 1;
where invoice_requirements != 0;
update pay_common_project
set confirm_no_tax_amount = confirm_amount ,
paid_no_tax_amount = paid_amount ,
invoice_no_tax_amount = invoice_amount
where need_invoice = 0;
update pay_working_group_subitem
set confirm_no_tax_amount = confirm_amount,
paid_no_tax_amount = paid_amount,
invoice_no_tax_amount = invoice_amount
where need_invoice = 0;
update pay_member_project_subitem
set confirm_no_tax_amount = confirm_amount ,
paid_no_tax_amount = paid_amount ,
invoice_no_tax_amount = invoice_amount
where need_invoice = 0;
update pay_meeting_situation
set confirm_no_tax_amount = confirm_amount ,
paid_no_tax_amount = paid_amount ,
invoice_no_tax_amount = invoice_amount
where need_invoice = 0;
update tb_member_project_subitem
set confirm_no_tax_amount = confirm_amount ,
paid_no_tax_amount = paid_amount ,
invoice_no_tax_amount = invoice_amount
where invoice_requirements = 0;
update tb_certificate_payment
set confirm_no_tax_amount = confirm_amount ,
paid_no_tax_amount = paid_amount ,
invoice_no_tax_amount = invoice_amount
where invoice_requirements = 0;
select *
from v_statistical;
@@ -1,4 +1,5 @@
package com.jero.payment.mapper;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.member.entity.TbCertificatePayment;
@@ -15,6 +16,6 @@ public interface PayConfirmPaymentRecordMapper extends BaseMapper<PayConfirmPaym
List<PayConfirmPaymentRecord> selectByProjectId(@Param("projectId")String projectId);
PayConfirmPaymentRecord selectOneByProjectIdAndProjectType(@Param("projectId")String projectId,@Param("projectType")String projectType);
int updateZeroTaxByProjectId(@Param("projectId")String projectId);
}
@@ -1,11 +1,11 @@
package com.jero.payment.mapper;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.payment.entity.PayPaymentRecord;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.vo.PayCommonProjectOutput;
import io.lettuce.core.dynamic.annotation.Param;
import java.math.BigDecimal;
import java.util.List;
@@ -61,4 +61,8 @@ public interface PayPaymentRecordMapper extends BaseMapper<PayPaymentRecord> {
* @Exception
*/
Integer getMonthProjectCount(String time);
int updateZeroTaxByProjectId(@Param("projectId")String projectId);
}
@@ -40,4 +40,12 @@
and project_type = #{projectType}
group by project_id
</select>
<!--auto generated by MybatisCodeHelper on 2022-08-03-->
<update id="updateZeroTaxByProjectId">
update pay_confirm_payment_record
set no_tax_amount = amount_received,
tax = 0
where project_id = #{projectId,jdbcType=VARCHAR}
</update>
</mapper>
@@ -3,6 +3,48 @@
<mapper namespace="com.jero.payment.mapper.PayPaymentRecordMapper">
<!-- 到账开票主列表-->
<sql id="Base_Column_List">
id,
project_id,
project_type,
amount_received,
payment_date,
proof,
remark,
create_by,
create_time,
update_by,
update_time,
applicant_name,
payment_status,
reviewer_id,
reviewer_name,
review_time,
review_instructions,
tax,
no_tax_amount
</sql>
<resultMap id="BaseResultMap" type="com.jero.payment.entity.PayPaymentRecord">
<result column="id" property="id"/>
<result column="project_id" property="projectId"/>
<result column="project_type" property="projectType"/>
<result column="amount_received" property="amountReceived"/>
<result column="payment_date" property="paymentDate"/>
<result column="proof" property="proof"/>
<result column="remark" property="remark"/>
<result column="create_by" property="createBy"/>
<result column="create_time" property="createTime"/>
<result column="update_by" property="updateBy"/>
<result column="update_time" property="updateTime"/>
<result column="applicant_name" property="applicantName"/>
<result column="payment_status" property="paymentStatus"/>
<result column="reviewer_id" property="reviewerId"/>
<result column="reviewer_name" property="reviewerName"/>
<result column="review_time" property="reviewTime"/>
<result column="review_instructions" property="reviewInstructions"/>
<result column="tax" property="tax"/>
<result column="no_tax_amount" property="noTaxAmount"/>
</resultMap>
<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.affirm_income
@@ -433,4 +475,12 @@
<select id="getMonthProjectCount" resultType="java.lang.Integer">
select count(*) from (select * from pay_payment_record WHERE DATE_FORMAT(payment_date,'%Y-%m') = #{time} group by project_id) aa
</select>
<!--auto generated by MybatisCodeHelper on 2022-08-03-->
<update id="updateZeroTaxByProjectId">
update pay_payment_record
set no_tax_amount=amount_received,
tax = 0
where project_id = #{projectId}
</update>
</mapper>
@@ -1,43 +1,29 @@
package com.jero.payment.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.jero.common.enums.PaymentStatusEnum;
import com.jero.company.entity.PayContactsManagement;
import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.meeting.entity.PayMeeting;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.mapper.PayMeetingSituationMapper;
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.mapper.PayPaymentRecordMapper;
import com.jero.payment.service.IPayPaymentRecordService;
import com.jero.payment.vo.TbCheckVo;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.PayWorkingGroupSubItem;
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;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.payment.entity.PayConfirmPaymentRecord;
import com.jero.payment.mapper.PayConfirmPaymentRecordMapper;
import org.springframework.util.CollectionUtils;
/**
* @author liJiaRao
@@ -59,6 +45,8 @@ public class PayConfirmPaymentRecordService extends ServiceImpl<PayConfirmPaymen
private TbCertificatePaymentMapper certificatePaymentMapper;
@Autowired
private IPayPaymentRecordService payPaymentRecordService;
@Resource
private PayPaymentRecordMapper payPaymentRecordMapper;
public void add(PayConfirmPaymentRecord payConfirmPaymentRecord) {
@@ -208,58 +196,82 @@ public class PayConfirmPaymentRecordService extends ServiceImpl<PayConfirmPaymen
}
public void updateAffirmIncome() {
payCommonProjectMapper.selectList(new QueryWrapper<>()).forEach(p->{
payCommonProjectMapper.selectList(new QueryWrapper<>()).forEach(p -> {
BigDecimal confirmAmount = p.getConfirmAmount();
Integer affirmIncome = payPaymentRecordService.getInAccount(p.getReceivableAmount(), confirmAmount);
PayCommonProject project = new PayCommonProject();
project.setId(p.getId());
project.setAffirmIncome(affirmIncome);
payCommonProjectMapper.updateById(project);
if (p.getNeedInvoice() == 0) {
baseMapper.updateZeroTaxByProjectId(p.getId());
payPaymentRecordMapper.updateZeroTaxByProjectId(p.getId());
}
});
payWorkingGroupSubItemMapper.selectList(new QueryWrapper<>()).forEach(p ->{
payWorkingGroupSubItemMapper.selectList(new QueryWrapper<>()).forEach(p -> {
BigDecimal confirmAmount = p.getConfirmAmount();
Integer affirmIncome = payPaymentRecordService.getInAccount(p.getReceivableAmount(), confirmAmount);
PayWorkingGroupSubItem project = new PayWorkingGroupSubItem();
project.setId(p.getId());
project.setAffirmIncome(affirmIncome);
payWorkingGroupSubItemMapper.updateById(project);
if (p.getNeedInvoice() == 0) {
baseMapper.updateZeroTaxByProjectId(p.getId());
payPaymentRecordMapper.updateZeroTaxByProjectId(p.getId());
}
});
payMeetingSituationMapper.selectList(new QueryWrapper<>()).forEach(p ->{
payMeetingSituationMapper.selectList(new QueryWrapper<>()).forEach(p -> {
BigDecimal confirmAmount = p.getConfirmAmount();
Integer affirmIncome = payPaymentRecordService.getInAccount(p.getAmountReceivable(), confirmAmount);
PayMeetingSituation project = new PayMeetingSituation();
project.setId(p.getId());
project.setAffirmIncome(affirmIncome);
payMeetingSituationMapper.updateById(project);
if (p.getNeedInvoice() == 0) {
baseMapper.updateZeroTaxByProjectId(p.getId());
payPaymentRecordMapper.updateZeroTaxByProjectId(p.getId());
}
});
payMemberProjectSubitemMapper.selectList(new QueryWrapper<>()).forEach(p ->{
payMemberProjectSubitemMapper.selectList(new QueryWrapper<>()).forEach(p -> {
BigDecimal confirmAmount = p.getConfirmAmount();
Integer affirmIncome = payPaymentRecordService.getInAccount(p.getAmountReceivable(), confirmAmount);
PayMemberProjectSubitem project = new PayMemberProjectSubitem();
project.setId(p.getId());
project.setAffirmIncome(affirmIncome);
payMemberProjectSubitemMapper.updateById(project);
if (p.getNeedInvoice() == 0) {
baseMapper.updateZeroTaxByProjectId(p.getId());
payPaymentRecordMapper.updateZeroTaxByProjectId(p.getId());
}
});
tbMemberProjectSubitemMapper.selectList(new QueryWrapper<>()).forEach(p ->{
tbMemberProjectSubitemMapper.selectList(new QueryWrapper<>()).forEach(p -> {
BigDecimal confirmAmount = p.getConfirmAmount();
Integer affirmIncome = payPaymentRecordService.getInAccount(p.getAmountReceivable(), confirmAmount);
TbMemberProjectSubitem project = new TbMemberProjectSubitem();
project.setId(p.getId());
project.setAffirmIncome(affirmIncome);
tbMemberProjectSubitemMapper.updateById(project);
if (p.getInvoiceRequirements() == 0) {
baseMapper.updateZeroTaxByProjectId(p.getId());
payPaymentRecordMapper.updateZeroTaxByProjectId(p.getId());
}
});
certificatePaymentMapper.selectList(new QueryWrapper<>()).forEach(p ->{
certificatePaymentMapper.selectList(new QueryWrapper<>()).forEach(p -> {
BigDecimal confirmAmount = p.getConfirmAmount();
Integer affirmIncome = payPaymentRecordService.getInAccount(p.getAmountReceivable(), confirmAmount);
TbCertificatePayment project = new TbCertificatePayment();
project.setId(p.getId());
project.setAffirmIncome(affirmIncome);
certificatePaymentMapper.updateById(project);
if (p.getInvoiceRequirements() == 0) {
baseMapper.updateZeroTaxByProjectId(p.getId());
payPaymentRecordMapper.updateZeroTaxByProjectId(p.getId());
}
});
}
}