add 标协会员项目成员- 复制,批量复制

This commit is contained in:
lijiarao
2024-03-08 14:12:40 +08:00
parent 655326382e
commit 336ea2ced8
4 changed files with 133 additions and 5 deletions
@@ -17,6 +17,7 @@ import com.jero.member.service.ITbMemberProjectSubitemService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.member.vo.CopyMemberVO;
import com.jero.member.vo.EditMemberBenefitsVO;
import com.jero.member.vo.PaymentInfo;
import com.jero.member.vo.TbMemberProjectSubitemEditVO;
@@ -133,6 +134,22 @@ public class TbMemberProjectSubitemController extends JeroController<TbMemberPro
return Result.OK("编辑会员权益成功!");
}
@AutoLog(value = "标协会员项目成员-复制")
@ApiOperation(value = "标协会员项目成员-复制")
@PostMapping(value = "/copy")
public Result<?> copy(@RequestBody CopyMemberVO copyMemberVO) {
tbMemberProjectSubitemService.copy(copyMemberVO);
return Result.OK("编辑会员权益成功!");
}
@AutoLog(value = "标协会员项目成员-批量复制")
@ApiOperation(value = "标协会员项目成员-批量复制")
@PostMapping(value = "/copyBatch")
public Result<?> copyBatch(@RequestBody CopyMemberVO copyMemberVO) {
tbMemberProjectSubitemService.copyBatch(copyMemberVO);
return Result.OK("编辑会员权益成功!");
}
/**
* 导出excel
*/
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.member.entity.TbMemberProjectSubitem;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.member.vo.CopyMemberVO;
import com.jero.member.vo.EditMemberBenefitsVO;
import java.util.List;
@@ -84,4 +85,8 @@ public interface ITbMemberProjectSubitemService extends IService<TbMemberProject
void editMemberBenefits(EditMemberBenefitsVO editMemberBenefitsVO);
void generateValidDate(String id);
void copy(CopyMemberVO copyMemberVO);
void copyBatch(CopyMemberVO copyMemberVO);
}
@@ -24,6 +24,7 @@ import com.jero.member.entity.TbMemberProjectSubitem;
import com.jero.member.enums.MemberStatusEnum;
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.member.vo.CopyMemberVO;
import com.jero.member.vo.EditMemberBenefitsVO;
import com.jero.pack.entity.PayPackCompanyProject;
import com.jero.pack.service.IPayPackCompanyProjectService;
@@ -87,6 +88,16 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
*/
@Override
public void add(TbMemberProjectSubitem tbMemberProjectSubitem) {
setDefaultCreateValue(tbMemberProjectSubitem);
check(tbMemberProjectSubitem);
save(tbMemberProjectSubitem);
}
/**
* 创建时默认值
*/
private void setDefaultCreateValue(TbMemberProjectSubitem tbMemberProjectSubitem) {
//实收金额
tbMemberProjectSubitem.setPaidAmount(BigDecimal.ZERO);
//到账
@@ -103,10 +114,7 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
tbMemberProjectSubitem.setMemberStatus(MemberStatusEnum.UNPAID_FEES.getValue());
//缴费状态
tbMemberProjectSubitem.setPaymentStatus(PaymentStatusEnum.TO_BE_UPLOADED.getCode());
check(tbMemberProjectSubitem);
save(tbMemberProjectSubitem);
}
}
public void check(TbMemberProjectSubitem tbMemberProjectSubitem){
String companyId = tbMemberProjectSubitem.getCompanyId();
@@ -114,7 +122,7 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
//String id = tbMemberProjectSubitem.getId();
LambdaQueryWrapper<TbMemberProjectSubitem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(TbMemberProjectSubitem::getProjectId, projectId);
wrapper.eq(TbMemberProjectSubitem::getCompanyId,companyId);
wrapper.eq(TbMemberProjectSubitem::getCompanyId, companyId);
//wrapper.ne()
int count = this.count(wrapper);
if (count > 0) {
@@ -307,4 +315,76 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
return prefix + suffix;
}
@Override
public void copy(CopyMemberVO copyMemberVO) {
String projectId = copyMemberVO.getProjectId();
String id = copyMemberVO.getId();
copyOperation(projectId, id);
}
/**
* 复制操作
*/
private void copyOperation(String projectId, String id) {
TbMemberProjectSubitem memberProjectSubitem = this.getById(id);
//查询目标项目是否有当前企业
memberProjectSubitem.setProjectId(projectId);
this.check(memberProjectSubitem);
//复制成员信息生成新成员
TbMemberProjectSubitem newMemberProjectSubitem = setCopyValue(memberProjectSubitem);
this.setDefaultCreateValue(newMemberProjectSubitem);
newMemberProjectSubitem.setProjectId(projectId);
this.save(newMemberProjectSubitem);
}
@Override
public void copyBatch(CopyMemberVO copyMemberVO) {
String projectId = copyMemberVO.getProjectId();
String ids = copyMemberVO.getIds();
for (String id : ids.split(",")) {
copyOperation(projectId, id);
}
}
private TbMemberProjectSubitem setCopyValue(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());
tbMemberProjectSubitem.setEmail(memberProjectSubitem.getEmail());
tbMemberProjectSubitem.setMobile(memberProjectSubitem.getMobile());
tbMemberProjectSubitem.setMemberStatus(memberProjectSubitem.getMemberStatus());
tbMemberProjectSubitem.setRegisterTime(memberProjectSubitem.getRegisterTime());
tbMemberProjectSubitem.setAmountReceivable(memberProjectSubitem.getAmountReceivable());
tbMemberProjectSubitem.setEstimatedArrivalDate(memberProjectSubitem.getEstimatedArrivalDate());
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());
tbMemberProjectSubitem.setInvoicePhone(memberProjectSubitem.getInvoicePhone());
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.setRemark(memberProjectSubitem.getRemark());
return tbMemberProjectSubitem;
}
}
@@ -0,0 +1,26 @@
package com.jero.member.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @author liJiaRao
* @date 2024-03-07 14:04
*/
@Data
public class CopyMemberVO {
/**id*/
@ApiModelProperty(value = "id")
private String id;
/**id*/
@ApiModelProperty(value = "ids")
private String ids;
@ApiModelProperty(value = "projectId")
private String projectId;
}