fix 87687 87689 年度会员维护-会员单位信息-导出和详情页面没有回显信息

This commit is contained in:
lijiarao
2024-07-29 16:21:07 +08:00
parent cb111cf53d
commit ba28e7a111
3 changed files with 82 additions and 37 deletions
@@ -139,12 +139,12 @@ public class TbMemberProjectSubitem implements Serializable {
@Excel(name = "通讯地址", width = 15)
@ApiModelProperty(value = "通讯地址")
@TableField(exist = false)
private java.lang.String contactAddress;
private String contactAddress;
/**邮政编码*/
@Excel(name = "邮政编码", width = 15)
@ApiModelProperty(value = "邮政编码")
@TableField(exist = false)
private java.lang.String postalCode;
private String postalCode;
/**会员状态*/
//@Excel(name = "会员状态", width = 15, dicCode = "member_status")
@@ -1,9 +1,4 @@
package com.jero.member.service;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.*;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DatePattern;
@@ -14,6 +9,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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.common.ProjectCommon;
import com.jero.common.enums.PaymentStatusEnum;
import com.jero.common.exception.JeroBootException;
@@ -41,7 +37,10 @@ import com.jero.member.entity.TbMemberProject;
import com.jero.member.entity.TbMemberProjectSubitem;
import com.jero.member.enums.MemberStatusEnum;
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
import com.jero.member.vo.*;
import com.jero.member.vo.CopyMemberVO;
import com.jero.member.vo.EditMemberBenefitsVO;
import com.jero.member.vo.QueryAggVO;
import com.jero.member.vo.TbMemberProjectSubitemExcelImport;
import com.jero.pack.entity.PayPackCompanyProject;
import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.payment.entity.PayConfirmPaymentRecord;
@@ -50,12 +49,14 @@ import com.jero.payment.service.IPayPaymentRecordService;
import com.jero.payment.service.impl.PayConfirmPaymentRecordService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.AnnualDataLocking;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.service.AnnualDataLockingService;
import com.jero.statistics.entity.MemberLineChartMap;
import com.jero.statistics.entity.MemberLineChartVO;
import com.jero.statistics.entity.MemberPieChartVO;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import com.jero.valid.group.ChargeNotice;
import com.jero.valid.group.Contract;
import org.apache.commons.collections.CollectionUtils;
@@ -63,17 +64,17 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import static freemarker.template.utility.NullArgumentException.check;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: 标协会员项目成员表
@@ -117,7 +118,10 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
private PayMeetingSituationMapper payMeetingSituationMapper;
@Resource
private AnnualDataLockingService annualDataLockingService;
@Resource
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
@Resource
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
/**
* 保存
*/
@@ -129,24 +133,9 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(oldYear);
setDefaultCreateValue(tbMemberProjectSubitem);
setSubitemAdd(tbMemberProjectSubitem,annualDataLocking);
String companyId = tbMemberProjectSubitem.getCompanyId();
PayCompanyManagement companyManagement = companyManagementService.getById(companyId);
if (companyManagement == null){
throw new JeroBootException("单位不存在");
}
String liaisonManId = tbMemberProjectSubitem.getLiaisonManId();
PayContactsManagement liaisonMan = payContactsManagementService.checkByCompanyIdAndId(liaisonManId, companyId);
if (liaisonMan == null){
throw new JeroBootException("企业联系人不存在");
}
String postContactId = tbMemberProjectSubitem.getPostContactId();
PayContactsManagement postContact = payContactsManagementService.checkByCompanyIdAndId(postContactId, companyId);
if (postContact == null){
throw new JeroBootException("邮寄联系人不存在");
}
LambdaQueryWrapper<TbMemberProjectSubitem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(TbMemberProjectSubitem::getProjectId, projectId);
wrapper.eq(TbMemberProjectSubitem::getCompanyId, companyId);
@@ -193,13 +182,13 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
// 来款方式为合同,校验合同编号
if (Objects.equals(tbMemberProjectSubitem.getPaymentMethod(), PayProjectCommon.CHARGE_WAY2)) {
PayIncomeContract payIncomeContract = payIncomeContractService.setPayIncomeContractAssociated(tbMemberProjectSubitem.getContractNum(), tbMemberProjectSubitem.getCompanyId(), tbMemberProjectSubitem.getId());
PayIncomeContract payIncomeContract = payIncomeContractService.setPayIncomeContractAssociated(tbMemberProjectSubitem.getContractNum(), companyId, tbMemberProjectSubitem.getId());
if (!Objects.isNull(payIncomeContract)) {
// 合同存在 && 合同状态不为草稿,不为未通过 关联合同
payIncomeContractService.insertPayIncomeContract(payIncomeContract, tbMemberProjectSubitem.getId(), Integer.parseInt(PayProjectCommon.PROJECT_TYPE5));
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
if (Objects.equals(payIncomeContract.getPack(), PayProjectCommon.PACKAGING1)) {
payPackCompanyProjectService.setPack(tbMemberProjectSubitem.getCompanyId(), liaisonManId, payIncomeContract.getPackYear(), tbMemberProjectSubitem.getId(), PayProjectCommon.PROJECT_TYPE5, payIncomeContract.getPack());
payPackCompanyProjectService.setPack(companyId, liaisonManId, payIncomeContract.getPackYear(), tbMemberProjectSubitem.getId(), PayProjectCommon.PROJECT_TYPE5, payIncomeContract.getPack());
LambdaUpdateWrapper<TbMemberProjectSubitem> update = new LambdaUpdateWrapper<>();
update.eq(TbMemberProjectSubitem::getId, tbMemberProjectSubitem.getId());
update.set(TbMemberProjectSubitem::getPack, PayProjectCommon.PACKAGING1);
@@ -208,6 +197,8 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
}
}
}
public void addExcel(String projectId, List<Object> excelData) {
TbMemberProject memberProject = tbMemberProjectService.getById(projectId);
String oldYear = memberProject.getYear();
@@ -268,6 +259,7 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
}else {
subitem.setPostContactId(postContact.getId());
}
setSubitemAdd(subitem,annualDataLocking);
}
}
@@ -446,6 +438,7 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
if (!Objects.equals(companyId,companyIdOld)){
throw new JeroBootException("会员单位不可变更");
}
setSubitemEdit(tbMemberProjectSubitem,subitemOld,annualDataLocking);
// 校验项目是否已关联合同
PayIncomeContract payIncomeContract = payIncomeContractService.checkPayIncomeContractAssociated(subitemId);
if (!Objects.isNull(payIncomeContract)) {
@@ -480,6 +473,58 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
updateById(tbMemberProjectSubitem);
}
private void setSubitemAdd(TbMemberProjectSubitem tbMemberProjectSubitem, AnnualDataLocking annualDataLocking) {
String companyId = tbMemberProjectSubitem.getCompanyId();
PayCompanyManagementTemporary companyManagement = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(companyId, annualDataLocking);
if (companyManagement == null){
throw new JeroBootException("单位不存在");
}
tbMemberProjectSubitem.setCompanyTemporaryId(companyManagement.getId());
tbMemberProjectSubitem.setCompanyName(companyManagement.getCompanyName());
String liaisonManId = tbMemberProjectSubitem.getLiaisonManId();
PayContactsManagementTemporary liaisonMan = payContactsManagementTemporaryService.insertContactsManagementTemporary(liaisonManId, annualDataLocking);
if (liaisonMan == null){
throw new JeroBootException("企业联系人不存在");
}
tbMemberProjectSubitem.setCompanyContactTemporaryId(liaisonMan.getId());
tbMemberProjectSubitem.setLiaisonMan(liaisonMan.getName());
String postContactId = tbMemberProjectSubitem.getPostContactId();
PayContactsManagementTemporary postContact = payContactsManagementTemporaryService.insertContactsManagementTemporary(postContactId, annualDataLocking);
if (postContact == null){
throw new JeroBootException("邮寄联系人不存在");
}
tbMemberProjectSubitem.setPostContactTemporaryId(postContact.getId());
}
private void setSubitemEdit(TbMemberProjectSubitem subitem, TbMemberProjectSubitem subitemOld, AnnualDataLocking annualDataLocking) {
String companyId = subitem.getCompanyId();
PayCompanyManagementTemporary companyManagement = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(companyId, annualDataLocking);
if (companyManagement == null){
throw new JeroBootException("单位不存在");
}
subitem.setCompanyTemporaryId(companyManagement.getId());
subitem.setCompanyName(companyManagement.getCompanyName());
// 联系人id != 联系人模板id 变更
String liaisonManId = subitem.getLiaisonManId();
// 联系人
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(liaisonManId, annualDataLocking);
if (Objects.isNull(contactsName)) {
throw new JeroBootException("联系人名称为空!");
}
subitem.setCompanyContactTemporaryId(contactsName.getId());
subitem.setLiaisonMan(contactsName.getName());
// 邮寄联系人id != 邮寄联系人模板id 变更
String postContactId = subitem.getPostContactId();
// 邮寄联系人
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(postContactId, annualDataLocking);
if (Objects.isNull(mailContactsName)) {
throw new JeroBootException("邮寄联系人名称为空!");
}
subitem.setPostContactTemporaryId(mailContactsName.getId());
}
/**
* 通过id删除
*/
@@ -129,7 +129,7 @@ public class PayCompanyManagementTemporaryServiceImpl extends ServiceImpl<PayCom
public boolean removeById(String id) {
LambdaQueryWrapper<PayCompanyManagementTemporary> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayCompanyManagementTemporary::getId, id)
.isNotNull(PayCompanyManagementTemporary::getYear);
.isNull(PayCompanyManagementTemporary::getYear);
return baseMapper.delete(wrapper) > 0;
}