修改bug#40408

This commit is contained in:
梁琦涛
2021-10-22 18:26:53 +08:00
parent 532a1f1d32
commit 02df07b0dc
2 changed files with 283 additions and 15 deletions
@@ -31,8 +31,19 @@ import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.company.service.ProjectCountService;
import com.jero.company.vo.CompanyOrContactsCount;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.member.entity.PayMemberProjectSubitem;
import com.jero.member.entity.TbMemberProjectSubitem;
import com.jero.member.service.IPayMemberProjectService;
import com.jero.member.service.IPayMemberProjectSubitemService;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.service.IPayCommonProjectService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import lombok.extern.slf4j.Slf4j;
@@ -78,7 +89,15 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
@Resource
private IPayContactsManagementService payContactsManagementService;
@Resource
private ProjectDetailService projectDetailService;
private IPayCommonProjectService payCommonProjectService;
@Resource
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Resource
private IPayMeetingSituationService payMeetingSituationService;
@Resource
private IPayMemberProjectSubitemService memberProjectSubitemService;
@Resource
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
/**
* 企业管理-分页列表查询
@@ -422,9 +441,53 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
if(StringUtils.isBlank(id)){
return Result.error("id不能为空!");
}
CompanyOrContactsCount companyOrContactsCount = new CompanyOrContactsCount();
companyOrContactsCount.setCompanyId(Arrays.asList(id.split(",")));
projectCountService.getProjectCount(companyOrContactsCount);
LambdaQueryWrapper<PayCompanyManagement> queryPayCompanyManagement = new LambdaQueryWrapper<>();
queryPayCompanyManagement.in(PayCompanyManagement::getId,Arrays.asList(id.split(",")));
List<PayCompanyManagement> listPayCompanyManagement = payCompanyManagementService.list(queryPayCompanyManagement);
if(CollectionUtils.isEmpty(listPayCompanyManagement)){
return Result.error("企业不存在!");
}
StringBuilder msg = new StringBuilder();
listPayCompanyManagement.forEach(p->{
LambdaQueryWrapper<PayCommonProject> queryPayCommonProject = new LambdaQueryWrapper<>();
queryPayCommonProject.eq(PayCommonProject::getChargeCompanyId,p.getId());
List<PayCommonProject> listPayCommonProject = payCommonProjectService.list(queryPayCommonProject);
if(!CollectionUtils.isEmpty(listPayCommonProject)){
msg.append(p.getCompanyName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getChargeCompanyId,p.getId());
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
msg.append(p.getCompanyName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayMeetingSituation> queryPayMeetingSituation = new LambdaQueryWrapper<>();
queryPayMeetingSituation.eq(PayMeetingSituation::getCompanyId,p.getId());
List<PayMeetingSituation> listPayMeetingSituation = payMeetingSituationService.list(queryPayMeetingSituation);
if(!CollectionUtils.isEmpty(listPayMeetingSituation)){
msg.append(p.getCompanyName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayMemberProjectSubitem> queryPayMemberProjectSubitem = new LambdaQueryWrapper<>();
queryPayMemberProjectSubitem.eq(PayMemberProjectSubitem::getCompanyId,p.getId());
List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(queryPayMemberProjectSubitem);
if(!CollectionUtils.isEmpty(listPayMemberProjectSubitem)){
msg.append(p.getCompanyName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<TbMemberProjectSubitem> queryTbMemberProjectSubitem = new LambdaQueryWrapper<>();
queryTbMemberProjectSubitem.eq(TbMemberProjectSubitem::getCompanyId,p.getId());
List<TbMemberProjectSubitem> listTbMemberProjectSubitem = tbMemberProjectSubitemService.list(queryTbMemberProjectSubitem);
if(!CollectionUtils.isEmpty(listTbMemberProjectSubitem)){
msg.append(p.getCompanyName() + "已关联项目,不可删除!<br/>");
return;
}
});
if(!StringUtils.isEmpty(msg)){
return Result.error(msg.toString());
}
payCompanyManagementService.removePayCompanyManagementById(id);
return Result.OK("删除成功!");
}
@@ -453,9 +516,56 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
return Result.error("id不能为空!");
}
}
CompanyOrContactsCount companyOrContactsCount = new CompanyOrContactsCount();
companyOrContactsCount.setCompanyId(Arrays.asList(s));
projectCountService.getProjectCount(companyOrContactsCount);
LambdaQueryWrapper<PayCompanyManagement> queryPayCompanyManagement = new LambdaQueryWrapper<>();
queryPayCompanyManagement.in(PayCompanyManagement::getId,Arrays.asList(s));
List<PayCompanyManagement> listPayCompanyManagement = payCompanyManagementService.list(queryPayCompanyManagement);
if(CollectionUtils.isEmpty(listPayCompanyManagement)){
return Result.error("企业不存在!");
}
StringBuilder msg = new StringBuilder();
listPayCompanyManagement.forEach(p->{
LambdaQueryWrapper<PayCommonProject> queryPayCommonProject = new LambdaQueryWrapper<>();
queryPayCommonProject.eq(PayCommonProject::getChargeCompanyId,p.getId());
List<PayCommonProject> listPayCommonProject = payCommonProjectService.list(queryPayCommonProject);
if(!CollectionUtils.isEmpty(listPayCommonProject)){
msg.append(p.getCompanyName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getChargeCompanyId,p.getId());
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
msg.append(p.getCompanyName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayMeetingSituation> queryPayMeetingSituation = new LambdaQueryWrapper<>();
queryPayMeetingSituation.eq(PayMeetingSituation::getCompanyId,p.getId());
List<PayMeetingSituation> listPayMeetingSituation = payMeetingSituationService.list(queryPayMeetingSituation);
if(!CollectionUtils.isEmpty(listPayMeetingSituation)){
msg.append(p.getCompanyName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayMemberProjectSubitem> queryPayMemberProjectSubitem = new LambdaQueryWrapper<>();
queryPayMemberProjectSubitem.eq(PayMemberProjectSubitem::getCompanyId,p.getId());
List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(queryPayMemberProjectSubitem);
if(!CollectionUtils.isEmpty(listPayMemberProjectSubitem)){
msg.append(p.getCompanyName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<TbMemberProjectSubitem> queryTbMemberProjectSubitem = new LambdaQueryWrapper<>();
queryTbMemberProjectSubitem.eq(TbMemberProjectSubitem::getCompanyId,p.getId());
List<TbMemberProjectSubitem> listTbMemberProjectSubitem = tbMemberProjectSubitemService.list(queryTbMemberProjectSubitem);
if(!CollectionUtils.isEmpty(listTbMemberProjectSubitem)){
msg.append(p.getCompanyName() + "已关联项目,不可删除!<br/>");
return;
}
});
if(!StringUtils.isEmpty(msg)){
return Result.error(msg.toString());
}
// CompanyOrContactsCount companyOrContactsCount = new CompanyOrContactsCount();
// companyOrContactsCount.setCompanyId(Arrays.asList(s));
// projectCountService.getProjectCount(companyOrContactsCount);
this.payCompanyManagementService.removePayCompanyManagementByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
@@ -568,10 +678,48 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
if(CollectionUtils.isEmpty(listPayCompanyManagement)){
return Result.error("企业不存在!");
}
StringBuilder msg = new StringBuilder();
listPayCompanyManagement.forEach(p->{
LambdaQueryWrapper<PayCommonProject> queryPayCommonProject = new LambdaQueryWrapper<>();
queryPayCommonProject.eq(PayCommonProject::getChargeCompanyId,p.getId());
List<PayCommonProject> listPayCommonProject = payCommonProjectService.list(queryPayCommonProject);
if(!CollectionUtils.isEmpty(listPayCommonProject)){
msg.append(p.getCompanyName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getChargeCompanyId,p.getId());
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
msg.append(p.getCompanyName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayMeetingSituation> queryPayMeetingSituation = new LambdaQueryWrapper<>();
queryPayMeetingSituation.eq(PayMeetingSituation::getCompanyId,p.getId());
List<PayMeetingSituation> listPayMeetingSituation = payMeetingSituationService.list(queryPayMeetingSituation);
if(!CollectionUtils.isEmpty(listPayMeetingSituation)){
msg.append(p.getCompanyName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayMemberProjectSubitem> queryPayMemberProjectSubitem = new LambdaQueryWrapper<>();
queryPayMemberProjectSubitem.eq(PayMemberProjectSubitem::getCompanyId,p.getId());
List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(queryPayMemberProjectSubitem);
if(!CollectionUtils.isEmpty(listPayMemberProjectSubitem)){
msg.append(p.getCompanyName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<TbMemberProjectSubitem> queryTbMemberProjectSubitem = new LambdaQueryWrapper<>();
queryTbMemberProjectSubitem.eq(TbMemberProjectSubitem::getCompanyId,p.getId());
List<TbMemberProjectSubitem> listTbMemberProjectSubitem = tbMemberProjectSubitemService.list(queryTbMemberProjectSubitem);
if(!CollectionUtils.isEmpty(listTbMemberProjectSubitem)){
msg.append(p.getCompanyName() + "已关联项目,不可删除!<br/>");
return;
}
});
return Result.OK("");
if(!StringUtils.isEmpty(msg)){
return Result.error(msg.toString());
}
return Result.OK("可操作!");
}
/**
@@ -29,6 +29,16 @@ import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.company.service.ProjectCountService;
import com.jero.company.vo.CompanyOrContactsCount;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.member.entity.PayMemberProjectSubitem;
import com.jero.member.entity.TbMemberProjectSubitem;
import com.jero.member.service.IPayMemberProjectSubitemService;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.service.IPayCommonProjectService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -68,6 +78,16 @@ public class PayContactsManagementController extends JeroController<PayContactsM
private Environment env;
@Resource
private ProjectCountService projectCountService;
@Resource
private IPayCommonProjectService payCommonProjectService;
@Resource
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Resource
private IPayMeetingSituationService payMeetingSituationService;
@Resource
private IPayMemberProjectSubitemService memberProjectSubitemService;
@Resource
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
@Value("${defaultPassword}")
private String defaultPassword;
@@ -406,9 +426,59 @@ public class PayContactsManagementController extends JeroController<PayContactsM
if(StringUtils.isBlank(id)){
return Result.error("id不能为空!");
}
CompanyOrContactsCount companyOrContactsCount = new CompanyOrContactsCount();
companyOrContactsCount.setContactsId(Arrays.asList(id.split(",")));
projectCountService.getProjectCount(companyOrContactsCount);
LambdaQueryWrapper<PayContactsManagement> queryPayContactsManagement = new LambdaQueryWrapper<>();
queryPayContactsManagement.in(PayContactsManagement::getId,Arrays.asList(id.split(",")));
List<PayContactsManagement> listPayContactsManagement = payContactsManagementService.list(queryPayContactsManagement);
if(CollectionUtils.isEmpty(listPayContactsManagement)){
return Result.error("联系人不存在!");
}
StringBuilder msg = new StringBuilder();
listPayContactsManagement.forEach(p->{
LambdaQueryWrapper<PayCommonProject> queryPayCommonProject = new LambdaQueryWrapper<>();
queryPayCommonProject.eq(PayCommonProject::getContactsId,p.getId()).or().eq(PayCommonProject::getMailContactsId,p.getId());
List<PayCommonProject> listPayCommonProject = payCommonProjectService.list(queryPayCommonProject);
if(!CollectionUtils.isEmpty(listPayCommonProject)){
msg.append(p.getName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getContactsIdOne,p.getId()).or()
.eq(PayWorkingGroupSubItem::getContactsIdTwo,p.getId()).or()
.eq(PayWorkingGroupSubItem::getContactsIdThree,p.getId()).or()
.eq(PayWorkingGroupSubItem::getMailContactsId,p.getId());
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
msg.append(p.getName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayMeetingSituation> queryPayMeetingSituation = new LambdaQueryWrapper<>();
queryPayMeetingSituation.eq(PayMeetingSituation::getCompanyContactId,p.getId()).or().eq(PayMeetingSituation::getPostContactId,p.getId());
List<PayMeetingSituation> listPayMeetingSituation = payMeetingSituationService.list(queryPayMeetingSituation);
if(!CollectionUtils.isEmpty(listPayMeetingSituation)){
msg.append(p.getName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayMemberProjectSubitem> queryPayMemberProjectSubitem = new LambdaQueryWrapper<>();
queryPayMemberProjectSubitem.eq(PayMemberProjectSubitem::getCompanyContactId,p.getId()).eq(PayMemberProjectSubitem::getPostContactId,p.getId());
List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(queryPayMemberProjectSubitem);
if(!CollectionUtils.isEmpty(listPayMemberProjectSubitem)){
msg.append(p.getName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<TbMemberProjectSubitem> queryTbMemberProjectSubitem = new LambdaQueryWrapper<>();
queryTbMemberProjectSubitem.eq(TbMemberProjectSubitem::getLiaisonManId,p.getId());
List<TbMemberProjectSubitem> listTbMemberProjectSubitem = tbMemberProjectSubitemService.list(queryTbMemberProjectSubitem);
if(!CollectionUtils.isEmpty(listTbMemberProjectSubitem)){
msg.append(p.getName() + "已关联项目,不可删除!<br/>");
return;
}
});
if(!StringUtils.isEmpty(msg)){
return Result.error(msg.toString());
}
// CompanyOrContactsCount companyOrContactsCount = new CompanyOrContactsCount();
// companyOrContactsCount.setContactsId(Arrays.asList(id.split(",")));
// projectCountService.getProjectCount(companyOrContactsCount);
payContactsManagementService.removeById(id);
return Result.OK("删除成功!");
}
@@ -433,9 +503,59 @@ public class PayContactsManagementController extends JeroController<PayContactsM
return Result.error("id不能为空!");
}
}
CompanyOrContactsCount companyOrContactsCount = new CompanyOrContactsCount();
companyOrContactsCount.setContactsId(Arrays.asList(s));
projectCountService.getProjectCount(companyOrContactsCount);
LambdaQueryWrapper<PayContactsManagement> queryPayContactsManagement = new LambdaQueryWrapper<>();
queryPayContactsManagement.in(PayContactsManagement::getId,Arrays.asList(s));
List<PayContactsManagement> listPayContactsManagement = payContactsManagementService.list(queryPayContactsManagement);
if(CollectionUtils.isEmpty(listPayContactsManagement)){
return Result.error("联系人不存在!");
}
StringBuilder msg = new StringBuilder();
listPayContactsManagement.forEach(p->{
LambdaQueryWrapper<PayCommonProject> queryPayCommonProject = new LambdaQueryWrapper<>();
queryPayCommonProject.eq(PayCommonProject::getContactsId,p.getId()).or().eq(PayCommonProject::getMailContactsId,p.getId());
List<PayCommonProject> listPayCommonProject = payCommonProjectService.list(queryPayCommonProject);
if(!CollectionUtils.isEmpty(listPayCommonProject)){
msg.append(p.getName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getContactsIdOne,p.getId()).or()
.eq(PayWorkingGroupSubItem::getContactsIdTwo,p.getId()).or()
.eq(PayWorkingGroupSubItem::getContactsIdThree,p.getId()).or()
.eq(PayWorkingGroupSubItem::getMailContactsId,p.getId());
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
msg.append(p.getName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayMeetingSituation> queryPayMeetingSituation = new LambdaQueryWrapper<>();
queryPayMeetingSituation.eq(PayMeetingSituation::getCompanyContactId,p.getId()).or().eq(PayMeetingSituation::getPostContactId,p.getId());
List<PayMeetingSituation> listPayMeetingSituation = payMeetingSituationService.list(queryPayMeetingSituation);
if(!CollectionUtils.isEmpty(listPayMeetingSituation)){
msg.append(p.getName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayMemberProjectSubitem> queryPayMemberProjectSubitem = new LambdaQueryWrapper<>();
queryPayMemberProjectSubitem.eq(PayMemberProjectSubitem::getCompanyContactId,p.getId()).eq(PayMemberProjectSubitem::getPostContactId,p.getId());
List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(queryPayMemberProjectSubitem);
if(!CollectionUtils.isEmpty(listPayMemberProjectSubitem)){
msg.append(p.getName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<TbMemberProjectSubitem> queryTbMemberProjectSubitem = new LambdaQueryWrapper<>();
queryTbMemberProjectSubitem.eq(TbMemberProjectSubitem::getLiaisonManId,p.getId());
List<TbMemberProjectSubitem> listTbMemberProjectSubitem = tbMemberProjectSubitemService.list(queryTbMemberProjectSubitem);
if(!CollectionUtils.isEmpty(listTbMemberProjectSubitem)){
msg.append(p.getName() + "已关联项目,不可删除!<br/>");
return;
}
});
if(!StringUtils.isEmpty(msg)){
return Result.error(msg.toString());
}
// CompanyOrContactsCount companyOrContactsCount = new CompanyOrContactsCount();
// companyOrContactsCount.setContactsId(Arrays.asList(s));
// projectCountService.getProjectCount(companyOrContactsCount);
this.payContactsManagementService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}