update 会员项目逻辑

This commit is contained in:
lijiarao
2021-08-31 16:51:46 +08:00
parent 21bd6ca23e
commit 6a644e6a26
4 changed files with 110 additions and 49 deletions
@@ -84,7 +84,7 @@ public class PayMemberProjectSubitem implements Serializable {
/**
* 企业id
*/
@Excel(name = "企业名称", width = 15,dictTable = "pay_company_management",dicText = "company_name",dicCode = "id")
@Excel(name = "企业名称", width = 15,dictTable = "pay_company_management_temporary",dicText = "company_name",dicCode = "id")
@ApiModelProperty(value = "企业id")
@NotBlank(message = "企业不能为空")
@Size(max = 50,message = "企业最大为50字符")
@@ -99,7 +99,7 @@ public class PayMemberProjectSubitem implements Serializable {
/**
* 企业联系人id
*/
@Excel(name = "企业联系人名称", width = 15,dictTable = "pay_contacts_management",dicText = "name",dicCode = "id")
@Excel(name = "企业联系人名称", width = 15,dictTable = "pay_contacts_management_temporary",dicText = "name",dicCode = "id")
@ApiModelProperty(value = "企业联系人id")
@NotBlank(message = "企业联系人不能为空")
@Size(max = 50,message = "企业联系人最大为50字符")
@@ -114,7 +114,7 @@ public class PayMemberProjectSubitem implements Serializable {
/**
* 邮寄联系人id
*/
@Excel(name = "邮寄联系人姓名", width = 15,dictTable = "pay_contacts_management",dicText = "name",dicCode = "id")
@Excel(name = "邮寄联系人姓名", width = 15,dictTable = "pay_contacts_management_temporary",dicText = "name",dicCode = "id")
@ApiModelProperty(value = "邮寄联系人id")
@NotBlank(message = "邮寄联系人不能为空")
private String postContactId;
@@ -2,14 +2,13 @@ package com.jero.member.service.impl;
import com.jero.common.exception.JeroBootException;
import com.jero.common.util.ValidUtil;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.mapper.PayCompanyManagementMapper;
import com.jero.company.mapper.PayContactsManagementMapper;
import com.jero.companyTemporary.entity.PayCompanyManagementTemporary;
import com.jero.companyTemporary.entity.PayContactsManagementTemporary;
import com.jero.companyTemporary.service.IPayCompanyManagementTemporaryService;
import com.jero.companyTemporary.service.IPayContactsManagementTemporaryService;
import com.jero.member.entity.PayMemberProjectSubitem;
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
import com.jero.member.service.IPayMemberProjectSubitemService;
import com.jero.modules.system.volid.group.Group;
import com.jero.valid.group.ChargeNotice;
import com.jero.valid.group.Contract;
import org.springframework.stereotype.Service;
@@ -27,17 +26,26 @@ import javax.annotation.Resource;
@Service
public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMemberProjectSubitemMapper, PayMemberProjectSubitem> implements IPayMemberProjectSubitemService {
@Resource
private PayCompanyManagementMapper companyManagementMapper;
private IPayCompanyManagementTemporaryService companyManagementTemporaryService;
@Resource
private PayContactsManagementMapper contactsManagementMapper;
private IPayContactsManagementTemporaryService contactsManagementTemporaryService;
/**
* 保存
*/
@Override
public void add(PayMemberProjectSubitem payMemberProjectSubitem) {
validMemberProjectSubitem(payMemberProjectSubitem);
payMemberProjectSubitem.setAmountReceivable(0);
//实收金额
payMemberProjectSubitem.setPaidAmount(0);
//到账
payMemberProjectSubitem.setInAccount(0);
//打包
payMemberProjectSubitem.setPack(0);
//开票
payMemberProjectSubitem.setMakeInvoice(0);
//邮寄
payMemberProjectSubitem.setMail(0);
save(payMemberProjectSubitem);
}
@@ -46,6 +54,23 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
*/
@Override
public void editById(PayMemberProjectSubitem payMemberProjectSubitem) {
String id = payMemberProjectSubitem.getId();
PayMemberProjectSubitem payMemberProjectSubitem1 = getById(id);
//如果原始企业id和现在企业id不同,就删除临时表数据
String companyId = payMemberProjectSubitem.getCompanyId();
if (!payMemberProjectSubitem1.getCompanyId().equals(companyId)) {
companyManagementTemporaryService.removeById(companyId);
}
//如果原始企业联系人id和现在企业联系人id不同,就删除临时表数据
String companyContactId = payMemberProjectSubitem.getCompanyContactId();
if (!payMemberProjectSubitem1.getCompanyContactId().equals(companyContactId)) {
contactsManagementTemporaryService.removeById(companyContactId);
}
//如果原始邮寄联系人id和现在邮寄联系人id不同,就删除临时表数据
String postContactId = payMemberProjectSubitem.getPostContactId();
if (!payMemberProjectSubitem1.getPostContactId().equals(postContactId)) {
contactsManagementTemporaryService.removeById(postContactId);
}
validMemberProjectSubitem(payMemberProjectSubitem);
saveOrUpdate(payMemberProjectSubitem);
}
@@ -57,41 +82,32 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
private void validMemberProjectSubitem(PayMemberProjectSubitem payMemberProjectSubitem) {
//校验企业
String companyId = payMemberProjectSubitem.getCompanyId();
PayCompanyManagement payCompanyManagement = companyManagementMapper.selectById(companyId);
if (payCompanyManagement==null){
throw new JeroBootException("企业不存在");
}else {
payMemberProjectSubitem.setCompanyName(payCompanyManagement.getCompanyName());
}
PayCompanyManagementTemporary companyManagementTemporary = companyManagementTemporaryService.insertCompanyManagementTemporary(companyId);
payMemberProjectSubitem.setCompanyId(companyManagementTemporary.getId());
payMemberProjectSubitem.setCompanyName(companyManagementTemporary.getCompanyName());
//校验企业联系人
String companyContactId = payMemberProjectSubitem.getCompanyContactId();
PayContactsManagement payContactsManagement = contactsManagementMapper.selectById(companyContactId);
if (payContactsManagement==null){
throw new JeroBootException("企业联系人不存在");
PayContactsManagementTemporary contactsManagementTemporary = contactsManagementTemporaryService.insertContactsManagementTemporary(companyContactId);
//校验是否是选择的企业的联系人
String companyId1 = contactsManagementTemporary.getCompanyId();
if (companyId1.equals(companyId)){
payMemberProjectSubitem.setCompanyContactId(contactsManagementTemporary.getId());
payMemberProjectSubitem.setCompanyContactName(contactsManagementTemporary.getName());
}else {
//校验是否是选择的企业的联系人
String companyId1 = payContactsManagement.getCompanyId();
if (companyId1.equals(companyId)){
payMemberProjectSubitem.setCompanyContactName(payContactsManagement.getName());
}else {
throw new JeroBootException("企业联系人不是所选企业的企业联系人");
}
throw new JeroBootException("企业联系人不是所选企业的企业联系人");
}
//校验邮寄联系人
String postContactId = payMemberProjectSubitem.getPostContactId();
PayContactsManagement payContactsManagement1 = contactsManagementMapper.selectById(postContactId);
if (payContactsManagement1==null){
throw new JeroBootException("邮寄联系人不存在");
PayContactsManagementTemporary contactsManagementTemporary1 = contactsManagementTemporaryService.insertContactsManagementTemporary(postContactId);
//校验是否是选择的企业的联系人
String companyId2 = contactsManagementTemporary1.getCompanyId();
if (companyId2.equals(companyId)){
payMemberProjectSubitem.setCompanyContactId(contactsManagementTemporary1.getId());
payMemberProjectSubitem.setPostContactName(contactsManagementTemporary1.getName());
}else {
//校验是否是选择的企业的联系人
String companyId1 = payContactsManagement1.getCompanyId();
if (companyId1.equals(companyId)){
payMemberProjectSubitem.setPostContactName(payContactsManagement1.getName());
}else {
throw new JeroBootException("邮寄联系人不是所选企业的企业联系人");
}
throw new JeroBootException("邮寄联系人不是所选企业的企业联系人");
}
//校验来款方式
Integer paymentMethod = payMemberProjectSubitem.getPaymentMethod();
//合同
@@ -104,14 +120,22 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
}
}
/**
* 通过id删除
*/
@Override
public void deleteById(String id) {
removeById(id);
PayMemberProjectSubitem payMemberProjectSubitem = getById(id);
//删除临时表数据
String companyId = payMemberProjectSubitem.getCompanyId();
companyManagementTemporaryService.removeById(companyId);
String companyContactId = payMemberProjectSubitem.getCompanyContactId();
contactsManagementTemporaryService.removeById(companyContactId);
String postContactId = payMemberProjectSubitem.getPostContactId();
contactsManagementTemporaryService.removeById(postContactId);
removeById(id);
}
/**
@@ -119,6 +143,18 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
*/
@Override
public void deleteByIds(List<String> ids) {
for (String id : ids) {
PayMemberProjectSubitem payMemberProjectSubitem = getById(id);
//删除临时表数据
String companyId = payMemberProjectSubitem.getCompanyId();
companyManagementTemporaryService.removeById(companyId);
String companyContactId = payMemberProjectSubitem.getCompanyContactId();
contactsManagementTemporaryService.removeById(companyContactId);
String postContactId = payMemberProjectSubitem.getPostContactId();
contactsManagementTemporaryService.removeById(postContactId);
}
removeByIds(ids);
}
@@ -0,0 +1,33 @@
package com.jero.util;
/**
* 金额工具类
*
* @author liJiaRao
* @date 2021-08-31 15:28
*/
public class AmountUtil {
/**
* 计算到账状态
*
* @param amountReceivable 应收金额
* @param paidAmount 实收金额
* @return
*/
public static int calculate(Integer amountReceivable, Integer paidAmount) {
//应收金额大于0时
if (amountReceivable > 0) {
//实收金额等于应收金额
if (paidAmount.equals(amountReceivable)) {
return 2;
//实收金额大于0小于应收金额时
} else if (paidAmount > 0 && paidAmount < amountReceivable) {
return 1;
//实收金额等于0时
} else {
return 0;
}
}
return 0;
}
}
@@ -1,8 +0,0 @@
package com.jero.util;
/**
* @author liJiaRao
* @date 2021-08-26 10:12
*/
public class Autil {
}