add 到账开票页面增加会员证书
This commit is contained in:
+1
-1
@@ -49,7 +49,7 @@ create table tb_certificate_payment
|
|||||||
in_account tinyint(1) null comment '到账',
|
in_account tinyint(1) null comment '到账',
|
||||||
make_invoice tinyint(1) null comment '开票',
|
make_invoice tinyint(1) null comment '开票',
|
||||||
mail 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 '开票金额'
|
invoice_amount decimal(12, 2) null comment '开票金额'
|
||||||
)
|
)
|
||||||
comment '标协会员证书缴费表' charset = utf8;
|
comment '标协会员证书缴费表' charset = utf8;
|
||||||
|
|||||||
+4
@@ -71,6 +71,10 @@ public class PayIncomeContractCommon {
|
|||||||
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目)
|
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目)
|
||||||
*/
|
*/
|
||||||
public final static String PROJECT_TYPE5 = "5";
|
public final static String PROJECT_TYPE5 = "5";
|
||||||
|
/**
|
||||||
|
* 6:标协证书项目
|
||||||
|
*/
|
||||||
|
public final static String PROJECT_TYPE6 = "6";
|
||||||
/**
|
/**
|
||||||
* 来款状态 0:全部 1:到期未付款
|
* 来款状态 0:全部 1:到期未付款
|
||||||
*/
|
*/
|
||||||
|
|||||||
+5
-1
@@ -137,14 +137,18 @@ public class TbCertificatePayment implements Serializable {
|
|||||||
* completed 已完结
|
* completed 已完结
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "缴费状态")
|
@ApiModelProperty(value = "缴费状态")
|
||||||
|
@Dict(dicCode = "payment_status")
|
||||||
private String paymentStatus;
|
private String paymentStatus;
|
||||||
|
|
||||||
/**缴费记录*/
|
/**缴费记录*/
|
||||||
@Excel(name = "缴费记录", width = 15)
|
@Excel(name = "缴费记录", width = 15)
|
||||||
|
|
||||||
@ApiModelProperty(value = "缴费记录")
|
@ApiModelProperty(value = "缴费记录")
|
||||||
private String paymentRecord;
|
private String paymentRecord;
|
||||||
|
|
||||||
|
/**标协缴费表id*/
|
||||||
|
@ApiModelProperty(value = "标协缴费表id")
|
||||||
|
private String tbPaymentId;
|
||||||
|
|
||||||
/**会员id*/
|
/**会员id*/
|
||||||
@Excel(name = "会员id", width = 15)
|
@Excel(name = "会员id", width = 15)
|
||||||
|
|
||||||
|
|||||||
+18
@@ -94,6 +94,24 @@
|
|||||||
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
|
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
|
||||||
AND tmsub.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
|
AND tmsub.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
|
||||||
</if>
|
</if>
|
||||||
|
<!-- 标协证书项目-->
|
||||||
|
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 <![CDATA[<>]]> 0
|
||||||
|
and tcp.amount_receivable is not null
|
||||||
|
<if test="payCommonProject.principalId != null and payCommonProject.principalId != ''">
|
||||||
|
AND 1=2
|
||||||
|
</if>
|
||||||
|
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
|
||||||
|
AND tmember.project_name like concat('%',concat(#{payCommonProject.chargeProject},'%'))
|
||||||
|
</if>
|
||||||
|
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
|
||||||
|
AND tcp.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
|
||||||
|
</if>
|
||||||
)p
|
)p
|
||||||
LEFT JOIN pay_payment_record ppr ON ppr.project_id = p.id
|
LEFT JOIN pay_payment_record ppr ON ppr.project_id = p.id
|
||||||
where
|
where
|
||||||
|
|||||||
+2
@@ -76,6 +76,8 @@ public interface IPayPaymentRecordService extends IService<PayPaymentRecord> {
|
|||||||
//标协类型新增时条件校验
|
//标协类型新增时条件校验
|
||||||
void type5AddCheck(PayPaymentRecord payPaymentRecord);
|
void type5AddCheck(PayPaymentRecord payPaymentRecord);
|
||||||
|
|
||||||
|
void type6AddCheck(PayPaymentRecord payPaymentRecord);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 编辑来款
|
* 编辑来款
|
||||||
* @param payPaymentRecord
|
* @param payPaymentRecord
|
||||||
|
|||||||
+17
@@ -16,8 +16,10 @@ import com.jero.contract.common.PayIncomeContractCommon;
|
|||||||
import com.jero.meeting.entity.PayMeetingSituation;
|
import com.jero.meeting.entity.PayMeetingSituation;
|
||||||
import com.jero.meeting.mapper.PayMeetingSituationMapper;
|
import com.jero.meeting.mapper.PayMeetingSituationMapper;
|
||||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||||
|
import com.jero.member.entity.TbCertificatePayment;
|
||||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||||
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
|
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
|
||||||
|
import com.jero.member.mapper.TbCertificatePaymentMapper;
|
||||||
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
||||||
import com.jero.modules.system.entity.SysUser;
|
import com.jero.modules.system.entity.SysUser;
|
||||||
import com.jero.modules.system.service.ISysUserService;
|
import com.jero.modules.system.service.ISysUserService;
|
||||||
@@ -67,6 +69,8 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
|
|||||||
@Resource
|
@Resource
|
||||||
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
|
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
|
||||||
@Resource
|
@Resource
|
||||||
|
private TbCertificatePaymentMapper certificatePaymentMapper;
|
||||||
|
@Resource
|
||||||
private Environment env;
|
private Environment env;
|
||||||
@Resource
|
@Resource
|
||||||
private ISysUserService sysUserService;
|
private ISysUserService sysUserService;
|
||||||
@@ -192,6 +196,19 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
|
|||||||
tbMember.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
|
tbMember.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
|
||||||
tbMemberProjectSubitemMapper.updateById(tbMember);
|
tbMemberProjectSubitemMapper.updateById(tbMember);
|
||||||
|
|
||||||
|
break;
|
||||||
|
//标协证书
|
||||||
|
case PayIncomeContractCommon.PROJECT_TYPE6:
|
||||||
|
//标协类型条件校验
|
||||||
|
payPaymentRecordService.type6AddCheck(payPaymentRecord);
|
||||||
|
//来款条件校验
|
||||||
|
payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
|
||||||
|
|
||||||
|
TbCertificatePayment certificatePayment= new TbCertificatePayment();
|
||||||
|
certificatePayment.setId(payPaymentRecord.getProjectId());
|
||||||
|
certificatePayment.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
|
||||||
|
certificatePaymentMapper.updateById(certificatePayment);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:break;
|
default:break;
|
||||||
}
|
}
|
||||||
|
|||||||
+61
-5
@@ -26,11 +26,9 @@ import com.jero.meeting.entity.PayMeeting;
|
|||||||
import com.jero.meeting.entity.PayMeetingSituation;
|
import com.jero.meeting.entity.PayMeetingSituation;
|
||||||
import com.jero.meeting.mapper.PayMeetingSituationMapper;
|
import com.jero.meeting.mapper.PayMeetingSituationMapper;
|
||||||
import com.jero.meeting.service.IPayMeetingService;
|
import com.jero.meeting.service.IPayMeetingService;
|
||||||
import com.jero.member.entity.PayMemberProject;
|
import com.jero.member.entity.*;
|
||||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
|
||||||
import com.jero.member.entity.TbMemberProject;
|
|
||||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
|
||||||
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
|
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
|
||||||
|
import com.jero.member.mapper.TbCertificatePaymentMapper;
|
||||||
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
||||||
import com.jero.member.service.IPayMemberProjectService;
|
import com.jero.member.service.IPayMemberProjectService;
|
||||||
import com.jero.member.service.ITbMemberProjectService;
|
import com.jero.member.service.ITbMemberProjectService;
|
||||||
@@ -113,6 +111,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
|||||||
private IPayContactsManagementService payContactsManagementService;
|
private IPayContactsManagementService payContactsManagementService;
|
||||||
@Resource
|
@Resource
|
||||||
private ITbMemberProjectService tbMemberProjectService;
|
private ITbMemberProjectService tbMemberProjectService;
|
||||||
|
@Resource
|
||||||
|
private TbCertificatePaymentMapper certificatePaymentMapper;
|
||||||
|
|
||||||
@Value("${jero.path.upload}")
|
@Value("${jero.path.upload}")
|
||||||
private String upLoadPath;
|
private String upLoadPath;
|
||||||
@@ -143,11 +143,12 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
|||||||
@Override
|
@Override
|
||||||
public void addAmountReceived(List<PayPaymentRecord> list,Integer flag){
|
public void addAmountReceived(List<PayPaymentRecord> list,Integer flag){
|
||||||
List<TbCheckVo> typr5List = new ArrayList<>();
|
List<TbCheckVo> typr5List = new ArrayList<>();
|
||||||
|
List<TbCheckVo> typr6List = new ArrayList<>();
|
||||||
for(PayPaymentRecord payPaymentRecord : list){
|
for(PayPaymentRecord payPaymentRecord : list){
|
||||||
addOneAmountReceived(payPaymentRecord,typr5List,flag);
|
addOneAmountReceived(payPaymentRecord,typr5List,flag);
|
||||||
|
|
||||||
}
|
}
|
||||||
//推送到会员端
|
//会员到账推送到会员系统
|
||||||
if(typr5List.size()>0){
|
if(typr5List.size()>0){
|
||||||
JSONObject jsonObject = AuthenticationUtils.postResult("/paymentInfo/incomingPaymentCheck", null, typr5List);
|
JSONObject jsonObject = AuthenticationUtils.postResult("/paymentInfo/incomingPaymentCheck", null, typr5List);
|
||||||
String memberNo = jsonObject.getString("memberNo");
|
String memberNo = jsonObject.getString("memberNo");
|
||||||
@@ -162,6 +163,10 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
|||||||
updateStandards(id,memberInfo);
|
updateStandards(id,memberInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//证书到账推送到会员系统
|
||||||
|
if(typr6List.size()>0){
|
||||||
|
JSONObject jsonObject = AuthenticationUtils.postResult("/certificatePaymentInfo/incomingPaymentCheck", null, typr5List);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 来款条件校验
|
* 来款条件校验
|
||||||
@@ -257,6 +262,22 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
|||||||
//是否还能再添加来款
|
//是否还能再添加来款
|
||||||
isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
|
isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
|
||||||
|
|
||||||
|
break;
|
||||||
|
//标协证书
|
||||||
|
case PayIncomeContractCommon.PROJECT_TYPE6:
|
||||||
|
//标协证书类型条件校验
|
||||||
|
type6AddCheck(payPaymentRecord);
|
||||||
|
|
||||||
|
TbCertificatePayment tbCertificatePayment = certificatePaymentMapper.selectById(payPaymentRecord.getProjectId());
|
||||||
|
receivableAmount = tbCertificatePayment.getAmountReceivable();//应收
|
||||||
|
paidAmount=tbCertificatePayment.getPaidAmount();//实收
|
||||||
|
TbMemberProject tbMemberProject1 = tbMemberProjectService.getById(tbCertificatePayment.getProjectId());
|
||||||
|
if(Objects.isNull(tbMemberProject1)){
|
||||||
|
throw new JeroBootException("标协会员不存在!");
|
||||||
|
}
|
||||||
|
//是否还能再添加来款
|
||||||
|
isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:break;
|
default:break;
|
||||||
}
|
}
|
||||||
@@ -517,6 +538,41 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void type6AddCheck(PayPaymentRecord payPaymentRecord){
|
||||||
|
|
||||||
|
LambdaQueryWrapper<PayPaymentRecord> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(PayPaymentRecord::getProjectId, payPaymentRecord.getProjectId());
|
||||||
|
wrapper.eq(PayPaymentRecord::getProjectType, Integer.valueOf(PayIncomeContractCommon.PROJECT_TYPE6));
|
||||||
|
List<PayPaymentRecord> 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 应收
|
* @param receivableAmount 应收
|
||||||
|
|||||||
Reference in New Issue
Block a user