普通项目,工作组项目添加权限
This commit is contained in:
@@ -2,6 +2,10 @@ package com.jero.common.common;
|
|||||||
|
|
||||||
public class RoleCommon {
|
public class RoleCommon {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目负责人
|
||||||
|
*/
|
||||||
|
public final static String XMFZR = "xmfzr";
|
||||||
/**
|
/**
|
||||||
* 财务人员
|
* 财务人员
|
||||||
*/
|
*/
|
||||||
|
|||||||
+8
@@ -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删除
|
||||||
*
|
*
|
||||||
|
|||||||
+18
-2
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
+3
@@ -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>
|
||||||
|
|||||||
+3
@@ -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>
|
||||||
|
|||||||
+48
-15
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+33
-6
@@ -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<>();
|
||||||
|
|||||||
Reference in New Issue
Block a user