From 3f2af6729f99f2f548276cc1fe491ecf9ac1e105 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Thu, 16 Dec 2021 14:03:12 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E5=88=B0=E8=B4=A6=E5=BC=80=E7=A5=A8?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=A2=9E=E5=8A=A0=E4=BC=9A=E5=91=98=E8=AF=81?= =?UTF-8?q?=E4=B9=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/12月8日需求变更新增.sql | 2 +- .../common/PayIncomeContractCommon.java | 4 ++ .../member/entity/TbCertificatePayment.java | 6 +- .../mapper/xml/PayPaymentRecordMapper.xml | 18 +++++ .../service/IPayPaymentRecordService.java | 2 + .../impl/PayPaymentCheckServiceImpl.java | 17 +++++ .../impl/PayPaymentRecordServiceImpl.java | 66 +++++++++++++++++-- 7 files changed, 108 insertions(+), 7 deletions(-) diff --git a/db/12月8日需求变更新增.sql b/db/12月8日需求变更新增.sql index b1416790..853223a1 100644 --- a/db/12月8日需求变更新增.sql +++ b/db/12月8日需求变更新增.sql @@ -49,7 +49,7 @@ create table tb_certificate_payment in_account tinyint(1) null comment '到账', make_invoice tinyint(1) null comment '开票', mail tinyint(1) null comment '邮寄', - charge_use tinyint(1) default 3 null comment '来款用途(字典表)', + charge_use tinyint(1) default 18 null comment '来款用途(字典表)', invoice_amount decimal(12, 2) null comment '开票金额' ) comment '标协会员证书缴费表' charset = utf8; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java index c10d1745..6073de0a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java @@ -71,6 +71,10 @@ public class PayIncomeContractCommon { * 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目) */ public final static String PROJECT_TYPE5 = "5"; + /** + * 6:标协证书项目 + */ + public final static String PROJECT_TYPE6 = "6"; /** * 来款状态 0:全部 1:到期未付款 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/TbCertificatePayment.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/TbCertificatePayment.java index 4ea7f00b..ec983d28 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/TbCertificatePayment.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/TbCertificatePayment.java @@ -137,14 +137,18 @@ public class TbCertificatePayment implements Serializable { * completed 已完结 */ @ApiModelProperty(value = "缴费状态") + @Dict(dicCode = "payment_status") private String paymentStatus; /**缴费记录*/ @Excel(name = "缴费记录", width = 15) - @ApiModelProperty(value = "缴费记录") private String paymentRecord; + /**标协缴费表id*/ + @ApiModelProperty(value = "标协缴费表id") + private String tbPaymentId; + /**会员id*/ @Excel(name = "会员id", width = 15) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/mapper/xml/PayPaymentRecordMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/payment/mapper/xml/PayPaymentRecordMapper.xml index 7aeec2b3..b2e8ccdb 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/mapper/xml/PayPaymentRecordMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/mapper/xml/PayPaymentRecordMapper.xml @@ -94,6 +94,24 @@ AND tmsub.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%')) + + 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 + 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 + where + tcp.amount_receivable ]]> 0 + and tcp.amount_receivable is not null + + AND 1=2 + + + AND tmember.project_name like concat('%',concat(#{payCommonProject.chargeProject},'%')) + + + AND tcp.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%')) + )p LEFT JOIN pay_payment_record ppr ON ppr.project_id = p.id where 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 1933570c..c86d4272 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 @@ -76,6 +76,8 @@ public interface IPayPaymentRecordService extends IService { //标协类型新增时条件校验 void type5AddCheck(PayPaymentRecord payPaymentRecord); + void type6AddCheck(PayPaymentRecord payPaymentRecord); + /** * 编辑来款 * @param payPaymentRecord diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentCheckServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentCheckServiceImpl.java index d86457f4..f9087802 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentCheckServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentCheckServiceImpl.java @@ -16,8 +16,10 @@ import com.jero.contract.common.PayIncomeContractCommon; import com.jero.meeting.entity.PayMeetingSituation; import com.jero.meeting.mapper.PayMeetingSituationMapper; import com.jero.member.entity.PayMemberProjectSubitem; +import com.jero.member.entity.TbCertificatePayment; import com.jero.member.entity.TbMemberProjectSubitem; import com.jero.member.mapper.PayMemberProjectSubitemMapper; +import com.jero.member.mapper.TbCertificatePaymentMapper; import com.jero.member.mapper.TbMemberProjectSubitemMapper; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; @@ -67,6 +69,8 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl list,Integer flag){ List typr5List = new ArrayList<>(); + List typr6List = new ArrayList<>(); for(PayPaymentRecord payPaymentRecord : list){ addOneAmountReceived(payPaymentRecord,typr5List,flag); } - //推送到会员端 + //会员到账推送到会员系统 if(typr5List.size()>0){ JSONObject jsonObject = AuthenticationUtils.postResult("/paymentInfo/incomingPaymentCheck", null, typr5List); String memberNo = jsonObject.getString("memberNo"); @@ -162,6 +163,10 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl0){ + JSONObject jsonObject = AuthenticationUtils.postResult("/certificatePaymentInfo/incomingPaymentCheck", null, typr5List); + } } /** * 来款条件校验 @@ -257,6 +262,22 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayPaymentRecord::getProjectId, payPaymentRecord.getProjectId()); + wrapper.eq(PayPaymentRecord::getProjectType, Integer.valueOf(PayIncomeContractCommon.PROJECT_TYPE6)); + List type5List = payPaymentRecordMapper.selectList(wrapper); + + if(type5List!=null && type5List.size()>0){ + throw new JeroBootException("标协证书项目,只能来款一次。"); + } + + TbCertificatePayment tbCertificatePayment = certificatePaymentMapper.selectById(payPaymentRecord.getProjectId()); + + BigDecimal rAInsert = tbCertificatePayment.getAmountReceivable();//应收 + BigDecimal pAInsert = tbCertificatePayment.getPaidAmount();//实收 + BigDecimal aRInsert =payPaymentRecord.getAmountReceived().setScale(2,BigDecimal.ROUND_HALF_UP);;//到账 + if(rAInsert == null){ + rAInsert = new BigDecimal("0"); + } + if(pAInsert == null){ + pAInsert = new BigDecimal("0"); + } + if(aRInsert == null){ + aRInsert = new BigDecimal("0"); + } + + //欠款 + BigDecimal debtInsert = rAInsert.subtract(pAInsert); + if(aRInsert.compareTo(debtInsert) != 0){ + throw new JeroBootException("标协证书项目,到账金额不等于欠款金额。"); + } + + } + /** * 是否还能再添加来款 * @param receivableAmount 应收