收入合同关联会员项目

This commit is contained in:
梁琦涛
2021-09-18 11:56:09 +08:00
parent 5acaecbc80
commit f148054711
15 changed files with 295 additions and 193 deletions
@@ -8,6 +8,7 @@ import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.entity.PayIncomeContractAudit; import com.jero.contract.entity.PayIncomeContractAudit;
import com.jero.contract.vo.PayIncomeContractInput; import com.jero.contract.vo.PayIncomeContractInput;
import com.jero.contract.vo.ProjectOutput; import com.jero.contract.vo.ProjectOutput;
import com.jero.project.entity.PayWorkingGroupSubItem;
import java.util.List; import java.util.List;
@@ -130,7 +131,16 @@ public interface IPayIncomeContractService extends IService<PayIncomeContract> {
*/ */
PayIncomeContract checkContractNum(String contractNum); PayIncomeContract checkContractNum(String contractNum);
/** /**
* @Description 校验项目是否已关联合同 * @Description 校验项目是否已关联合同 抛异常
* @Author lqt
* @Date 2021/9/18
* @Param
* @Return
* @Exception
*/
void getPayIncomeContractAssociated(List<String> list);
/**
* @Description 校验项目是否已关联合同 ,返回合同信息
* @Author lqt * @Author lqt
* @Date 2021/9/9 * @Date 2021/9/9
* @Param projectId 项目id * @Param projectId 项目id
@@ -796,6 +796,16 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
return null; return null;
} }
@Override
public void getPayIncomeContractAssociated(List<String> list) {
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
queryPayIncomeContractAssociated.in(PayIncomeContractAssociated::getProjectId,list);
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
throw new JeroBootException("已关联合同不可删除!");
}
}
@Override @Override
public PayIncomeContract checkPayIncomeContractAssociated(String projectId) { public PayIncomeContract checkPayIncomeContractAssociated(String projectId) {
// 检查项目是否关联了合同 // 检查项目是否关联了合同
@@ -20,6 +20,7 @@ import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.project.common.PayProjectCommon; import com.jero.project.common.PayProjectCommon;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.base.controller.JeroController;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@@ -104,6 +105,9 @@ public class PayMemberProjectController extends JeroController<PayMemberProject,
if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE5)){ if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE5)){
Page<TbMemberProjectSubitem> page = new Page<>(pageNo, pageSize); Page<TbMemberProjectSubitem> page = new Page<>(pageNo, pageSize);
IPage<TbMemberProjectSubitem> list = tbMemberProjectSubitemService.queryListByCompany(page,companyId,PayProjectCommon.PROJECT_TYPE4,payIncomeContract.getPack(),payIncomeContract.getPackYear()); 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(list);
} }
return Result.OK(null); return Result.OK(null);
@@ -1,16 +1,11 @@
package com.jero.member.controller; package com.jero.member.controller;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.math.MathUtil;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.member.entity.PayMemberProject; import com.jero.member.entity.PayMemberProject;
import com.jero.member.entity.PayMemberProjectSubitem; import com.jero.member.entity.PayMemberProjectSubitem;
import com.jero.member.mapper.PayMemberProjectMapper; 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.project.entity.PayWorkGroupSubletStatistics;
import com.jero.statistics.entity.AllProjectStatistics; import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch; import com.jero.statistics.entity.AllProjectStatisticsSearch;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayWorkingGroupSubItem; import com.jero.project.entity.PayWorkingGroupSubItem;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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 { public class PayPayMemberProjectServiceImpl extends ServiceImpl<PayMemberProjectMapper, PayMemberProject> implements IPayMemberProjectService {
@Resource @Resource
private SysUserMapper userMapper; private SysUserMapper userMapper;
@Resource @Resource
private PayMemberProjectMapper payMemberProjectMapper; private PayMemberProjectMapper payMemberProjectMapper;
@Autowired @Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService; private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
@Resource @Resource
private IPayMemberProjectSubitemService memberProjectSubitemService; private IPayMemberProjectSubitemService memberProjectSubitemService;
@Autowired
private IPayIncomeContractService payIncomeContractService;
/** /**
* 保存 * 保存
* *
@@ -94,30 +98,12 @@ public class PayPayMemberProjectServiceImpl extends ServiceImpl<PayMemberProject
LambdaQueryWrapper<PayMemberProjectSubitem> query = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PayMemberProjectSubitem> query = new LambdaQueryWrapper<>();
query.eq(PayMemberProjectSubitem::getProjectId, id); query.eq(PayMemberProjectSubitem::getProjectId, id);
List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(query); List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(query);
getPayIncomeContractAssociated(listPayMemberProjectSubitem); if(!CollectionUtils.isEmpty(listPayMemberProjectSubitem)) {
throw new JeroBootException("会员项目下存在企业,不可进行删除!");
}
removeById(id); 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<>(); LambdaQueryWrapper<PayMemberProjectSubitem> query = new LambdaQueryWrapper<>();
query.in(PayMemberProjectSubitem::getProjectId, ids); query.in(PayMemberProjectSubitem::getProjectId, ids);
List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(query); List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(query);
getPayIncomeContractAssociated(listPayMemberProjectSubitem); if(!CollectionUtils.isEmpty(listPayMemberProjectSubitem)) {
throw new JeroBootException("会员项目下存在企业,不可进行删除!");
}
removeByIds(ids); removeByIds(ids);
} }
@@ -7,12 +7,11 @@ import com.jero.common.service.ProjectDetailService;
import com.jero.common.util.ValidUtil; import com.jero.common.util.ValidUtil;
import com.jero.common.vo.ProjectStatusVO; import com.jero.common.vo.ProjectStatusVO;
import com.jero.company.entity.PayContactsManagement; import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService; import com.jero.company.service.IPayContactsManagementService;
import com.jero.contract.entity.PayIncomeContract; import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractService; import com.jero.contract.service.IPayIncomeContractService;
import com.jero.pack.entity.PayPackCompanyProject;
import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.project.common.PayProjectCommon; import com.jero.project.common.PayProjectCommon;
import com.jero.temporary.entity.PayCompanyManagementTemporary; import com.jero.temporary.entity.PayCompanyManagementTemporary;
@@ -30,6 +29,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@@ -63,6 +64,8 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
private ProjectDetailService projectDetailService; private ProjectDetailService projectDetailService;
@Autowired @Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService; private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
@Resource
private IPayMemberProjectSubitemService memberProjectSubitemService;
/** /**
* 保存 * 保存
*/ */
@@ -248,18 +251,8 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
@Override @Override
@Transactional @Transactional
public void deleteById(String id) { public void deleteById(String id) {
try { deleteProject(id);
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>(); // delectTemporaryById(id);
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);
removeById(id); removeById(id);
} }
@@ -283,23 +276,41 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
@Transactional @Transactional
public void deleteByIds(List<String> ids) { public void deleteByIds(List<String> ids) {
for (String id : ids) { for (String id : ids) {
try { deleteProject(id);
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>(); // delectTemporaryById(id);
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);
} }
removeByIds(ids); 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查询 * 通过id查询
*/ */
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.member.entity.PayMemberProjectSubitem; import com.jero.member.entity.PayMemberProjectSubitem;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -34,12 +35,12 @@ import javax.annotation.Resource;
@Service @Service
public class TbMemberProjectServiceImpl extends ServiceImpl<TbMemberProjectMapper, TbMemberProject> implements ITbMemberProjectService { public class TbMemberProjectServiceImpl extends ServiceImpl<TbMemberProjectMapper, TbMemberProject> implements ITbMemberProjectService {
@Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
@Resource @Resource
private ITbMemberProjectSubitemService tbMemberProjectSubitemService; private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
@Resource @Resource
private TbMemberProjectMapper tbMemberProjectMapper; private TbMemberProjectMapper tbMemberProjectMapper;
@Autowired
private IPayIncomeContractService payIncomeContractService;
/** /**
* 保存 * 保存
*/ */
@@ -64,28 +65,11 @@ public class TbMemberProjectServiceImpl extends ServiceImpl<TbMemberProjectMappe
LambdaQueryWrapper<TbMemberProjectSubitem> query = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TbMemberProjectSubitem> query = new LambdaQueryWrapper<>();
query.eq(TbMemberProjectSubitem::getProjectId, id); query.eq(TbMemberProjectSubitem::getProjectId, id);
List<TbMemberProjectSubitem> listTbMemberProjectSubitem = tbMemberProjectSubitemService.list(query); List<TbMemberProjectSubitem> listTbMemberProjectSubitem = tbMemberProjectSubitemService.list(query);
getPayIncomeContractAssociated(listTbMemberProjectSubitem); if(!CollectionUtils.isEmpty(listTbMemberProjectSubitem)) {
throw new JeroBootException("标协会员项目下存在企业,不可进行删除!");
}
removeById(id); 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<>(); LambdaQueryWrapper<TbMemberProjectSubitem> query = new LambdaQueryWrapper<>();
query.in(TbMemberProjectSubitem::getProjectId, ids); query.in(TbMemberProjectSubitem::getProjectId, ids);
List<TbMemberProjectSubitem> listTbMemberProjectSubitem = tbMemberProjectSubitemService.list(query); List<TbMemberProjectSubitem> listTbMemberProjectSubitem = tbMemberProjectSubitemService.list(query);
getPayIncomeContractAssociated(listTbMemberProjectSubitem); if(!CollectionUtils.isEmpty(listTbMemberProjectSubitem)) {
throw new JeroBootException("标协会员项目下存在企业,不可进行删除!");
}
removeByIds(ids); removeByIds(ids);
} }
@@ -1,16 +1,27 @@
package com.jero.member.service.impl; package com.jero.member.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService; 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.entity.TbMemberProjectSubitem;
import com.jero.member.mapper.TbMemberProjectSubitemMapper; import com.jero.member.mapper.TbMemberProjectSubitemMapper;
import com.jero.member.service.ITbMemberProjectSubitemService; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@@ -31,6 +42,16 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper; private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
@Autowired @Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService; 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 @Override
public void deleteById(String id) { public void deleteById(String id) {
try { deleteProject(id);
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("已关联合同不可删除!");
}
removeById(id); removeById(id);
} }
@@ -72,21 +83,36 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
@Override @Override
public void deleteByIds(List<String> ids) { public void deleteByIds(List<String> ids) {
ids.forEach(p->{ ids.forEach(p->{
try { deleteProject(p);
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("已关联合同不可删除!");
}
}); });
removeByIds(ids); 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查询 * 通过id查询
*/ */
@@ -11,7 +11,9 @@ import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.ProjectDetailService; import com.jero.common.service.ProjectDetailService;
import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.base.controller.JeroController;
@@ -23,6 +25,7 @@ import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractService; import com.jero.contract.service.IPayIncomeContractService;
import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
import com.jero.pack.entity.PayPackCompanyProject;
import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.project.common.PayProjectCommon; import com.jero.project.common.PayProjectCommon;
import com.jero.project.service.IPayCommonProjectService; import com.jero.project.service.IPayCommonProjectService;
@@ -220,21 +223,7 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
@ApiOperation(value="普通项目管理-通过id删除", notes="普通项目管理-通过id删除") @ApiOperation(value="普通项目管理-通过id删除", notes="普通项目管理-通过id删除")
@GetMapping(value = "/delete") @GetMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id") String id) { public Result<?> delete(@RequestParam(name="id") String id) {
if(StringUtils.isBlank(id)){ payCommonProjectService.delete(id);
return Result.error("id不能为空!");
}
try {
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
query.eq(PayIncomeContractAssociated::getProjectId,id);
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query);
if(!Objects.isNull(payIncomeContractAssociated)){
return Result.error("已关联合同不可删除!");
}
}catch (Exception e){
log.error("普通项目管理-批量删除异常",e);
return Result.error("已关联合同不可删除!");
}
payCommonProjectService.removeById(id);
return Result.OK("删除成功!"); return Result.OK("删除成功!");
} }
@@ -247,22 +236,7 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
@ApiOperation(value="普通项目管理-批量删除", notes="普通项目管理-批量删除") @ApiOperation(value="普通项目管理-批量删除", notes="普通项目管理-批量删除")
@GetMapping(value = "/deleteBatch") @GetMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids") String ids) { public Result<?> deleteBatch(@RequestParam(name="ids") String ids) {
if(StringUtils.isBlank(ids)){ payCommonProjectService.deleteBatch(ids);
return Result.error("id不能为空!");
}
String[] s = ids.split(",");
for (String s1 : s) {
if(StringUtils.isBlank(s1)){
return Result.error("id不能为空!");
}
}
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
query.in(PayIncomeContractAssociated::getProjectId,Arrays.asList(ids.split(",")));
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(query);
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
return Result.error("已关联合同不可删除!");
}
this.payCommonProjectService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }
@@ -3,24 +3,13 @@ package com.jero.project.controller;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.service.ProjectDetailService; import com.jero.common.service.ProjectDetailService;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.DictModel;
import com.jero.common.util.PasswordUtil; import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil; import com.jero.common.util.ValidUtil;
import com.jero.common.vo.ProjectDetailVO; import com.jero.common.vo.ProjectDetailVO;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.modules.message.handle.impl.EmailSendMsgHandle; import com.jero.modules.message.handle.impl.EmailSendMsgHandle;
import com.jero.project.common.PayProjectCommon; import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.*; import com.jero.project.entity.*;
@@ -31,16 +20,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.vo.SetChargeInput; import com.jero.project.vo.SetChargeInput;
import com.jero.temporary.entity.PayContactsManagementTemporary; import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayContactsManagementTemporaryService; import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import com.jero.util.AmountUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.record.DVALRecord;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -56,15 +39,11 @@ import io.swagger.annotations.ApiOperation;
@RequestMapping("/project/payWorkingGroupSubitem") @RequestMapping("/project/payWorkingGroupSubitem")
@Slf4j @Slf4j
public class PayWorkingGroupSubItemController extends JeroController<PayWorkingGroupSubItem, IPayWorkingGroupSubItemService> { public class PayWorkingGroupSubItemController extends JeroController<PayWorkingGroupSubItem, IPayWorkingGroupSubItemService> {
@Autowired
private ISysBaseAPI sysBaseAPI;
@Autowired @Autowired
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService; private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Autowired @Autowired
private ProjectDetailService projectDetailService; private ProjectDetailService projectDetailService;
@Autowired @Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
@Autowired
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService; private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
@Autowired @Autowired
private IPayWorkingGroupService payWorkingGroupService; private IPayWorkingGroupService payWorkingGroupService;
@@ -188,21 +167,7 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
@ApiOperation(value = "工作组成员-通过id删除", notes = "工作组成员-通过id删除") @ApiOperation(value = "工作组成员-通过id删除", notes = "工作组成员-通过id删除")
@GetMapping(value = "/delete") @GetMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id") String id) { public Result<?> delete(@RequestParam(name = "id") String id) {
if (StringUtils.isBlank(id)) { payWorkingGroupSubItemService.delete(id);
return Result.error("id不能为空!");
}
try {
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
query.eq(PayIncomeContractAssociated::getProjectId, id);
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query);
if (!Objects.isNull(payIncomeContractAssociated)) {
return Result.error("已关联合同不可删除!");
}
} catch (Exception e) {
log.error("普通项目管理-批量删除异常", e);
return Result.error("已关联合同不可删除!");
}
payWorkingGroupSubItemService.removeById(id);
return Result.OK("删除成功!"); return Result.OK("删除成功!");
} }
@@ -215,22 +180,7 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
@ApiOperation(value = "工作组成员-批量删除", notes = "工作组成员-批量删除") @ApiOperation(value = "工作组成员-批量删除", notes = "工作组成员-批量删除")
@GetMapping(value = "/deleteBatch") @GetMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids") String ids) { public Result<?> deleteBatch(@RequestParam(name = "ids") String ids) {
if (StringUtils.isBlank(ids)) { payWorkingGroupSubItemService.deleteBatch(ids);
return Result.error("id不能为空!");
}
String[] s = ids.split(",");
for (String s1 : s) {
if (StringUtils.isBlank(s1)) {
return Result.error("id不能为空!");
}
}
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
query.in(PayIncomeContractAssociated::getProjectId, Arrays.asList(ids.split(",")));
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(query);
if (!CollectionUtils.isEmpty(listPayIncomeContractAssociated)) {
return Result.error("已关联合同不可删除!");
}
payWorkingGroupSubItemService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }
@@ -45,6 +45,24 @@ public interface IPayCommonProjectService extends IService<PayCommonProject> {
* @Exception * @Exception
*/ */
void editPayCommonProject(PayCommonProject payCommonProject); void editPayCommonProject(PayCommonProject payCommonProject);
/**
* @Description 根据id删除
* @Author lqt
* @Date 2021/9/18
* @Param
* @Return
* @Exception
*/
void delete(String id);
/**
* @Description 批量删除
* @Author lqt
* @Date 2021/9/18
* @Param
* @Return
* @Exception
*/
void deleteBatch(String ids);
/** /**
* 全所统计 * 全所统计
@@ -79,4 +79,24 @@ public interface IPayWorkingGroupSubItemService extends IService<PayWorkingGroup
List<PayWorkGroupSubletStatistics> importExcelStatistics(String id); List<PayWorkGroupSubletStatistics> importExcelStatistics(String id);
/**
* @Description 根据id删除
* @Author lqt
* @Date 2021/9/18
* @Param
* @Return
* @Exception
*/
void delete(String id);
/**
* @Description 批量删除
* @Author lqt
* @Date 2021/9/18
* @Param
* @Return
* @Exception
*/
void deleteBatch(String ids);
} }
@@ -16,6 +16,7 @@ import com.jero.contract.service.IPayIncomeContractService;
import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
import com.jero.pack.entity.PayPackCompany; import com.jero.pack.entity.PayPackCompany;
import com.jero.pack.entity.PayPackCompanyProject;
import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.pack.service.IPayPackCompanyService; import com.jero.pack.service.IPayPackCompanyService;
import com.jero.project.common.PayProjectCommon; import com.jero.project.common.PayProjectCommon;
@@ -40,7 +41,9 @@ import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.lang.reflect.Array;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@@ -56,7 +59,6 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
@Resource @Resource
private PayCommonProjectMapper payCommonProjectMapper; private PayCommonProjectMapper payCommonProjectMapper;
@Autowired @Autowired
private IPayCommonProjectService payCommonProjectService; private IPayCommonProjectService payCommonProjectService;
@Autowired @Autowired
@@ -68,12 +70,8 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
@Autowired @Autowired
private IPayIncomeContractService payIncomeContractService; private IPayIncomeContractService payIncomeContractService;
@Autowired @Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
@Autowired
private IPayPackCompanyProjectService payPackCompanyProjectService; private IPayPackCompanyProjectService payPackCompanyProjectService;
@Autowired @Autowired
private IPayPackCompanyService payPackCompanyService;
@Autowired
private ProjectDetailService projectDetailService; private ProjectDetailService projectDetailService;
@@ -203,6 +201,58 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
return payCommonProjectMapper.queryPageList3(allProjectStatisticsSearch); return payCommonProjectMapper.queryPageList3(allProjectStatisticsSearch);
} }
@Override
@Transactional
public void delete(String id) {
if(StringUtils.isBlank(id)){
throw new JeroBootException("id不能为空!");
}
deleteProject(id);
payCommonProjectService.removeById(id);
}
@Override
@Transactional
public void deleteBatch(String ids) {
if(StringUtils.isBlank(ids)){
throw new JeroBootException("id不能为空!");
}
String[] s = ids.split(",");
for (String s1 : s) {
if(StringUtils.isBlank(s1)){
throw new JeroBootException("id不能为空!");
}
deleteProject(s1);
}
this.payCommonProjectService.removeByIds(Arrays.asList(ids.split(",")));
}
/**
* @Description 删除项目打包关联,临时企业、联系信息
* @Author lqt
* @Date 2021/9/18
* @Param id 项目id
* @Return
* @Exception
*/
private void deleteProject(String id){
PayCommonProject payCommonProject = payCommonProjectService.getById(id);
// 到账!=0 || 开票!=0 || 邮寄!=0
if(!Objects.equals(payCommonProject.getInAccount(),PayProjectCommon.IN_ACCOUNT0)
|| !Objects.equals(payCommonProject.getMakeInvoice(),PayProjectCommon.MAKE_INVOICE0)
|| !Objects.equals(payCommonProject.getMail(),PayProjectCommon.MAIL0)){
throw new JeroBootException("项目已有到账信息不可删除!");
}
// 校验项目是否已关联合同 抛异常
payIncomeContractService.getPayIncomeContractAssociated(Collections.singletonList(payCommonProject.getId()));
// 如果已打报,同步删除打包关联
LambdaUpdateWrapper<PayPackCompanyProject> update = new LambdaUpdateWrapper<>();
update.eq(PayPackCompanyProject::getProjectId,payCommonProject.getId());
payPackCompanyProjectService.remove(update);
// 删除企业联系人临时数据
payCompanyManagementTemporaryService.removeById(payCommonProject.getChargeCompanyTemporaryId());
payContactsManagementTemporaryService.removeByIds(Arrays.asList(payCommonProject.getContactsTemporaryId(),payCommonProject.getMailContactsTemporaryId()));
}
/** /**
* @Description 插入企业信息,联系人信息到临时表,更新项目记录 * @Description 插入企业信息,联系人信息到临时表,更新项目记录
* @Author lqt * @Author lqt
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
import com.jero.project.entity.*; import com.jero.project.entity.*;
@@ -49,6 +50,8 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
private PayWorkingGroupMapper payWorkingGroupMapper; private PayWorkingGroupMapper payWorkingGroupMapper;
@Autowired @Autowired
private ISysUserService sysUserService; private ISysUserService sysUserService;
@Autowired
private IPayIncomeContractService payIncomeContractService;
@Override @Override
public IPage<PayWorkingGroupVO> queryPageList(Page<PayWorkingGroupVO> page, PayWorkingGroup payWorkingGroup) { public IPage<PayWorkingGroupVO> queryPageList(Page<PayWorkingGroupVO> page, PayWorkingGroup payWorkingGroup) {
@@ -71,7 +74,9 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
LambdaQueryWrapper<PayWorkingGroupSubItem> query = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PayWorkingGroupSubItem> query = new LambdaQueryWrapper<>();
query.eq(PayWorkingGroupSubItem::getWorkingGroupId,id); query.eq(PayWorkingGroupSubItem::getWorkingGroupId,id);
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query); List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query);
getPayIncomeContractAssociated(listPayWorkingGroupSubItem); if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)) {
throw new JeroBootException("工作组下存在企业,不可进行删除!");
}
payWorkingGroupService.removeById(id); payWorkingGroupService.removeById(id);
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getWorkingGroupId,id); updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getWorkingGroupId,id);
@@ -84,7 +89,9 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
LambdaQueryWrapper<PayWorkingGroupSubItem> query = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PayWorkingGroupSubItem> query = new LambdaQueryWrapper<>();
query.in(PayWorkingGroupSubItem::getWorkingGroupId, ids); query.in(PayWorkingGroupSubItem::getWorkingGroupId, ids);
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query); List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query);
getPayIncomeContractAssociated(listPayWorkingGroupSubItem); if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)) {
throw new JeroBootException("工作组下存在企业,不可进行删除!");
}
payWorkingGroupService.removeByIds(ids); payWorkingGroupService.removeByIds(ids);
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getWorkingGroupId,ids); updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getWorkingGroupId,ids);
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.common.service.ProjectDetailService; import com.jero.common.service.ProjectDetailService;
import com.jero.common.util.ValidUtil; import com.jero.common.util.ValidUtil;
@@ -13,8 +14,10 @@ import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService; import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService; import com.jero.company.service.IPayContactsManagementService;
import com.jero.contract.entity.PayIncomeContract; import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractService; import com.jero.contract.service.IPayIncomeContractService;
import com.jero.pack.entity.PayPackCompanyProject;
import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.project.common.PayProjectCommon; import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.*; import com.jero.project.entity.*;
@@ -77,8 +80,6 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
@Autowired @Autowired
private IPayPackCompanyProjectService payPackCompanyProjectService; private IPayPackCompanyProjectService payPackCompanyProjectService;
@Autowired @Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
@Autowired
private ProjectDetailService projectDetailService; private ProjectDetailService projectDetailService;
@Override @Override
@@ -504,6 +505,58 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
} }
@Override
@Transactional
public void delete(String id) {
if (StringUtils.isBlank(id)) {
throw new JeroBootException("id不能为空!");
}
deleteProject(id);
payWorkingGroupSubItemService.removeById(id);
}
@Override
@Transactional
public void deleteBatch(String ids) {
if (StringUtils.isBlank(ids)) {
throw new JeroBootException("id不能为空!");
}
String[] s = ids.split(",");
for (String s1 : s) {
if (StringUtils.isBlank(s1)) {
throw new JeroBootException("id不能为空!");
}
deleteProject(s1);
}
payWorkingGroupSubItemService.removeByIds(Arrays.asList(ids.split(",")));
}
/**
* @Description 删除项目打包关联,临时企业、联系信息
* @Author lqt
* @Date 2021/9/18
* @Param id 项目id
* @Return
* @Exception
*/
private void deleteProject(String id){
PayWorkingGroupSubItem payWorkingGroupSubItem = payWorkingGroupSubItemService.getById(id);
// 到账!=0 || 开票!=0 || 邮寄!=0
if(!Objects.equals(payWorkingGroupSubItem.getInAccount(),PayProjectCommon.IN_ACCOUNT0)
|| !Objects.equals(payWorkingGroupSubItem.getMakeInvoice(),PayProjectCommon.MAKE_INVOICE0)
|| !Objects.equals(payWorkingGroupSubItem.getMail(),PayProjectCommon.MAIL0)){
throw new JeroBootException("项目已有到账信息不可删除!");
}
// 校验项目是否已关联合同 抛异常
payIncomeContractService.getPayIncomeContractAssociated(Collections.singletonList(payWorkingGroupSubItem.getId()));
// 如果已打报,同步删除打包关联
LambdaUpdateWrapper<PayPackCompanyProject> update = new LambdaUpdateWrapper<>();
update.eq(PayPackCompanyProject::getProjectId,payWorkingGroupSubItem.getId());
payPackCompanyProjectService.remove(update);
// 删除企业联系人临时数据
payCompanyManagementTemporaryService.removeById(payWorkingGroupSubItem.getChargeCompanyTemporaryId());
payContactsManagementTemporaryService.removeByIds(Arrays.asList(payWorkingGroupSubItem.getContactsTemporaryIdOne(),payWorkingGroupSubItem.getContactsTemporaryIdTwo(),payWorkingGroupSubItem.getContactsTemporaryIdThree(),payWorkingGroupSubItem.getMailContactsTemporaryId()));
}
/** /**
* @Description 插入企业信息,联系人信息到临时表,更新项目记录 * @Description 插入企业信息,联系人信息到临时表,更新项目记录
* @Author lqt * @Author lqt