普通项目,工作组项目添加权限

This commit is contained in:
梁琦涛
2021-10-19 14:30:01 +08:00
parent 9bed1cac68
commit c0df36f321
9 changed files with 133 additions and 23 deletions
@@ -2,6 +2,10 @@ package com.jero.common.common;
public class RoleCommon { public class RoleCommon {
/**
* 项目负责人
*/
public final static String XMFZR = "xmfzr";
/** /**
* 财务人员 * 财务人员
*/ */
@@ -18,6 +18,7 @@ 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.aspect.annotation.AutoLog;
import com.jero.common.common.ProjectCommon; import com.jero.common.common.ProjectCommon;
import com.jero.common.common.RoleCommon;
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;
@@ -129,6 +130,11 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
payCommonProject.setContactsTemporaryName(oConvertUtils.replaceAllPercent(payCommonProject.getContactsTemporaryName())); payCommonProject.setContactsTemporaryName(oConvertUtils.replaceAllPercent(payCommonProject.getContactsTemporaryName()));
} }
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(Objects.equals(sysUser.getRoleCode(),RoleCommon.XMFZR)){
payCommonProject.setPrincipal(sysUser.getId());
}
Page<PayCommonProject> page = new Page<PayCommonProject>(pageNo, pageSize); Page<PayCommonProject> page = new Page<PayCommonProject>(pageNo, pageSize);
IPage<PayCommonProject> pageList = payCommonProjectService.queryPageList(page, payCommonProject, paymentDate); IPage<PayCommonProject> pageList = payCommonProjectService.queryPageList(page, payCommonProject, paymentDate);
if(!CollectionUtils.isEmpty(pageList.getRecords())){ if(!CollectionUtils.isEmpty(pageList.getRecords())){
@@ -365,6 +371,8 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
return Result.OK("编辑成功!"); return Result.OK("编辑成功!");
} }
/** /**
* 通过id删除 * 通过id删除
* *
@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.aspect.annotation.AutoLog;
import com.jero.common.common.RoleCommon;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
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.query.QueryGenerator;
@@ -75,18 +76,22 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
if(!StringUtils.isBlank(payWorkingGroup.getWorkingGroupProject()) && payWorkingGroup.getWorkingGroupProject().length() > 50){ if(!StringUtils.isBlank(payWorkingGroup.getWorkingGroupProject()) && payWorkingGroup.getWorkingGroupProject().length() > 50){
return Result.error("工作组项目长度不能大于50个字符"); return Result.error("工作组项目长度不能大于50个字符");
} }
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(Objects.equals(sysUser.getRoleCode(), RoleCommon.XMFZR)){
payWorkingGroup.setPrincipalA(sysUser.getId());
payWorkingGroup.setPrincipalB(sysUser.getId());
}
Page<PayWorkingGroupVO> page = new Page<PayWorkingGroupVO>(pageNo, pageSize); Page<PayWorkingGroupVO> page = new Page<PayWorkingGroupVO>(pageNo, pageSize);
if(!StringUtils.isBlank(payWorkingGroup.getWorkingGroupProject())){ if(!StringUtils.isBlank(payWorkingGroup.getWorkingGroupProject())){
payWorkingGroup.setWorkingGroupProject(oConvertUtils.replaceAllPercent(payWorkingGroup.getWorkingGroupProject())); payWorkingGroup.setWorkingGroupProject(oConvertUtils.replaceAllPercent(payWorkingGroup.getWorkingGroupProject()));
} }
IPage<PayWorkingGroupVO> pageList = payWorkingGroupService.queryPageList(page, payWorkingGroup); IPage<PayWorkingGroupVO> pageList = payWorkingGroupService.queryPageList(page, payWorkingGroup);
if(!Objects.isNull(pageList)){ if(!Objects.isNull(pageList)){
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<PayWorkingGroupVO> listPayWorkingGroupVO = pageList.getRecords(); List<PayWorkingGroupVO> listPayWorkingGroupVO = pageList.getRecords();
if(!CollectionUtils.isEmpty(listPayWorkingGroupVO)){ if(!CollectionUtils.isEmpty(listPayWorkingGroupVO)){
setPayWorkingGroupSubItem(listPayWorkingGroupVO); setPayWorkingGroupSubItem(listPayWorkingGroupVO);
listPayWorkingGroupVO.forEach(p->{ listPayWorkingGroupVO.forEach(p->{
if(Objects.equals(p.getPrincipalIdB(),sysUser.getId())){ if(Objects.equals(sysUser.getRoleCode(), RoleCommon.XMFZR) && Objects.equals(p.getPrincipalIdB(),sysUser.getId())){
p.setCheckoutOperation(PayProjectCommon.CHECKOUT_OPERATION2); p.setCheckoutOperation(PayProjectCommon.CHECKOUT_OPERATION2);
}else{ }else{
p.setCheckoutOperation(PayProjectCommon.CHECKOUT_OPERATION1); p.setCheckoutOperation(PayProjectCommon.CHECKOUT_OPERATION1);
@@ -308,6 +313,17 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
if(!StringUtils.isBlank(msg)){ if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString()); return Result.error(msg.toString());
} }
if(StringUtils.isEmpty(payWorkingGroup.getId())){
return Result.error("工作组id不能为空!");
}
PayWorkingGroup payWorkingGroupOld = payWorkingGroupService.getById(payWorkingGroup.getId());
if(Objects.isNull(payWorkingGroupOld)){
return Result.error(payWorkingGroupOld.getWorkingGroupProject() + "工作组不存在!");
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(Objects.equals(sysUser.getRoleCode(), RoleCommon.XMFZR) && !Objects.equals(payWorkingGroupOld.getPrincipalA(),sysUser.getId())){
return Result.error(payWorkingGroupOld.getWorkingGroupProject() + "工作组项目不可操作!");
}
try { try {
// 编辑保存前再次校验来款项目是否存在 // 编辑保存前再次校验来款项目是否存在
LambdaQueryWrapper<PayWorkingGroup> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PayWorkingGroup> queryWrapper = new LambdaQueryWrapper<>();
@@ -202,4 +202,9 @@ public class PayCommonProject implements Serializable {
@TableField(exist = false) @TableField(exist = false)
@ApiModelProperty(value = "收入合同处新增标识 flag = 1") @ApiModelProperty(value = "收入合同处新增标识 flag = 1")
private String flag; private String flag;
/**
* 负责人(权限查询)
*/
@TableField(exist = false)
private String principal;
} }
@@ -5,6 +5,7 @@ import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
@@ -141,4 +142,14 @@ public class PayWorkingGroup implements Serializable {
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间") @ApiModelProperty(value = "更新时间")
private Date updateTime; private Date updateTime;
/**
* 负责人A(用于权限查询)
*/
@TableField(exist = false)
private String principalA;
/**
* 负责人B(用于权限查询)
*/
@TableField(exist = false)
private String principalB;
} }
@@ -64,6 +64,9 @@
<if test="payCommonProject.year != null and payCommonProject.year != ''"> <if test="payCommonProject.year != null and payCommonProject.year != ''">
AND year = #{payCommonProject.year} AND year = #{payCommonProject.year}
</if> </if>
<if test="payCommonProject.principal != null and payCommonProject.principal != ''">
AND pcp.principal_id = #{payCommonProject.principal}
</if>
</where> </where>
GROUP BY pcp.id ORDER BY pcp.create_time DESC GROUP BY pcp.id ORDER BY pcp.create_time DESC
</select> </select>
@@ -35,6 +35,9 @@
<if test="payWorkingGroup.year != null and payWorkingGroup.year != ''"> <if test="payWorkingGroup.year != null and payWorkingGroup.year != ''">
AND year = #{payWorkingGroup.year} AND year = #{payWorkingGroup.year}
</if> </if>
<if test="payWorkingGroup.principalA != null and payWorkingGroup.principalA != '' and payWorkingGroup.principalB != null and payWorkingGroup.principalB != ''">
AND (principal_id_a = #{payWorkingGroup.principalA} OR principal_id_b = #{payWorkingGroup.principalB})
</if>
</where> </where>
ORDER BY create_time DESC ORDER BY create_time DESC
</select> </select>
@@ -6,11 +6,15 @@ 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.common.ProjectCommon; import com.jero.common.common.ProjectCommon;
import com.jero.common.common.RoleCommon;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.common.service.ContractCreateProjectSendMessageService; import com.jero.common.service.ContractCreateProjectSendMessageService;
import com.jero.common.service.ProjectDetailService; import com.jero.common.service.ProjectDetailService;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.vo.ProjectStatusVO; import com.jero.common.vo.ProjectStatusVO;
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.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;
@@ -25,7 +29,9 @@ import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService; import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import com.jero.temporary.service.IPayContactsManagementTemporaryService; import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@@ -60,6 +66,9 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
private ProjectDetailService projectDetailService; private ProjectDetailService projectDetailService;
@Resource @Resource
private ContractCreateProjectSendMessageService contractCreateProjectSendMessageService; private ContractCreateProjectSendMessageService contractCreateProjectSendMessageService;
@Resource
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
@@ -119,7 +128,11 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
public void editPayCommonProject(PayCommonProject payCommonProject) { public void editPayCommonProject(PayCommonProject payCommonProject) {
PayCommonProject payCommonProjectOld = payCommonProjectService.getById(payCommonProject); PayCommonProject payCommonProjectOld = payCommonProjectService.getById(payCommonProject);
if(Objects.isNull(payCommonProjectOld)){ if(Objects.isNull(payCommonProjectOld)){
throw new JeroBootException("项目不存在!"); throw new JeroBootException(payCommonProjectOld.getChargeProject() + "项目不存在!");
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(Objects.equals(sysUser.getRoleCode(),RoleCommon.XMFZR) && !Objects.equals(sysUser.getId(),payCommonProjectOld.getPrincipalId())){
throw new JeroBootException(payCommonProjectOld.getChargeProject() + "项目不可操作!");
} }
// 项目为打包状态 || 到账!=0 || 开票!=0 || 邮寄!=0 // 项目为打包状态 || 到账!=0 || 开票!=0 || 邮寄!=0
if(!Objects.equals(payCommonProject.getChargeCompanyId(),payCommonProjectOld.getChargeCompanyId()) if(!Objects.equals(payCommonProject.getChargeCompanyId(),payCommonProjectOld.getChargeCompanyId())
@@ -212,7 +225,10 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
if(StringUtils.isBlank(id)){ if(StringUtils.isBlank(id)){
throw new JeroBootException("id不能为空!"); throw new JeroBootException("id不能为空!");
} }
deleteProject(id); StringBuilder msg = deleteProject(id);
if(!StringUtils.isEmpty(msg)){
throw new JeroBootException(msg.toString());
}
payCommonProjectService.removeById(id); payCommonProjectService.removeById(id);
} }
@@ -223,11 +239,18 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
throw new JeroBootException("id不能为空!"); throw new JeroBootException("id不能为空!");
} }
String[] s = ids.split(","); String[] s = ids.split(",");
StringBuilder msg = new StringBuilder();
for (String s1 : s) { for (String s1 : s) {
if(StringUtils.isBlank(s1)){ if(StringUtils.isBlank(s1)){
throw new JeroBootException("id不能为空!"); throw new JeroBootException("id不能为空!");
} }
deleteProject(s1); StringBuilder sb = deleteProject(s1);
if(!StringUtils.isEmpty(sb)){
msg.append(sb);
}
}
if(!StringUtils.isEmpty(msg)){
throw new JeroBootException(msg.toString());
} }
this.payCommonProjectService.removeByIds(Arrays.asList(ids.split(","))); this.payCommonProjectService.removeByIds(Arrays.asList(ids.split(",")));
} }
@@ -245,23 +268,32 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
* @Return * @Return
* @Exception * @Exception
*/ */
private void deleteProject(String id){ private StringBuilder deleteProject(String id){
StringBuilder sb = new StringBuilder();
PayCommonProject payCommonProject = payCommonProjectService.getById(id); PayCommonProject payCommonProject = payCommonProjectService.getById(id);
// 项目负责人权限最底层,其他任何权限都可直接操作,不需要认证当前项目是否为项目负责人
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(Objects.equals(sysUser.getRoleCode(),RoleCommon.XMFZR) && !Objects.equals(payCommonProject.getPrincipalId(), sysUser.getId())){
sb.append(payCommonProject.getChargeProject() + "项目没有删除权限!<br/>");
}
if(!StringUtils.isEmpty(sb)){
return sb;
}
// 到账!=0 // 到账!=0
if(!Objects.equals(payCommonProject.getInAccount(),PayProjectCommon.IN_ACCOUNT0)){ if(!Objects.equals(payCommonProject.getInAccount(),PayProjectCommon.IN_ACCOUNT0)){
throw new JeroBootException("项目已有到账信息不可删除!"); sb.append(payCommonProject.getChargeProject() + "项目已有到账信息不可删除!<br/>");
}else if(!Objects.equals(payCommonProject.getMakeInvoice(),PayProjectCommon.MAKE_INVOICE0)){// 开票!=0
sb.append(payCommonProject.getChargeProject() + "项目已有开票信息不可删除!<br/>");
}else if(!Objects.equals(payCommonProject.getMail(),PayProjectCommon.MAIL0)){// 邮寄!=0
sb.append(payCommonProject.getChargeProject() + "项目已有邮寄信息不可删除!<br/>");
} }
// 开票!=0
if(!Objects.equals(payCommonProject.getMakeInvoice(),PayProjectCommon.MAKE_INVOICE0)){
throw new JeroBootException("项目已有开票信息不可删除!");
}
// 邮寄!=0
if(!Objects.equals(payCommonProject.getMail(),PayProjectCommon.MAIL0)){
throw new JeroBootException("项目已有邮寄信息不可删除!");
}
// 校验项目是否已关联合同 抛异常 // 校验项目是否已关联合同 抛异常
payIncomeContractService.getPayIncomeContractAssociated(Collections.singletonList(payCommonProject.getId())); LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getProjectId,id);
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
sb.append(payCommonProject.getChargeProject() + "项目已关联合同不可删除!<br/>");
}
// 如果已打报,同步删除打包关联 // 如果已打报,同步删除打包关联
LambdaUpdateWrapper<PayPackCompanyProject> update = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<PayPackCompanyProject> update = new LambdaUpdateWrapper<>();
update.eq(PayPackCompanyProject::getProjectId,payCommonProject.getId()); update.eq(PayPackCompanyProject::getProjectId,payCommonProject.getId());
@@ -269,6 +301,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
// 删除企业联系人临时数据 // 删除企业联系人临时数据
payCompanyManagementTemporaryService.removeById(payCommonProject.getChargeCompanyTemporaryId()); payCompanyManagementTemporaryService.removeById(payCommonProject.getChargeCompanyTemporaryId());
payContactsManagementTemporaryService.removeByIds(Arrays.asList(payCommonProject.getContactsTemporaryId(),payCommonProject.getMailContactsTemporaryId())); payContactsManagementTemporaryService.removeByIds(Arrays.asList(payCommonProject.getContactsTemporaryId(),payCommonProject.getMailContactsTemporaryId()));
return sb;
} }
/** /**
@@ -4,7 +4,10 @@ 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.common.RoleCommon;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
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.contract.service.IPayIncomeContractService;
@@ -18,6 +21,7 @@ import com.jero.project.mapper.PayWorkingGroupMapper;
import com.jero.statistics.entity.*; import com.jero.statistics.entity.*;
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.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -73,12 +77,20 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
@Override @Override
@Transactional @Transactional
public void deleteById(String id) { public void deleteById(String id) {
PayWorkingGroup payWorkingGroupOld = payWorkingGroupService.getById(id);
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(Objects.equals(sysUser.getRoleCode(), RoleCommon.XMFZR) && !Objects.equals(payWorkingGroupOld.getPrincipalA(),sysUser.getId())){
throw new JeroBootException(payWorkingGroupOld.getWorkingGroupProject() + "工作组项目不可操作!");
}
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);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)) { if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)) {
throw new JeroBootException("工作组下存在企业,不可进行删除!"); throw new JeroBootException(payWorkingGroupOld.getWorkingGroupProject() + "工作组下存在企业,不可进行删除!");
} }
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);
@@ -88,11 +100,26 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
@Override @Override
@Transactional @Transactional
public void deleteByIds(List<String> ids) { public void deleteByIds(List<String> ids) {
LambdaQueryWrapper<PayWorkingGroupSubItem> query = new LambdaQueryWrapper<>(); StringBuilder sb = new StringBuilder();
query.in(PayWorkingGroupSubItem::getWorkingGroupId, ids); StringBuilder sb1 = new StringBuilder();
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query); ids.forEach(p->{
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)) { PayWorkingGroup payWorkingGroupOld = payWorkingGroupService.getById(p);
throw new JeroBootException("工作组下存在企业,不可进行删除!"); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(Objects.equals(sysUser.getRoleCode(), RoleCommon.XMFZR) && !Objects.equals(payWorkingGroupOld.getPrincipalA(),sysUser.getId())){
sb.append(payWorkingGroupOld.getWorkingGroupProject() + "工作组项目不可操作!<br/>");
}
LambdaQueryWrapper<PayWorkingGroupSubItem> query = new LambdaQueryWrapper<>();
query.eq(PayWorkingGroupSubItem::getWorkingGroupId, p);
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)) {
sb1.append(payWorkingGroupOld.getWorkingGroupProject() + "工作组下存在企业,不可进行删除!<br/");
}
});
if(!StringUtils.isEmpty(sb)){
throw new JeroBootException(sb.toString());
}
if(!StringUtils.isEmpty(sb1)){
throw new JeroBootException(sb1.toString());
} }
payWorkingGroupService.removeByIds(ids); payWorkingGroupService.removeByIds(ids);
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();