fix 82845 会员管理---复制后,收费通知的相关信息没有复制为对应的会员管理的数据

This commit is contained in:
lijiarao
2024-03-28 17:44:31 +08:00
parent 3ad88942ae
commit c3cdc2c5a5
2 changed files with 59 additions and 14 deletions
@@ -210,4 +210,11 @@ public class ProjectCommon {
public final static String FLAG1 = "1";
public final static String INFO_TYPE9 = "9";
/**
* 标协会员性质(1-副理事单位,2-理事单位,3-会员单位)
*/
public final static Integer MEMBER_NATURE1 = 1;
public final static Integer MEMBER_NATURE2 = 2;
public final static Integer MEMBER_NATURE3 = 3;
}
@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.common.ProjectCommon;
import com.jero.common.enums.PaymentStatusEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.RolePermissionService;
@@ -33,6 +34,7 @@ import com.jero.mail.service.IPayMailBillProjectService;
import com.jero.mail.service.IPayMailBillService;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.mapper.PayMeetingSituationMapper;
import com.jero.member.entity.TbMemberProject;
import com.jero.member.entity.TbMemberProjectSubitem;
import com.jero.member.enums.MemberStatusEnum;
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
@@ -52,7 +54,6 @@ import com.jero.valid.group.Contract;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -92,6 +93,8 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
@Resource
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
@Resource
private ITbMemberProjectService tbMemberProjectService;
@Resource
private RolePermissionService rolePermissionService;
@Resource
private IPayPaymentRecordService payPaymentRecordService;
@@ -631,13 +634,16 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
public void copy(CopyMemberVO copyMemberVO) {
String projectId = copyMemberVO.getProjectId();
String id = copyMemberVO.getId();
copyOperation(projectId, id);
TbMemberProject memberProject = tbMemberProjectService.getById(projectId);
copyOperation(memberProject, id);
}
/**
* 复制操作
*/
private void copyOperation(String projectId, String id) {
private void copyOperation(TbMemberProject memberProject, String id) {
String projectId = memberProject.getId();
TbMemberProjectSubitem memberProjectSubitem = this.getById(id);
//查询目标项目是否有当前企业
LambdaQueryWrapper<TbMemberProjectSubitem> wrapper = new LambdaQueryWrapper<>();
@@ -649,7 +655,7 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
throw new JeroBootException("会员单位已经存在");
}
//复制成员信息生成新成员
TbMemberProjectSubitem newMemberProjectSubitem = setCopyValue(memberProjectSubitem);
TbMemberProjectSubitem newMemberProjectSubitem = setCopyValue(memberProject,memberProjectSubitem);
this.setDefaultCreateValue(newMemberProjectSubitem);
newMemberProjectSubitem.setProjectId(projectId);
this.save(newMemberProjectSubitem);
@@ -658,8 +664,9 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
public void copyBatch(CopyMemberVO copyMemberVO) {
String projectId = copyMemberVO.getProjectId();
String ids = copyMemberVO.getIds();
TbMemberProject memberProject = tbMemberProjectService.getById(projectId);
for (String id : ids.split(",")) {
copyOperation(projectId, id);
copyOperation(memberProject, id);
}
}
@@ -736,12 +743,11 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
}
}
private TbMemberProjectSubitem setCopyValue(TbMemberProjectSubitem memberProjectSubitem) {
private TbMemberProjectSubitem setCopyValue(TbMemberProject memberProject, TbMemberProjectSubitem memberProjectSubitem) {
TbMemberProjectSubitem tbMemberProjectSubitem = new TbMemberProjectSubitem();
tbMemberProjectSubitem.setMemberNo(memberProjectSubitem.getMemberNo());
tbMemberProjectSubitem.setCompanyId(memberProjectSubitem.getCompanyId());
tbMemberProjectSubitem.setCompanyName(memberProjectSubitem.getCompanyName());
tbMemberProjectSubitem.setMemberNature(memberProjectSubitem.getMemberNature());
tbMemberProjectSubitem.setMemberType(memberProjectSubitem.getMemberType());
tbMemberProjectSubitem.setLiaisonManId(memberProjectSubitem.getLiaisonManId());
tbMemberProjectSubitem.setLiaisonMan(memberProjectSubitem.getLiaisonMan());
@@ -754,7 +760,6 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
tbMemberProjectSubitem.setInvoiceRequirements(memberProjectSubitem.getInvoiceRequirements());
tbMemberProjectSubitem.setTicketCollection(memberProjectSubitem.getTicketCollection());
tbMemberProjectSubitem.setChargeUse(memberProjectSubitem.getChargeUse());
tbMemberProjectSubitem.setPaymentMethod(memberProjectSubitem.getPaymentMethod());
tbMemberProjectSubitem.setHeaderName(memberProjectSubitem.getHeaderName());
tbMemberProjectSubitem.setTaxNumber(memberProjectSubitem.getTaxNumber());
tbMemberProjectSubitem.setInvoiceAddress(memberProjectSubitem.getInvoiceAddress());
@@ -762,18 +767,51 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
tbMemberProjectSubitem.setDepositBank(memberProjectSubitem.getDepositBank());
tbMemberProjectSubitem.setBankAccount(memberProjectSubitem.getBankAccount());
tbMemberProjectSubitem.setLinkBankNumber(memberProjectSubitem.getLinkBankNumber());
tbMemberProjectSubitem.setTaxRate(memberProjectSubitem.getTaxRate());
tbMemberProjectSubitem.setTax(memberProjectSubitem.getTax());
tbMemberProjectSubitem.setNoTaxAmount(memberProjectSubitem.getNoTaxAmount());
tbMemberProjectSubitem.setPostCompanyId(memberProjectSubitem.getPostCompanyId());
tbMemberProjectSubitem.setPostContactId(memberProjectSubitem.getPostContactId());
tbMemberProjectSubitem.setAdminAddFlag(memberProjectSubitem.getAdminAddFlag());
tbMemberProjectSubitem.setContractNum(memberProjectSubitem.getContractNum());
tbMemberProjectSubitem.setChargeNoticeNo(memberProjectSubitem.getChargeNoticeNo());
tbMemberProjectSubitem.setChargeNoticeId(memberProjectSubitem.getChargeNoticeId());
tbMemberProjectSubitem.setInvalidationDate(memberProjectSubitem.getInvalidationDate());
tbMemberProjectSubitem.setEffectiveDate(memberProjectSubitem.getEffectiveDate());
tbMemberProjectSubitem.setRemark(memberProjectSubitem.getRemark());
//根据会员性质判断应收金额
Integer memberNature = memberProjectSubitem.getMemberNature();
tbMemberProjectSubitem.setMemberNature(memberNature);
BigDecimal amountReceivable;
if (ProjectCommon.MEMBER_NATURE1.equals(memberNature)) {
amountReceivable = memberProject.getCouncilChargeStandard();
}else {
amountReceivable = memberProject.getCouncilChargeStandard();
}
tbMemberProjectSubitem.setAmountReceivable(amountReceivable);
BigDecimal taxRate = memberProjectSubitem.getTaxRate();
tbMemberProjectSubitem.setTaxRate(taxRate);
BigDecimal noTaxAmount = amountReceivable.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
BigDecimal tax = amountReceivable.subtract(noTaxAmount);
tbMemberProjectSubitem.setNoTaxAmount(noTaxAmount);
tbMemberProjectSubitem.setTax(tax);
//根据来款方式存数据
Integer paymentMethod = memberProjectSubitem.getPaymentMethod();
tbMemberProjectSubitem.setPaymentMethod(paymentMethod);
//合同
if (Objects.equals(tbMemberProjectSubitem.getPaymentMethod(), PayProjectCommon.CHARGE_WAY2)) {
tbMemberProjectSubitem.setContractNum(memberProjectSubitem.getContractNum());
}
//收费通知
if (Objects.equals(tbMemberProjectSubitem.getPaymentMethod(), PayProjectCommon.CHARGE_WAY3)) {
String chargeNoticeNo;
String chargeNoticeId;
if (ProjectCommon.MEMBER_NATURE1.equals(memberNature)) {
chargeNoticeNo = memberProject.getCouncilChargeNoticeNo();
chargeNoticeId = memberProject.getCouncilChargeNoticeFileId();
}else {
chargeNoticeNo = memberProject.getCouncilChargeNoticeNo();
chargeNoticeId = memberProject.getCouncilChargeNoticeFileId();
}
tbMemberProjectSubitem.setChargeNoticeNo(chargeNoticeNo);
tbMemberProjectSubitem.setChargeNoticeId(chargeNoticeId);
}
return tbMemberProjectSubitem;
}