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 83173ea9..1c606bcf 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
@@ -17,8 +17,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;
@@ -68,6 +70,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 应收