fix 88069 项目费用0元时,企业端缴费凭证状态为空,费用改成1再改成0后,企业端缴费凭证状态没有重新变成空

This commit is contained in:
lijiarao
2024-08-06 16:02:15 +08:00
parent c8bf5ed97d
commit 6cc57fe077
5 changed files with 34 additions and 13 deletions
@@ -72,7 +72,7 @@ public interface PayMailBillMapper extends BaseMapper<PayMailBill> {
PayContactsManagement print(@Param("id") String id);
Integer updateByProjectId(@Param("updated") PayMailBill payMailBill, @Param("projectId") String projectId);
Integer updateByProjectId(@Param("updated") PayMailBill payMailBill, @Param("idList") List<String> idList);
Integer updateTax(@Param("id") String id);
@@ -1,17 +1,26 @@
package com.jero.mail.mapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.mail.entity.PayMailBillProject;
import io.lettuce.core.dynamic.annotation.Param;
import java.math.BigDecimal;
import java.util.stream.Collectors;
/**
* @Description: pay_mail_bill_project
* @Author: jeecg-boot
* @Date: 2021-08-31
* @Date: 2021-08-31
* @Version: V1.0
*/
public interface PayMailBillProjectMapper extends BaseMapper<PayMailBillProject> {
default List<String> selectBillIdByProjectId(String projectId) {
LambdaQueryWrapper<PayMailBillProject> myQuery = Wrappers.lambdaQuery(PayMailBillProject.class);
myQuery.eq(PayMailBillProject::getProjectId, projectId);
myQuery.select(PayMailBillProject::getBillId);
return selectList(myQuery).stream().map(PayMailBillProject::getBillId).collect(Collectors.toList());
}
}
@@ -197,11 +197,10 @@
</if>
</set>
<where>
id in (
select bill_id
from pay_mail_bill_project
where project_id = #{projectId}
)
id in
<foreach item="item" index="index" collection="idList" open="(" separator="," close=")">
#{item}
</foreach>
and post_status = 0
</where>
</update>
@@ -1,5 +1,6 @@
package com.jero.mail.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -604,7 +605,10 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
mailBill.setPostalCode(payMailBill.getPostalCode());
mailBill.setContactAddress(payMailBill.getContactAddress());
}
payMailBillMapper.updateByProjectId(mailBill,projectId);
List<String> idList = payMailBillProjectMapper.selectBillIdByProjectId(projectId);
if (CollectionUtil.isNotEmpty(idList)){
payMailBillMapper.updateByProjectId(mailBill,idList);
}
}
@Override
@@ -244,7 +244,8 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
setPayCommonProjectEdit(payCommonProject,payCommonProjectOld,annualDataLocking);
// 变更待确收金额,重新校验状态
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(payCommonProject.getId(),payCommonProject.getReceivableAmount(),payCommonProject.getNeedInvoice());
BigDecimal receivableAmount = payCommonProject.getReceivableAmount();
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(payCommonProject.getId(), receivableAmount,payCommonProject.getNeedInvoice());
if(!Objects.isNull(projectStatusVO)){
if(!Objects.isNull(projectStatusVO.getInAccount())){
payCommonProject.setInAccount(projectStatusVO.getInAccount());
@@ -256,8 +257,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
payCommonProject.setMail(projectStatusVO.getMail());
}
}
String paymentStatus = payPaymentCheckService.getPaymentStatus(payCommonProject.getReceivableAmount(),payCommonProject.getPaidAmount(),payCommonProject.getPaymentStatus(), false);
payCommonProject.setPaymentStatus(paymentStatus);
payCommonProjectService.updateById(payCommonProject);
LambdaUpdateWrapper<PayCommonProject> updatePayCommonProject = new LambdaUpdateWrapper<>();
@@ -277,6 +277,15 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
if(Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY3)){
updatePayCommonProject.set(PayCommonProject::getContractNum,null);
}
//缴费凭证状态
if (receivableAmount.compareTo(BigDecimal.ZERO) == 0){
updatePayCommonProject.set(PayCommonProject::getPaymentStatus,null);
}else {
String paymentStatus = payPaymentCheckService.getPaymentStatus(receivableAmount,payCommonProject.getPaidAmount(),payCommonProject.getPaymentStatus(), false);
updatePayCommonProject.set(PayCommonProject::getPaymentStatus,paymentStatus);
}
payCommonProjectService.update(updatePayCommonProject);
// 如果有邮寄信息更新邮寄联系人信息
String mailContactsId = payCommonProject.getMailContactsId();