From f7fa7e8369dc6f229fbcf2575749522855e0ea5c Mon Sep 17 00:00:00 2001 From: lijiarao Date: Thu, 18 Jul 2024 13:30:36 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E5=88=B0=E8=B4=A6=E5=BC=80=E7=A5=A8=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BE=85=E7=A1=AE=E6=94=B6=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mail/service/IPayMailBillService.java | 3 + .../service/impl/PayMailBillServiceImpl.java | 105 +++----- .../PayPaymentRecordController.java | 19 +- .../service/IPayPaymentRecordService.java | 8 + .../impl/PayPaymentRecordServiceImpl.java | 240 +++++++++++++++++- .../payment/vo/EditReceivableAmountParam.java | 32 +++ 6 files changed, 336 insertions(+), 71 deletions(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/payment/vo/EditReceivableAmountParam.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java index 5448bf30..5ab03576 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java @@ -10,6 +10,7 @@ import com.jero.mail.entity.PayMailBill; import com.jero.mail.vo.PayMailBillVO; import com.jero.member.enums.StandardsTypeEnum; +import java.math.BigDecimal; import java.util.List; /** @@ -44,6 +45,8 @@ public interface IPayMailBillService extends IService { */ Result addPayBill(PayMailBillVO payMailBill); + int getMakeInvoice(BigDecimal amountReceivable, Integer needInvoice, BigDecimal invoiceAmount); + /** * 编辑开票 * @param payMailBillVo diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java index 30705ce5..3bd64c2b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java @@ -16,7 +16,6 @@ import com.jero.common.enums.ManagementMessageEnums; import com.jero.common.exception.JeroBootException; import com.jero.common.service.SendMessageService; import com.jero.common.system.vo.LoginUser; -import com.jero.common.util.AuthenticationUtils; import com.jero.common.util.PasswordUtil; import com.jero.company.entity.PayCompanyManagement; import com.jero.company.entity.PayContactsManagement; @@ -25,7 +24,6 @@ import com.jero.company.service.IPayCompanyManagementService; import com.jero.company.service.IPayContactsManagementService; import com.jero.config.StaticConfig; import com.jero.contract.common.PayIncomeContractCommon; -import com.jero.mail.entity.BillingInfo; import com.jero.mail.entity.PayMailBill; import com.jero.mail.entity.PayMailBillProject; import com.jero.mail.mapper.PayMailBillMapper; @@ -40,7 +38,6 @@ import com.jero.meeting.mapper.PayMeetingSituationMapper; import com.jero.meeting.service.IPayMeetingService; import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.member.entity.*; -import com.jero.member.enums.StandardsTypeEnum; import com.jero.member.mapper.*; import com.jero.member.service.*; import com.jero.modules.system.entity.SysUser; @@ -754,28 +751,7 @@ public class PayMailBillServiceImpl extends ServiceImpl开票总额 && 开票总额!=0 - if(amountReceivable.compareTo(invoiceAmount) == 1 && !(invoiceAmount.compareTo(zero) == 0)){ - makeInvoice= 2; - } - //开票总额>=应收 - if(invoiceAmount.compareTo(amountReceivable) > -1){ - makeInvoice= 1; - } - //开票总额为0 - if(invoiceAmount.compareTo(zero)==0){ - makeInvoice= 0; - } + makeInvoice = getMakeInvoice(amountReceivable, needInvoice, invoiceAmount); //更新项目表开票状态 switch (payMailBillProject.getProjectType().toString()) { @@ -844,6 +820,40 @@ public class PayMailBillServiceImpl extends ServiceImpl开票总额 && 开票总额!=0 + if (amountReceivable.compareTo(invoiceAmount) == 1 && !(invoiceAmount.compareTo(zero) == 0)) { + makeInvoice = 2; + } + //开票总额>=应收 + if (invoiceAmount.compareTo(amountReceivable) > -1) { + makeInvoice = 1; + } + //开票总额为0 + if (invoiceAmount.compareTo(zero) == 0) { + makeInvoice = 0; + } + return makeInvoice; + } + //校验不同项目是否属于同一个公司,开票金额是否大于当前未开票金额,企业名称是否审核 private String checkCompanyProject(List bmpList) { @@ -1311,28 +1321,7 @@ public class PayMailBillServiceImpl extends ServiceImpl开票总额 && 开票总额!=0 - if(amountReceivable.compareTo(invoiceAmount) == 1 && !(invoiceAmount.compareTo(zero) == 0)){ - makeInvoice= 2; - } - //开票总额>=应收 - if(invoiceAmount.compareTo(amountReceivable) > -1){ - makeInvoice= 1; - } - //开票总额为0 - if(invoiceAmount.compareTo(zero)==0){ - makeInvoice= 0; - } + makeInvoice = getMakeInvoice(amountReceivable, needInvoice, invoiceAmount); //更新项目表开票状态 switch (payMailBillProject.getProjectType().toString()) { @@ -1662,28 +1651,8 @@ public class PayMailBillServiceImpl extends ServiceImpl开票总额 && 开票总额!=0 - if(amountReceivable.compareTo(invoiceAmount) == 1 && !(invoiceAmount.compareTo(zero) == 0)){ - makeInvoice= 2; - } - //开票总额>=应收 - if(invoiceAmount.compareTo(amountReceivable) > -1){ - makeInvoice= 1; - } - //开票总额为0 - if(invoiceAmount.compareTo(zero)==0){ - makeInvoice= 0; - } + makeInvoice = getMakeInvoice(amountReceivable, needInvoice, invoiceAmount); //更新项目表开票状态 switch (oldBmp.getProjectType().toString()) { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentRecordController.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentRecordController.java index 39fa3239..808a3de3 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentRecordController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentRecordController.java @@ -15,9 +15,11 @@ import com.jero.member.entity.TbCertificatePayment; import com.jero.member.entity.TbMemberProjectSubitem; import com.jero.member.service.ITbCertificatePaymentService; import com.jero.member.service.ITbMemberProjectSubitemService; +import com.jero.payment.entity.PayConfirmPaymentRecord; import com.jero.payment.entity.PayPaymentRecord; import com.jero.payment.service.IPayPaymentRecordService; import com.jero.payment.vo.EditBillTypeParam; +import com.jero.payment.vo.EditReceivableAmountParam; import com.jero.project.entity.PayCommonProject; import com.jero.project.vo.PayCommonProjectOutput; import com.jero.standards.memberinfo.entity.MemberInfo; @@ -25,6 +27,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -194,8 +197,22 @@ public class PayPaymentRecordController extends JeroController editReceivableAmount(@Validated @RequestBody EditReceivableAmountParam editReceivableAmountParam) { + ValidUtil.validate(editReceivableAmountParam); + payPaymentRecordService.editReceivableAmount(editReceivableAmountParam); + return Result.OK("编辑成功!"); + } + + /** + * 编辑开票类型 */ @ApiOperation(value = "编辑开票类型", notes = "编辑开票类型") @RequiresPermissions("packProject:changeInvoiceInfo") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentRecordService.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentRecordService.java index 49c3a59a..ab695b47 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentRecordService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentRecordService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.jero.common.api.vo.Result; import com.jero.payment.entity.PayPaymentRecord; import com.jero.payment.vo.EditBillTypeParam; +import com.jero.payment.vo.EditReceivableAmountParam; import com.jero.payment.vo.TbCheckVo; import com.jero.project.entity.PayCommonProject; import com.jero.project.vo.PayCommonProjectOutput; @@ -109,6 +110,13 @@ public interface IPayPaymentRecordService extends IService { * @param payPaymentRecord */ void editAmountReceived(PayPaymentRecord payPaymentRecord); + + /** + * 编辑待确收金额 + * @param editReceivableAmountParam + */ + void editReceivableAmount(EditReceivableAmountParam editReceivableAmountParam); + /** * 标协会员项目来款推送到标协项目 * @param typr5List diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java index 9cc0107b..bcd3dfed 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java @@ -18,7 +18,6 @@ import com.jero.common.exception.JeroBootException; import com.jero.common.service.SendMessageService; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; -import com.jero.common.util.AuthenticationUtils; import com.jero.common.util.PasswordUtil; import com.jero.common.util.oConvertUtils; import com.jero.company.entity.PayCompanyManagement; @@ -27,6 +26,7 @@ import com.jero.company.service.IPayCompanyManagementService; import com.jero.company.service.IPayContactsManagementService; import com.jero.config.StaticConfig; import com.jero.contract.common.PayIncomeContractCommon; +import com.jero.mail.service.IPayMailBillService; import com.jero.meeting.common.MeetingSubitemCommon; import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.entity.PayMeetingSituation; @@ -50,6 +50,7 @@ import com.jero.payment.mapper.PayPaymentRecordMapper; import com.jero.payment.service.IPayPaymentCheckService; import com.jero.payment.service.IPayPaymentRecordService; import com.jero.payment.vo.EditBillTypeParam; +import com.jero.payment.vo.EditReceivableAmountParam; import com.jero.payment.vo.TbCheckVo; import com.jero.project.common.PayProjectCommon; import com.jero.project.entity.PayCommonProject; @@ -139,7 +140,10 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl