添加起草组分发资料维护

This commit is contained in:
梁琦涛
2024-01-08 14:43:31 +08:00
parent 178a6f3f10
commit 0b4ab52dce
3 changed files with 89 additions and 21 deletions
@@ -97,17 +97,22 @@ public class PayProjectCommon {
public static final Integer YES = 1;
/**
* 项目类型1:工作组,2:分标委, 3:理事会
* 项目类型1:工作组,2:分标委, 3:理事会, 4:起草组
*/
public final static Integer PROJECT_TYPE_FILE1 = 1;
/**
* 项目类型1:工作组,2:分标委, 3:理事会
* 项目类型1:工作组,2:分标委, 3:理事会, 4:起草组
*/
public final static Integer PROJECT_TYPE_FILE2 = 2;
/**
* 项目类型1:工作组,2:分标委, 3:理事会
* 项目类型1:工作组,2:分标委, 3:理事会, 4:起草组
*/
public final static Integer PROJECT_TYPE_FILE3 = 3;
/**
* 项目类型1:工作组,2:分标委, 3:理事会, 4:起草组
*/
public final static Integer PROJECT_TYPE_FILE4 = 4;
/**
* 需要发票(1:增值税普通发票,2:增值税专用发票,0:否,3:需要发票(小程序需要))
*/
@@ -11,6 +11,8 @@ import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.ValidUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.drafting.entity.PayDraftingGroup;
import com.jero.drafting.service.IPayDraftingGroupService;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.project.common.PayProjectCommon;
@@ -59,6 +61,9 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
private RolePermissionService rolePermissionService;
@Resource
private IPayWorkingGroupService payWorkingGroupService;
@Resource
private IPayDraftingGroupService payDraftingGroupService;
@Value("${jero.path.upload}")
private String upLoadPath;
@@ -81,13 +86,14 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
if(StringUtils.isBlank(payWorkingGroupDataFile.getProjectId())){
return Result.error("工作组id不能为空!");
}
if(payWorkingGroupDataFile.getProjectType() != PayProjectCommon.PROJECT_TYPE_FILE1
&& payWorkingGroupDataFile.getProjectType() != PayProjectCommon.PROJECT_TYPE_FILE2
&& payWorkingGroupDataFile.getProjectType() != PayProjectCommon.PROJECT_TYPE_FILE3){
if(!Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1)
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE2)
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE3)
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE4)){
return Result.error("项目状态不正确!");
}
if(payWorkingGroupDataFile.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){
if(Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1)){
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupDataFile.getProjectId());
if(Objects.isNull(payWorkingGroup)){
throw new JeroBootException("工作组不存在!");
@@ -99,6 +105,20 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
throw new JeroBootException("数据权限不足!");
}
}
// 起草组验证权限
if(Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE4)){
PayDraftingGroup payDraftingGroup = payDraftingGroupService.getById(payWorkingGroupDataFile.getProjectId());
if(Objects.isNull(payDraftingGroup)){
throw new JeroBootException("起草组不存在!");
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// todo 缺少数据权限
if(!rolePermissionService.getRolePermission("fileMaintenance:search")
&& !Objects.equals(payDraftingGroup.getPrincipalIdA(),sysUser.getId())
&& !Objects.equals(payDraftingGroup.getPrincipalIdB(),sysUser.getId())){
throw new JeroBootException("数据权限不足!");
}
}
if(!StringUtils.isBlank(payWorkingGroupDataFile.getFileName())){
payWorkingGroupDataFile.setFileName(oConvertUtils.replaceAllPercent(payWorkingGroupDataFile.getFileName()));
@@ -122,9 +142,10 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
if(StringUtils.isBlank(payWorkingGroupDataFile.getProjectId())){
return Result.error("项目id不能为空!");
}
if(payWorkingGroupDataFile.getProjectType() != PayProjectCommon.PROJECT_TYPE_FILE1
&& payWorkingGroupDataFile.getProjectType() != PayProjectCommon.PROJECT_TYPE_FILE2
&& payWorkingGroupDataFile.getProjectType() != PayProjectCommon.PROJECT_TYPE_FILE3){
if(!Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1)
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE2)
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE3)
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE4)){
return Result.error("项目状态不正确!");
}
if(StringUtils.isBlank(payWorkingGroupDataFile.getFileIds())){
@@ -184,7 +205,7 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
return Result.error("资料不存在!");
}
if(payWorkingGroupDataFile.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){
if(Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1)){
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupDataFile.getProjectId());
if(Objects.isNull(payWorkingGroup)){
throw new JeroBootException("工作组不存在!");
@@ -196,6 +217,20 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
throw new JeroBootException("数据权限不足!");
}
}
// 起草组验证权限
if(Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE4)){
PayDraftingGroup payDraftingGroup = payDraftingGroupService.getById(payWorkingGroupDataFile.getProjectId());
if(Objects.isNull(payDraftingGroup)){
throw new JeroBootException("起草组不存在!");
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// todo 缺少数据权限
if(!rolePermissionService.getRolePermission("fileMaintenance:search")
&& !Objects.equals(payDraftingGroup.getPrincipalIdA(),sysUser.getId())
&& !Objects.equals(payDraftingGroup.getPrincipalIdB(),sysUser.getId())){
throw new JeroBootException("数据权限不足!");
}
}
payWorkingGroupDataFileService.removeById(id);
return Result.OK("删除成功!");
}
@@ -214,7 +249,6 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
return Result.error("id不能为空!");
}
String[] s = ids.split(",");
StringBuilder msg = new StringBuilder();
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
for (String s1 : s) {
if(StringUtils.isBlank(s1)){
@@ -224,7 +258,7 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
if(Objects.isNull(payWorkingGroupDataFile)){
return Result.error("资料不存在!");
}else{
if(payWorkingGroupDataFile.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){
if(Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1)){
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupDataFile.getProjectId());
if(Objects.isNull(payWorkingGroup)){
throw new JeroBootException("工作组不存在!");
@@ -235,6 +269,19 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
throw new JeroBootException("数据权限不足!");
}
}
// 起草组验证权限
if(Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE4)){
PayDraftingGroup payDraftingGroup = payDraftingGroupService.getById(payWorkingGroupDataFile.getProjectId());
if(Objects.isNull(payDraftingGroup)){
throw new JeroBootException("起草组不存在!");
}
// todo 缺少数据权限
if(!rolePermissionService.getRolePermission("fileMaintenance:search")
&& !Objects.equals(payDraftingGroup.getPrincipalIdA(),sysUser.getId())
&& !Objects.equals(payDraftingGroup.getPrincipalIdB(),sysUser.getId())){
throw new JeroBootException("数据权限不足!");
}
}
}
}
this.payWorkingGroupDataFileService.removeByIds(Arrays.asList(ids.split(",")));
@@ -287,10 +334,11 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
}
if(!Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1)
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE2)
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE3)){
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE3)
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE4)){
throw new JeroBootException("项目状态不正确!");
}
if(payWorkingGroupDataFile.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){
if(Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1)){
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupDataFile.getProjectId());
if(Objects.isNull(payWorkingGroup)){
@@ -302,6 +350,21 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
throw new JeroBootException("数据权限不足!");
}
}
// 起草组验证权限
if(Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE4)){
PayDraftingGroup payDraftingGroup = payDraftingGroupService.getById(payWorkingGroupDataFile.getProjectId());
if(Objects.isNull(payDraftingGroup)){
throw new JeroBootException("起草组不存在!");
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// todo 缺少数据权限
if(!rolePermissionService.getRolePermission("fileMaintenance:search")
&& !Objects.equals(payDraftingGroup.getPrincipalIdA(),sysUser.getId())
&& !Objects.equals(payDraftingGroup.getPrincipalIdB(),sysUser.getId())){
throw new JeroBootException("数据权限不足!");
}
}
if(!StringUtils.isBlank(payWorkingGroupDataFile.getFileName())){
payWorkingGroupDataFile.setFileName(oConvertUtils.replaceAllPercent(payWorkingGroupDataFile.getFileName()));
}
@@ -1,21 +1,21 @@
package com.jero.project.entity;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;
import java.io.Serializable;
/**
* @Description: pay_working_group_data_file
@@ -40,8 +40,8 @@ public class PayWorkingGroupDataFile implements Serializable {
@NotEmpty(message = "工项目id不能为空")
@Size(max = 32,message = "项目id长度不能大于32个字符")
private java.lang.String projectId;
/**项目类型1:工作组,2:分标委*/
@ApiModelProperty(value = "项目类型1:工作组,2:分标委,3:理事会")
/**项目类型1:工作组,2:分标委,3:理事会, 4:起草组*/
@ApiModelProperty(value = "项目类型1:工作组,2:分标委,3:理事会,4:起草组")
@NotEmpty(message = "项目类型1不能为空")
private java.lang.Integer projectType;
/**文件id*/