收入合同关联会员项目
This commit is contained in:
+4
@@ -20,6 +20,7 @@ import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -104,6 +105,9 @@ public class PayMemberProjectController extends JeroController<PayMemberProject,
|
||||
if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE5)){
|
||||
Page<TbMemberProjectSubitem> page = new Page<>(pageNo, pageSize);
|
||||
IPage<TbMemberProjectSubitem> list = tbMemberProjectSubitemService.queryListByCompany(page,companyId,PayProjectCommon.PROJECT_TYPE4,payIncomeContract.getPack(),payIncomeContract.getPackYear());
|
||||
if(!CollectionUtils.isEmpty(list.getRecords())){
|
||||
List<TbMemberProjectSubitem> listTbMemberProjectSubitem = list.getRecords();
|
||||
}
|
||||
return Result.OK(list);
|
||||
}
|
||||
return Result.OK(null);
|
||||
|
||||
+1
-6
@@ -1,16 +1,11 @@
|
||||
package com.jero.member.controller;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import cn.hutool.core.math.MathUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
|
||||
+11
-23
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||
import com.jero.contract.service.IPayIncomeContractService;
|
||||
import com.jero.member.entity.PayMemberProject;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
import com.jero.member.mapper.PayMemberProjectMapper;
|
||||
@@ -17,11 +18,13 @@ import com.jero.modules.system.mapper.SysUserMapper;
|
||||
import com.jero.project.entity.PayWorkGroupSubletStatistics;
|
||||
import com.jero.statistics.entity.AllProjectStatistics;
|
||||
import com.jero.statistics.entity.AllProjectStatisticsSearch;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -39,13 +42,14 @@ import javax.annotation.Resource;
|
||||
public class PayPayMemberProjectServiceImpl extends ServiceImpl<PayMemberProjectMapper, PayMemberProject> implements IPayMemberProjectService {
|
||||
@Resource
|
||||
private SysUserMapper userMapper;
|
||||
|
||||
@Resource
|
||||
private PayMemberProjectMapper payMemberProjectMapper;
|
||||
@Autowired
|
||||
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
||||
@Resource
|
||||
private IPayMemberProjectSubitemService memberProjectSubitemService;
|
||||
@Autowired
|
||||
private IPayIncomeContractService payIncomeContractService;
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -94,30 +98,12 @@ public class PayPayMemberProjectServiceImpl extends ServiceImpl<PayMemberProject
|
||||
LambdaQueryWrapper<PayMemberProjectSubitem> query = new LambdaQueryWrapper<>();
|
||||
query.eq(PayMemberProjectSubitem::getProjectId, id);
|
||||
List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(query);
|
||||
getPayIncomeContractAssociated(listPayMemberProjectSubitem);
|
||||
if(!CollectionUtils.isEmpty(listPayMemberProjectSubitem)) {
|
||||
throw new JeroBootException("会员项目下存在企业,不可进行删除!");
|
||||
}
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description 校验是存在关联合同的项目
|
||||
* @Author lqt
|
||||
* @Date 2021/9/8
|
||||
* @Param
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
private void getPayIncomeContractAssociated(List<PayMemberProjectSubitem> listPayMemberProjectSubitem){
|
||||
if(!CollectionUtils.isEmpty(listPayMemberProjectSubitem)){
|
||||
List<String> list = listPayMemberProjectSubitem.stream().map(PayMemberProjectSubitem::getId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractAssociated.in(PayIncomeContractAssociated::getProjectId,list);
|
||||
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
|
||||
throw new JeroBootException("已关联合同不可删除!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
@@ -129,7 +115,9 @@ public class PayPayMemberProjectServiceImpl extends ServiceImpl<PayMemberProject
|
||||
LambdaQueryWrapper<PayMemberProjectSubitem> query = new LambdaQueryWrapper<>();
|
||||
query.in(PayMemberProjectSubitem::getProjectId, ids);
|
||||
List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(query);
|
||||
getPayIncomeContractAssociated(listPayMemberProjectSubitem);
|
||||
if(!CollectionUtils.isEmpty(listPayMemberProjectSubitem)) {
|
||||
throw new JeroBootException("会员项目下存在企业,不可进行删除!");
|
||||
}
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
|
||||
+37
-26
@@ -7,12 +7,11 @@ import com.jero.common.service.ProjectDetailService;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.common.vo.ProjectStatusVO;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||
import com.jero.contract.service.IPayIncomeContractService;
|
||||
import com.jero.pack.entity.PayPackCompanyProject;
|
||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||
@@ -30,6 +29,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -63,6 +64,8 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
|
||||
private ProjectDetailService projectDetailService;
|
||||
@Autowired
|
||||
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
||||
@Resource
|
||||
private IPayMemberProjectSubitemService memberProjectSubitemService;
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
@@ -248,18 +251,8 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
|
||||
@Override
|
||||
@Transactional
|
||||
public void deleteById(String id) {
|
||||
try {
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
|
||||
query.eq(PayIncomeContractAssociated::getProjectId, id);
|
||||
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query);
|
||||
if (!Objects.isNull(payIncomeContractAssociated)) {
|
||||
throw new JeroBootException("已关联合同不可删除!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("会员项目-批量删除异常", e);
|
||||
throw new JeroBootException("已关联合同不可删除!");
|
||||
}
|
||||
delectTemporaryById(id);
|
||||
deleteProject(id);
|
||||
// delectTemporaryById(id);
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
@@ -283,23 +276,41 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
|
||||
@Transactional
|
||||
public void deleteByIds(List<String> ids) {
|
||||
for (String id : ids) {
|
||||
try {
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
|
||||
query.eq(PayIncomeContractAssociated::getProjectId, id);
|
||||
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query);
|
||||
if (!Objects.isNull(payIncomeContractAssociated)) {
|
||||
throw new JeroBootException("已关联合同不可删除!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("普通项目管理-批量删除异常", e);
|
||||
throw new JeroBootException("已关联合同不可删除!");
|
||||
}
|
||||
delectTemporaryById(id);
|
||||
deleteProject(id);
|
||||
// delectTemporaryById(id);
|
||||
}
|
||||
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Description 删除项目打包关联,临时企业、联系信息
|
||||
* @Author lqt
|
||||
* @Date 2021/9/18
|
||||
* @Param id 项目id
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
private void deleteProject(String id){
|
||||
PayMemberProjectSubitem payMemberProjectSubitem = memberProjectSubitemService.getById(id);
|
||||
// 到账!=0 || 开票!=0 || 邮寄!=0
|
||||
if(!Objects.equals(payMemberProjectSubitem.getInAccount(), PayProjectCommon.IN_ACCOUNT0)
|
||||
|| !Objects.equals(payMemberProjectSubitem.getMakeInvoice(),PayProjectCommon.MAKE_INVOICE0)
|
||||
|| !Objects.equals(payMemberProjectSubitem.getMail(),PayProjectCommon.MAIL0)){
|
||||
throw new JeroBootException("项目已有到账信息不可删除!");
|
||||
}
|
||||
// 校验项目是否已关联合同 抛异常
|
||||
payIncomeContractService.getPayIncomeContractAssociated(Collections.singletonList(payMemberProjectSubitem.getId()));
|
||||
// 如果已打报,同步删除打包关联
|
||||
LambdaUpdateWrapper<PayPackCompanyProject> update = new LambdaUpdateWrapper<>();
|
||||
update.eq(PayPackCompanyProject::getProjectId,payMemberProjectSubitem.getId());
|
||||
payPackCompanyProjectService.remove(update);
|
||||
// 删除企业联系人临时数据
|
||||
companyManagementTemporaryService.removeById(payMemberProjectSubitem.getCompanyTemporaryId());
|
||||
contactsManagementTemporaryService.removeByIds(Arrays.asList(payMemberProjectSubitem.getCompanyContactTemporaryId(),payMemberProjectSubitem.getPostContactTemporaryId()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*/
|
||||
|
||||
+9
-23
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||
import com.jero.contract.service.IPayIncomeContractService;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -34,12 +35,12 @@ import javax.annotation.Resource;
|
||||
@Service
|
||||
public class TbMemberProjectServiceImpl extends ServiceImpl<TbMemberProjectMapper, TbMemberProject> implements ITbMemberProjectService {
|
||||
|
||||
@Autowired
|
||||
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
||||
@Resource
|
||||
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||
@Resource
|
||||
private TbMemberProjectMapper tbMemberProjectMapper;
|
||||
@Autowired
|
||||
private IPayIncomeContractService payIncomeContractService;
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
@@ -64,28 +65,11 @@ public class TbMemberProjectServiceImpl extends ServiceImpl<TbMemberProjectMappe
|
||||
LambdaQueryWrapper<TbMemberProjectSubitem> query = new LambdaQueryWrapper<>();
|
||||
query.eq(TbMemberProjectSubitem::getProjectId, id);
|
||||
List<TbMemberProjectSubitem> listTbMemberProjectSubitem = tbMemberProjectSubitemService.list(query);
|
||||
getPayIncomeContractAssociated(listTbMemberProjectSubitem);
|
||||
if(!CollectionUtils.isEmpty(listTbMemberProjectSubitem)) {
|
||||
throw new JeroBootException("标协会员项目下存在企业,不可进行删除!");
|
||||
}
|
||||
removeById(id);
|
||||
}
|
||||
/**
|
||||
* @Description 校验是存在关联合同的项目
|
||||
* @Author lqt
|
||||
* @Date 2021/9/8
|
||||
* @Param
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
private void getPayIncomeContractAssociated(List<TbMemberProjectSubitem> listTbMemberProjectSubitem){
|
||||
if(!CollectionUtils.isEmpty(listTbMemberProjectSubitem)){
|
||||
List<String> list = listTbMemberProjectSubitem.stream().map(TbMemberProjectSubitem::getId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractAssociated.in(PayIncomeContractAssociated::getProjectId,list);
|
||||
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
|
||||
throw new JeroBootException("已关联合同不可删除!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
@@ -95,7 +79,9 @@ public class TbMemberProjectServiceImpl extends ServiceImpl<TbMemberProjectMappe
|
||||
LambdaQueryWrapper<TbMemberProjectSubitem> query = new LambdaQueryWrapper<>();
|
||||
query.in(TbMemberProjectSubitem::getProjectId, ids);
|
||||
List<TbMemberProjectSubitem> listTbMemberProjectSubitem = tbMemberProjectSubitemService.list(query);
|
||||
getPayIncomeContractAssociated(listTbMemberProjectSubitem);
|
||||
if(!CollectionUtils.isEmpty(listTbMemberProjectSubitem)) {
|
||||
throw new JeroBootException("标协会员项目下存在企业,不可进行删除!");
|
||||
}
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
|
||||
+48
-22
@@ -1,16 +1,27 @@
|
||||
package com.jero.member.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.exception.JeroBootException;
|
||||
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||
import com.jero.contract.service.IPayIncomeContractService;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||
import com.jero.pack.entity.PayPackCompanyProject;
|
||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -31,6 +42,16 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
|
||||
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
|
||||
@Autowired
|
||||
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
||||
@Autowired
|
||||
private IPayIncomeContractService payIncomeContractService;
|
||||
@Autowired
|
||||
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
||||
@Autowired
|
||||
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
|
||||
@Autowired
|
||||
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
|
||||
@Resource
|
||||
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
@@ -52,17 +73,7 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
try {
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
|
||||
query.eq(PayIncomeContractAssociated::getProjectId, id);
|
||||
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query);
|
||||
if (!Objects.isNull(payIncomeContractAssociated)) {
|
||||
throw new JeroBootException("已关联合同不可删除!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("标协会员-批量删除异常", e);
|
||||
throw new JeroBootException("已关联合同不可删除!");
|
||||
}
|
||||
deleteProject(id);
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
@@ -72,21 +83,36 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
ids.forEach(p->{
|
||||
try {
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
|
||||
query.eq(PayIncomeContractAssociated::getProjectId, p);
|
||||
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query);
|
||||
if (!Objects.isNull(payIncomeContractAssociated)) {
|
||||
throw new JeroBootException("已关联合同不可删除!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("标协会员-批量删除异常", e);
|
||||
throw new JeroBootException("已关联合同不可删除!");
|
||||
}
|
||||
deleteProject(p);
|
||||
});
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Description 删除项目打包关联,临时企业、联系信息
|
||||
* @Author lqt
|
||||
* @Date 2021/9/18
|
||||
* @Param id 项目id
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
private void deleteProject(String id){
|
||||
TbMemberProjectSubitem tbMemberProjectSubitem = tbMemberProjectSubitemService.getById(id);
|
||||
// 到账!=0 || 开票!=0 || 邮寄!=0
|
||||
if(!Objects.equals(tbMemberProjectSubitem.getInAccount(), PayProjectCommon.IN_ACCOUNT0)
|
||||
|| !Objects.equals(tbMemberProjectSubitem.getMakeInvoice(),PayProjectCommon.MAKE_INVOICE0)
|
||||
|| !Objects.equals(tbMemberProjectSubitem.getMail(),PayProjectCommon.MAIL0)){
|
||||
throw new JeroBootException("项目已有到账信息不可删除!");
|
||||
}
|
||||
// 校验项目是否已关联合同 抛异常
|
||||
payIncomeContractService.getPayIncomeContractAssociated(Collections.singletonList(tbMemberProjectSubitem.getId()));
|
||||
// 如果已打报,同步删除打包关联
|
||||
LambdaUpdateWrapper<PayPackCompanyProject> update = new LambdaUpdateWrapper<>();
|
||||
update.eq(PayPackCompanyProject::getProjectId,tbMemberProjectSubitem.getId());
|
||||
payPackCompanyProjectService.remove(update);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user